Tìm hiểu redis và cài đặt redis-cluster

Bỗng dưng một ngày tôi nhận được 1 task cài đặt redis cầu hình master-slave.
Vì thế tôi đã chọn redis là chủ đề cho bài viết đầu tiên của tôi trên blog cùi mía này!
Dành cho ai chưa biết đến redis hoặc đã biết redis rồi thì tôi xin giới thiệu một cách ngắn gọn “Redis là gì”? thì trên chính trang chủ của redis cũng đã nói:

The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.

Redis là một công cụ hữu dụng giúp lập trình viên quản lý cache, database, ngoài ra cũng có tính năng pub/sub messsage broker giúp lắng nghe hoặc phát đi các sự kiện một cách nhanh chóng.
Redis sẽ có 2 loại triển khai mà tôi muốn đề cập ở bài viết này là Redis sentinelRedis cluster

Vậy chúng là gì? Cái này tôi copy từ chatGPT cho nhanh, vì nó khá cơ bản.

  • Redis Sentinel: Redis Sentinel là một tiện ích giám sát và quản lý tự động cho các cụm Redis. Nó có thể giúp bạn xây dựng cấu hình sao chép và failover tự động cho các máy chủ Redis, bao gồm cả master-master. Sentinel cho phép bạn cấu hình nhiều master và quản lý quá trình failover tự động.
  • Redis Cluster: Redis Cluster là một giải pháp phân tán chính thức từ Redis để quản lý nhiều máy chủ Redis. Nó cho phép bạn tạo cụm Redis với nhiều master và tự động chia dữ liệu và giao dịch giữa các master. Cluster giúp bạn có một cách quản lý phân tán và có tính sẵn sàng cao.

Lựa chọn giữa Redis Sentinel và Redis Cluster:

  • Redis Sentinel thích hợp cho các trường hợp sử dụng đơn giản, hoặc khi bạn cần quản lý một cụm master-slave và cần tính sẵn sàng cao và failover tự động.
  • Redis Cluster phù hợp cho các ứng dụng phân tán lớn hơn, khi bạn cần khả năng mở rộng dễ dàng và hiệu năng cao. Redis Cluster có khả năng chia dữ liệu trên nhiều master và giải quyết các vấn đề về mở rộng.

Cơ bản là thế thôi, giờ tôi đi vào phần chính là cài đặt redis-cluster

Tôi sẽ có 3 server ubuntu:

  • 192.168.0.113
  • 192.168.0.114
  • 192.168.0.115

Bước đầu tiên cài đặt redis

sudo apt update
sudo apt install redis-server

Sau đó thực hiện chỉnh sửa file /etc/redis/redis.conf:


cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000

Restart lại redis

service redis restart

Trên bất kì node nào trong 3 node trên, bạn cần chạy lệnh

redis-cli --cluster create 192.168.0.113:6379 192.168.0.114:6379 192.168.0.115:6379 --cluster-replicas 0

–cluster-replicas 0 : nghĩa là 3 node đều là master
Chạy lệnh để kiểm tra cluster đã work:

 redis-cli cluster nodes

Một dev quèn kiếm tiền nuôi gia đình