Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Các thực tiễn tốt nhất để cấu hình cụm redis là gì


Các thực tiễn tốt nhất để cấu hình cụm redis là gì


Redis Cluster là một giải pháp phổ biến để mở rộng triển khai Redis để đạt được tính khả dụng cao hơn, khả năng chịu lỗi và phân chia dữ liệu trên nhiều nút. Cấu hình thích hợp của Cụm Redis bao gồm một số thực tiễn tốt nhất để đảm bảo hiệu suất, độ tin cậy và khả năng quản lý tối ưu.

Cấu hình kiến ​​trúc và cấu hình nút

Redis Cluster yêu cầu ít nhất ba nút chính để hoạt động đáng tin cậy. Lý tưởng nhất, một cụm sản xuất phải chứa tối thiểu sáu nút, với mỗi chủ nhân có một hoặc nhiều bản sao. Thiết lập này đảm bảo tính khả dụng cao, cho phép chuyển đổi dự phòng tự động trong trường hợp bất kỳ nút chính nào không thành công. Mỗi nút chạy ở chế độ cụm và phải bật các cấu hình cụ thể, bao gồm:

- `Cụm hỗ trợ Có` để bật chế độ cụm trên mỗi phiên bản REDIS.
-`cụm-config-file` Chỉ định tệp nơi lưu trạng thái nút cụm được lưu (ví dụ:` nút.conf`).
-`-TIMET-TIMEOUT` Xác định thời gian tối đa mà nút có thể không thể truy cập được trước khi được coi là không thành công (thường được đặt thành 5000 đến 15000 mili giây).

`File-file` cụm được quản lý tự động và không được chỉnh sửa thủ công, vì nó duy trì thông tin trạng thái quan trọng như ID nút, ánh xạ và quyền sở hữu khe. Mỗi nút tự gán một ID nút duy nhất khi khởi động, tồn tại trong suốt cuộc đời ngay cả khi IP hoặc cổng thay đổi.

Thiết lập phần cứng và mạng

Các nút nên được triển khai trên các máy vật lý hoặc ảo riêng biệt để tránh các điểm thất bại. Kết nối mạng giữa các nút phải cho phép cả hai cổng giao tiếp máy khách (thường là TCP 6379 hoặc cổng dịch vụ đang sử dụng) và cổng bus cụm (cổng thứ hai thường là cổng dịch vụ TCP + 10000, ví dụ: 16379) để giao tiếp với giao tiếp Internode.

Cấu hình cẩn thận các giao diện mạng và tường lửa để cho phép lưu lượng truy cập này giữa các nút và tùy chọn giữa các máy khách và các nút cụm. Đặt lệnh `BINDITI đến các IP riêng tư cụ thể thay vì liên kết với tất cả các giao diện tăng cường bảo mật.

Độ bền và độ bền của dữ liệu

Kích hoạt các cơ chế tồn tại như ảnh chụp nhanh RDB hoặc AOF (chỉ nối tệp) tùy thuộc vào độ bền dữ liệu cần thiết và đánh đổi hiệu suất. AOF cung cấp độ bền tốt hơn bằng cách đăng nhập mọi hoạt động ghi nhưng có thể thêm độ trễ và chi phí IO. Kết hợp các ảnh chụp nhanh RDB với AOF có thể giúp cân bằng hiệu suất và độ bền.

Chỉ thị `` appendonly có cho phép chế độ AOF. Các cài đặt này nên được điều chỉnh cẩn thận theo các mẫu khối lượng công việc và cửa sổ mất dữ liệu có thể chấp nhận được.

Chính sách quản lý và trục xuất bộ nhớ

Định cấu hình cài đặt `maxmemory` để đảm bảo redis phù hợp với bộ nhớ có sẵn trên nút. Chọn một chính sách trục xuất thích hợp bằng cách sử dụng `MaxMemory-Policy`, chẳng hạn như` AllKeys-lru` để sử dụng thuật toán được sử dụng gần đây nhất trên tất cả các khóa khi đạt được giới hạn bộ nhớ. Giám sát nhất quán việc sử dụng bộ nhớ và tỷ lệ HIT/Miss là rất quan trọng.

Redis Cluster thực hiện tốt nhất khi bộ dữ liệu phù hợp với bộ nhớ hoàn toàn trên mỗi nút. Tránh hoán đổi quá mức hoặc quá mức bộ nhớ.

Quản lý khe và phân phối dữ liệu

Cụm chia không gian phím thành 16.384 khe băm được phân phối trên tất cả các nút chính. Khi tạo cụm, đảm bảo tất cả các khe được bao phủ bởi một nút chính. Khách hàng phải nhận biết cụm để định tuyến các truy vấn đến nút chính xác dựa trên tính toán khe hàm băm.

Tránh các hoạt động liên quan đến nhiều khóa được ánh xạ tới các vị trí khác nhau, vì chúng yêu cầu các lệnh chéo bị hạn chế hoặc kém hiệu quả.

Sử dụng các công cụ như `redis-cli-clusster tạo` cho các cụm bootstrap với phân bổ khe cắm thích hợp và gán bản sao tự động.

Cấu hình máy khách để nhận thức cụm

Định cấu hình thư viện máy khách để xử lý các thay đổi cấu trúc liên kết cụm Redis một cách duyên dáng. Nhiều thư viện máy khách cung cấp hỗ trợ cụm, bao gồm khám phá tự động và cấu hình lại các nút cụm khi chúng bị lỗi hoặc cải tổ các khe cắm. Điều này ngăn ngừa lỗi của khách hàng và cải thiện độ tin cậy trong quá trình thất bại nút hoặc hoạt động tỷ lệ.

Khách hàng nên được cấu hình để thử lại trên di chuyển hoặc yêu cầu chuyển hướng và duy trì các chế độ xem cập nhật của trạng thái cụm.

Cân nhắc bảo mật

Các nút cụm bảo mật bằng cách bật xác thực mật khẩu ('Chỉ thị abiliPass`), giới hạn quyền truy cập mạng thông qua các quy tắc tường lửa và hạn chế các giao diện bị hiển thị thông qua cấu hình `BIND`. Sử dụng mã hóa TLS nếu có thể để bảo vệ dữ liệu trong quá trình vận chuyển.

Vô hiệu hóa chế độ được bảo vệ khi chạy redis ở chế độ cụm nhưng đảm bảo cấu hình mạng cô lập cụm từ các máy khách không tin cậy.

Giám sát và bảo trì

Thực hiện theo dõi toàn diện về sức khỏe của cụm, bao gồm tính khả dụng của nút, độ trễ, sử dụng bộ nhớ, độ trễ sao chép và thay đổi trạng thái cụm. Các công cụ như Redis Sentinel, nền tảng giám sát của bên thứ ba hoặc các giải pháp nhà cung cấp đám mây phải là một phần của chiến lược hoạt động.

Thường xuyên kiểm tra các cơ chế chuyển đổi dự phòng và thực hiện khởi động lại nút được kiểm soát hoặc các bài tập mở rộng để xác minh khả năng phục hồi của cụm.

Điều chỉnh hiệu suất

Điều chỉnh Redis và cấu hình cụm dựa trên các chi tiết về khối lượng công việc:

- Giảm thiểu các lệnh chặn và sử dụng các tập lệnh đường ống hoặc LUA để tối ưu hóa thông lượng.
-Điều chỉnh `Cụm nút thời gian` theo các đặc điểm độ trễ của mạng để tránh thất bại sai.
- Sử dụng phép băm nhất quán và đặt tên khóa thông minh để tối ưu hóa các phân phối khe.
- Tránh các khóa hoặc giá trị lớn và xem xét việc phá vỡ các vật thể lớn thành các khối nhỏ hơn.
- Sử dụng các cơ chế gốc của Redis Cluster để mở rộng theo chiều ngang bằng cách thêm hoặc loại bỏ các nút và cân bằng lại các khe.

Sao lưu và phục hồi

Thiết kế chiến lược sao lưu phù hợp với thiết lập cụm. Sử dụng ảnh chụp nhanh RDB định kỳ từ các nút chính hoặc bản sao và lưu trữ các bản sao lưu bên ngoài. Tránh khôi phục các bản sao lưu trực tiếp trên một cụm trực tiếp mà không có khe cắm đúng và đồng bộ hóa trạng thái nút.

Để phục hồi, các quy trình sử dụng được REDIS đề xuất để xây dựng lại các cụm từ các cấu hình và bản sao lưu đã lưu.

Bản tóm tắt

Thực tiễn tốt nhất cho cấu hình cụm Redis:

- Thiết lập ít nhất ba nút chính với bản sao cho chuyển đổi dự phòng.
-Đảm bảo các chỉ thị cấu hình liên quan đến cụm thích hợp (`cụm hỗ trợ ',` cluster-config-file`, `cluster-node-intorout`).
- Triển khai các nút trên phần cứng phù hợp với cài đặt mạng chính xác cho giao tiếp xe buýt của máy khách và cụm.
- Cho phép các chính sách truyền động và điều chỉnh bộ nhớ và điều chỉnh để phù hợp với nhu cầu khối lượng công việc.
- Quản lý các vị trí băm hiệu quả và đảm bảo khách hàng nhận thức được cụm.
- Đảm bảo cụm với xác thực và điều khiển mạng.
- Giám sát sức khỏe và hiệu suất của cụm thường xuyên.
- Lập kế hoạch cho các hoạt động sao lưu, phục hồi và mở rộng một cách cẩn thận.

Áp dụng các thực tiễn tốt nhất này đảm bảo môi trường Redis Cluster mạnh mẽ, có thể mở rộng và có sẵn phù hợp cho khối lượng công việc sản xuất. Các chủ đề trên bao gồm các cân nhắc về hoạt động, kiến ​​trúc và bảo mật thiết yếu cho việc triển khai cụm Redis.