Redis vs Zookeeper


25

Có vẻ ngớ ngẩn khi so sánh hai máy chủ này vì cho rằng chúng có ý nghĩa cho những thứ rất khác nhau. Nhưng nếu bạn nghĩ về nó, họ có thể làm nhiều việc tương tự: lưu trữ dữ liệu cấu hình, khóa phân tán, xếp hàng, v.v.

Tôi đã có một ví dụ về Redis mà tôi đang sử dụng cho một số thứ liên quan đến sản xuất, nhưng muốn thực hiện một số đồng bộ hóa đơn giản giữa các máy chủ (chủ yếu là thay đổi cấu hình không yêu cầu đẩy mã và khóa đơn giản giữa các máy chủ). Không gì Zookeeper cho tôi rằng Redis sẽ không?


Redis không (cụ thể) cho cấu hình. Chúng là những sản phẩm khá khác nhau.
Rein Henrichs

4
Tại sao? Chúng tôi đang sử dụng PostgreSQL để cấu hình. Điều gì làm cho cấu hình rất khác với logic kinh doanh?
Dmitry Negoda

Câu trả lời:


26

Chúng tôi sử dụng cả Redis và Zookeeper tại nơi làm việc vì vậy đây là kinh nghiệm đầu tay

Redis là nhanh chóng; thực sự, rất nhanh Nó cũng ngay lập tức phù hợp, vì vậy nó tốt cho các tập dữ liệu di chuyển nhanh. Nhược điểm là, chạy trên một máy chủ, nếu nó bị lỗi thì bạn sẽ mất quyền truy cập ghi cho đến khi máy chủ khác diễn ra. Thay thế máy chủ là một thao tác thủ công trừ khi bạn tự động hóa nó. (Bạn vẫn có thể có quyền truy cập đọc vào dữ liệu của mình nếu bạn định cấu hình phiên bản nô lệ).

Zookeeper cũng có tính nhất quán ngay lập tức. Nó không nhanh bằng một nửa, nhưng nó sẽ tự động phục hồi (nếu có thể) khi gặp sự cố, vì vậy nếu bạn cần truy cập ghi liên tục, ngay cả khi máy chủ của bạn bị lỗi thì bạn sẽ muốn sử dụng Zookeeper.

Lời khuyên của tôi là, hãy sử dụng người quản lý vườn thú để phối hợp: theo dõi các nút nào đang hoạt động, bầu chọn lãnh đạo giữa một nhóm, v.v. Sử dụng redis cho các bộ dữ liệu cần ghi nhanh nhưng trong trường hợp mất điện thường xuyên không phải là thảm họa. Lượt truy cập cho các trang web chẳng hạn.


Tôi hiện đang làm việc trên một dự án và đã nghĩ rằng người quản lý vườn thú sẽ là con đường để đi. Nếu bạn có thêm thông tin mà bạn có thể chia sẻ ở đâu đó sẽ rất tuyệt vời. Chúng tôi đang xử lý nhiều trao đổi quảng cáo và theo dõi khoảng 4 tỷ + sự kiện mỗi ngày. Chúng tôi đang tìm cách thiết kế lại các máy chủ đầu cuối của chúng tôi và đang xem xét người quản lý vườn thú để lưu trữ thông tin về số lượng theo dõi, trọng số tối thiểu, v.v. Tôi có thể chứng thực về tốc độ của redis nhưng kinh nghiệm của tôi nó thiếu cấu trúc phân cấp mà chúng tôi đang tìm cách sử dụng với người quản lý vườn thú. Lập trường của bạn đã thay đổi trong 3 năm kể từ năm 2012?
Chris Hinshaw

@ChrisHinshaw Tôi đang đối mặt với cùng một vấn đề. Xem xét cả Redis và Zookeeper cho một người quản lý tài nguyên phân tán, đòi hỏi cả khóa phân tán và độ hoàn hảo. Bạn có bất cứ phản hồi?
Rafael Saraiva

Tôi đang hoàn thành một bản viết lại của điều này bây giờ. Tôi đã đi với redis do tốc độ. Có một số vấn đề về hiệu suất với người quản lý vườn thú nhưng tôi không nhớ lại các vấn đề. Chúng tôi đang lưu trữ dữ liệu thời gian dựa trên số liệu và số lượng. Tôi đang sử dụng tập lệnh lua để cập nhật số lượng cho từng khoảng thời gian để giới hạn số lượng cuộc gọi. Một ví dụ là chúng tôi có khóa băm cho các yêu cầu giá thầu ở dạng br: 1: 2: 3: 4 trong đó các số biểu thị một hệ thống phân cấp của hệ mét: cơ quan: nhà quảng cáo: chiến dịch: quảng cáo. Trong hàm băm, các giá trị là năm: tháng: ngày: giờ: phút. Trong kịch bản lua của tôi, tôi sẽ cập nhật số đếm cho từng
Chris Hinshaw

của các lát cắt thời gian. Vì vậy, tập lệnh của tôi phân tách y: m: d: h bằng dấu hai chấm và cập nhật tổng số cho mỗi lát. Bằng cách này, tôi có thể sử dụng một hscan hoặc tìm nạp danh sách các khóa cho bất kỳ khoảng thời gian nào. Điều quan trọng nhất trong redis là đưa ra một mô hình chữ tượng hình cho các phím. Tại một thời điểm nào đó trong tương lai, tôi muốn chuyển tất cả những thứ này để châm ngòi cho một cửa hàng cassandra. Nếu tôi có thời gian, tôi sẽ thực hiện truyền phát tia lửa đến điểm chuẩn đó. Tôi nghĩ rằng nó sẽ ngang bằng với redis và mang lại sự linh hoạt khi thực hiện phân tích.
Chris Hinshaw
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.