2016-06-23 17 views
13

Tôi là người mới bắt đầu đến Redis và Kafka. Redis có thể được sử dụng như pub-sub thời gian thực. Tuy nhiên Kafka cũng là pub-sub thời gian thực. Tôi bối rối cái nào sẽ sử dụng khi nào. Mọi trường hợp sử dụng sẽ là một trợ giúp tuyệt vời! Cảm ơn!Sự khác biệt giữa Redis và kafka

Trả lời

29

Redis pub-sub chủ yếu giống như một đám cháy và quên hệ thống nơi tất cả các tin nhắn bạn sản xuất sẽ được gửi tới tất cả người tiêu dùng cùng một lúc và dữ liệu không được giữ ở đâu. Bạn có giới hạn trong bộ nhớ đối với redis. Ngoài ra số lượng nhà sản xuất và người tiêu dùng có thể ảnh hưởng đến hiệu suất trong Redis.

Mặt khác, Kafka là thông lượng cao, nhật ký được phân phối có thể được sử dụng như một hàng đợi. Ở đây, bất kỳ số lượng người dùng nào cũng có thể sản xuất và người tiêu dùng có thể tiêu thụ bất kỳ lúc nào họ muốn. Nó cũng cung cấp sự kiên trì cho các tin nhắn được gửi qua hàng đợi.

cuối cùng Đưa:

Sử dụng Redis:

  1. Nếu bạn muốn lửa và quên loại hệ thống, nơi mà tất cả các thông điệp mà bạn sản xuất được cung cấp ngay lập tức cho người tiêu dùng.
  2. Nếu tốc độ quan tâm nhất.
  3. Nếu bạn có thể sống với mất dữ liệu.
  4. Nếu bạn không muốn hệ thống giữ tin nhắn đã được gửi.
  5. Lượng dữ liệu sẽ được xử lý không lớn.

Sử dụng Kafka:

  1. Nếu bạn muốn độ tin cậy.
  2. Nếu bạn muốn hệ thống của mình có một bản sao thư đã được gửi ngay cả sau khi sử dụng.
  3. Nếu bạn không thể sống với mất dữ liệu.
  4. Nếu Tốc độ không phải là mối quan tâm lớn.
  5. kích thước dữ liệu rất lớn
Các vấn đề liên quan