Tôi ngạc nhiên vì thiếu phản hồi về vấn đề này, nhưng tôi hiểu rằng chủ đề này bao gồm một thứ gì đó giống như stackoverflow và một cái gì đó giống như trao đổi ngăn xếp. Tôi cũng ngạc nhiên về việc thiếu tài liệu mà tôi có thể tìm thấy về chủ đề này.
Tôi đã thực hiện một số thử nghiệm rộng rãi trong môi trường dàn dựng và sau đó tiến hành sản xuất của chúng tôi và quy trình tôi làm theo dường như hiệu quả với hầu hết các phần:
-
Nâng cấp từ 3.0.6 lên 5.0.5 trong trường hợp của chúng tôi dường như đang hoạt động mà không gặp trở ngại nào. Như tôi đã nói trong bài đăng gốc, chúng tôi sử dụng những điều cơ bản trong redis và không có nhiều thay đổi từ quan điểm của khách hàng.
-
Tôi đã tiếp tục nâng cấp theo thứ tự sau:
- Hai đối thủ của lính canh đầu tiên và sau đó là lính canh hiện có trong
leader
trạng thái. - Mỗi nút redis được liệt kê dưới dạng
slaves
(bây giờ được gọi làreplicas
).- Sau khi mỗi nút được nâng cấp, nó sẽ muốn sao chép
dump.rdb
của nó từ bậc thầy - Quá trình đồng bộ hóa có thể được thực hiện đối với nút 5 từ nút 3, nhưng khi nút 5 là nút chính, thì nút 3 không thể đồng bộ hóa, vì vậy khi bạn không thực hiện được với nút đã nâng cấp, bạn không thể quay lại sang phiên bản trước đó.
- Sau khi mỗi nút được nâng cấp, nó sẽ muốn sao chép
- Cuối cùng, sử dụng các vệ tinh để chuyển đổi dự phòng sang một nút được nâng cấp làm nút chính và nâng cấp nút chính cũ
- Hai đối thủ của lính canh đầu tiên và sau đó là lính canh hiện có trong
Hy vọng rằng ai đó có thể thấy điều này hữu ích trong tương lai.