Kết nối Redis bằng Sentinel

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.

Untitled

Chọn tab Nodes sau đó chọn Tạo Secondary Node.

Untitled

Nhập tên của node mới sau đó chọn cập nhật

Untitled

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

Untitled

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

Untitled

Kết quả code trả về

True