Sentinel Là Gì

     
Mở đầu

Hôm nay bạn muốn giới thiệu đến các bạn một ứng dụng khá là hay, hay được thiết lập cùng với cụm Redis Replicaiton để bổ sung cập nhật khả năng Fail-over giỏi tăng năng lực High Availability cho Redis. Nếu chúng ta đã từng thử setup 1 các Redis Replication tiêu chuẩn với 1 node Master với tác dụng đọc ghi cùng 2 node Slave để backup tài liệu thì vững chắc các các bạn sẽ không còn kỳ lạ gì với tự Sentinel. Sentinel được thiết đặt và cấu hình vô thuộc dễ dàng, cùng với chính là cách vận động rất dễ dàng hiểu. Họ cũng ban đầu tìm gọi nhé.

Bạn đang xem: Sentinel là gì

*

Redis Sentinel là loại gì?

Redis Sentinel sử dụng để giám sát các node trong cụm Redis, ví dụ như hình trên, những node bao gồm service redis-sentinel sẽ thống kê giám sát các node Master và Slave trong các Replication, tiếp đến sẽ đánh dấu log các hoạt động như restart, stop, start của service redis-server.

Nghe dường như hay đấy, vậy lưu lại để có tác dụng gì? Việc đánh dấu log này sẽ giao hàng cho bài toán Fail-over (Chuyển đổi dự phòng). Nếu như trước đó đây chúng ta chỉ cài bỏ trên cụm replication thì khi node Master có vấn đề (down) thì các bạn sẽ phải login vào server, tự khắc phục bằng tay bằng tay bằng phương pháp nâng 1 bé slave ngẫu nhiên lên có tác dụng Master . Tuy vậy khi sử dụng Sentinel thì service này để giúp bạn auto hóa việc này.

Sau 1 khoảng thời gian nhất định khi Sentinel ko thể liên kết với Master node bằng phương pháp gửi command PING đi mà không nhận được về PONG thì sẽ khắc ghi Node này đã biết thành down. Tiếp theo sau để đảm bảo tính chính xác, node này đang hỏi các node Sentinel khác rằng "ê mày có thấy thằng Master này down không?" . Nếu một số ít node khăng khăng cùng gật đầu đồng ý rằng thằng Master này down (số node bắt buộc được khẳng định bằng thông số quorum vào config với cách làm số node sentinel/2 + 1 tương đương hơn 1 nửa) thì các node Sentinel sẽ thuộc nhau thai ra 1 Master mới. Còn trường hợp số node không đủ như yêu mong thì quá trình bầu ra Master mới sẽ bị hoãn.

Oke giờ họ sẽ cùng tìm ra 1 node Slave phù hợp để biến đổi nó thành Master. Vậy trong số node Slave còn lại, node nào sẽ tiến hành chọn làm Master? dựa trên các tiêu chí nào? Khá đơn giản, việc chọn ra master tiếp sau dựa trên thông số slave-priority được cấu hình trong tệp tin config /etc/redis/redis.conf, nếu thông số không được thông số kỹ thuật thì Sentinel sẽ tự gene ra ID bất kỳ và node nào gồm ID phải chăng hơn sẽ được chọn làm cho Master.

Cài đặt và cấu hình

Cài đặt

apt install redis-sentinel -y (Ubuntu với Debian)yum install redis-sentinel -y (CentOS)

Cấu hình

Cấu hình Sentinel thì cũng rất đơn giản, sau đây là thông số kỹ thuật mẫu của mình:

daemonize yespidfile "/var/run/redis/redis-sentinel.pid"logfile "/var/log/redis/redis-sentinel.log"bind 0.0.0.0port 26379dir "/var/lib/redis"sentinel monitor mymaster 10.5.9.198 6379 2sentinel down-after-milliseconds mymaster 3000sentinel failover-timeout mymaster 10000sentinel auth-pass mymaster passwordmaxclients 4064sentinel current-epoch 1Giải mê say các thông số kỹ thuật chính:

bind: Địa chỉ mà bạn có nhu cầu Sentinel lắng nghe (ở đây 0.0.0.0 tức là chúng ta có thể truy cập từ những IP)port: port mà lại Sentinel hoạt độngsentinel monitor: Khai báo địa chỉ node master cần thống kê giám sát (các thông số kỹ thuật lần lượt là )sentinel down-after-milliseconds: Khai báo thời gian mà Sentinel sẽ xác minh node Master đang down (ở đây sau khi 3s không liên kết được Master thì Sentinel sẽ nhận định rằng node này đã down).

Xem thêm: Sự Khác Nhau Giữa Margin Và Padding Css Là Gì, Hướng Dẫn Và Ví Dụ Css Padding

sentinel failover-timeout: thời gian sẽ hủy quy trình fail-over nếu chưa thành công.sentinel auth-pass: giả dụ Node Master bạn có password thì thêm config này để có thể truy cập được, không tồn tại pass thì quăng quật dòng này.Thử nghiệm

Sau khi đã cấu hình xong, Sentinel sẽ liên kết đến Master Node lấy các thông tin về Slave Node và Sentinel Node để giám sát. Cùng rất đó các node Sentinel cũng trở thành giám sát chéo cánh nhau.

Thử stop node Master, trên các node Sentinel sử dụng câu lệnh tail -f /var/log/redis/redis-sentinel.log nhằm xem quá trình fail-over.

*

Đầu tiên Sentinel xác minh node master sẽ down nên khởi sản xuất vote-for-leaderXác định số node sentinel quan trọng để vote master 3 > 2 (thỏa mãn)Cập nhật lại cấu hình, tiến hành biến hóa Master switch-master quý phái node 10.5.9.126Cập nhật các Slave new cho node Master với Master cho những node Slave. Chấm dứt quá trình fail-over.

Xem thêm: Ý Nghĩa Của Equity Capital Là Gì ? Đây Là Một Thuật Ngữ Kinh Tế Tài Chính

Ngoài ra, redis sentinel còn có công dụng giám sát những master thuộc lúc bằng phương pháp sử dụng command sentinel monitor

Kết

Sentinel là 1 cộng cố kỉnh giúp đơn giản mà vô cùng hiệu quả trong việc tiến hành Fail-over, bằng cách kết thích hợp thêm HAProxy + KeepAlived nhưng mà mình gợi ý ở bài trước thì bạn có thể tạo ra 1 các Redis có độ bền, kỹ năng chịu lỗi cao.

Chúc chúng ta thử nghiệm thành công!

*

Tham khảo

https://redis.io/topics/sentinel

https://www.fatalerrors.org/a/redis-sentry-mode.html

https://www.fatalerrors.org/a/redis-s-master-slave-architecture-sentry-mode.html