Kết nối Redis Sentinel để giảm thiểu rủi ro
Bizfly Cloud Database là dịch vụ cung cấp dịch vụ cơ sở dữ liệu trên nền tảng điện toán đám mây giúp người dùng, doanh nghiệp triển khai một giải pháp quản trị dữ liệu hiệu quả, đảm bảo khả năng khôi phục toàn vẹn dữ liệu trong các tình huống sự cố thảm họa. Đồng thời thực hiện giám sát thông tin liên quan đến hệ quan trị cơ sở dữ liệu của người dùng, tự động điều chỉnh khả năng lưu trữ dữ liệu theo nhu cầu sử dụng tài nguyên của hệ quản trị cơ sở dữ liệu.
Bizfly Cloud Database là dịch vụ miễn phí cung cấp bởi Bizfly Cloud trong thời gian Beta và dùng thử. Các nội dung liên quan đến chi phí sử dụng chỉ mang tính chất tham khảo.
Redis Sentinel là một thành phần của Redis, hệ thống cơ sở dữ liệu key-value in-memory. Redis Sentinel cung cấp khả năng quản lý, giám sát và tự động chuyển đổi (failover) cho các cụm Redis. Redis Sentinel đóng vai trò quan trọng trong việc xây dựng hệ thống Redis phân tán có tính sẵn sàng cao, giúp đảm bảo rằng cụm Redis vẫn hoạt động một cách liên tục và đáng tin cậy, ngay cả trong trường hợp các sự cố xảy ra với các máy chủ Redis. Hiện tại dịch vụ Cloud Database của Bizfly Cloud đã cũng cấp thành phần Redis Sentinel khi khách hàng thực hiện tạo database Redis qua port 26379 giúp cho việc triển khai các mô hình database được dễ dàng hơn.
Hướng dẫn kết nối
Trước tiên, cần dựng Database redis trên dashboard thông qua hướng dẫn tạo database tại đây. Khi đã có sẵn database Redis, có thể tiến hành tạo Secondary Node. Truy cập vào giao diện quản database instance của redis.
Chọn tab Nodes sau đó chọn Tạo Secondary Node.
Nhập tên của node mới sau đó chọn cập nhật
Hướng dẫn kiểm tra
Kiểm tra kết quả bằng cách thực hiện kết nối với redis thông qua sentinel bằng cli tool
redis-cli -h <IP_Public_Primarynode> -p 26379
auth <password>
info sentinel
Có thể test thêm về thành phần Sentinel qua tính năng failover qua đoạn code sau
import redis
user_connection = redis.Redis(
host=Redis_host,
port=26379,
password=password,
decode_responses=True)
redis_connect = user_connection.ping
print(redis_connect)
Kết quả trả về
True
Sau khi tắt primary node, secondary node được đẩy lên làm primary node và việc connect vẫn không bị gián đoạn
Kết quả code trả về
True