Kafka và JMS đều là hệ thống nhắn tin. Dịch vụ tin nhắn Java là một api được cung cấp bởi Java. Nó được sử dụng để triển khai hệ thống nhắn tin trong ứng dụng của bạn. JMS hỗ trợ hệ thống nhắn tin hàng đợi và nhà xuất bản / người đăng ký (chủ đề). Với hàng đợi, khi người tiêu dùng đầu tiên sử dụng một tin nhắn, tin nhắn sẽ bị xóa khỏi hàng đợi và những người khác không thể lấy nó nữa. Với các chủ đề, nhiều người tiêu dùng nhận được mỗi tin nhắn nhưng khó mở rộng quy mô hơn nhiều.
Kafka là sự tổng hòa của hai khái niệm này - nó cho phép mở rộng quy mô giữa các thành viên của cùng một nhóm người tiêu dùng, nhưng nó cũng cho phép phát cùng một thông điệp giữa nhiều nhóm người tiêu dùng khác nhau. Kafka cũng cung cấp khả năng tái cân bằng tự động khi người tiêu dùng mới tham gia hoặc rời khỏi nhóm người tiêu dùng.
Sr. Không. | Phím | Apache Kafka | JMS |
---|---|---|---|
1 | Cơ bản | Apache Kafka là một hệ thống nhắn tin đăng ký xuất bản phân tán nhận dữ liệu từ các hệ thống nguồn khác nhau và cung cấp dữ liệu cho các hệ thống đích trong thời gian thực. | Dịch vụ tin nhắn Java là một api được cung cấp bởi Java. Nó được sử dụng để triển khai hệ thống nhắn tin trong ứng dụng của bạn. |
2 | Cơ chế Kéo / Đẩy | Nó sử dụng cơ chế kéo, khách hàng cần thăm dò ý kiến cho tin nhắn mọi lúc | Nó sử dụng mô hình dựa trên đẩy, thông điệp có thể được truyền đến tất cả người tiêu dùng |
3 | Chính sách Lưu giữ Thư | Nó dựa trên chính sách | Dựa trên xác nhận |
4. | Cân bằng lại Tự động | Nó cung cấp tính năng tự động làm mờ khi người tiêu dùng mới thêm hoặc xóa khỏi nhóm người tiêu dùng | Nó không cung cấp tính năng tự động đồng bộ hóa |
5 | Thứ tự Tin nhắn | Kafka đảm bảo rằng các tin nhắn được nhận theo thứ tự mà chúng được gửi ở cấp độ phân vùng | JMS không hỗ trợ tin nhắn đặt hàng. |