IBM MQ
IBM MQ được ra mắt vào năm 1993. Ban đầu nó được gọi là MQSeries và được đổi tên thành WebSphere MQ vào năm 2002. Nó được đổi tên thành IBM MQ vào năm 2014. IBM MQ là một sản phẩm rất thành công, được sử dụng rộng rãi trong ngành tài chính. Doanh thu của nó vẫn đạt 1 tỷ đô la vào năm 2020.
RabbitMQ
Kiến trúc của RabbitMQ khác với IBM MQ và giống hơn với các khái niệm của Kafka. Người sản xuất công bố một thông điệp tới một trạm trao đổi với một loại trạm trao đổi được xác định. Nó có thể là direct, topic, hoặc fanout. Sau đó, trạm trao đổi định tuyến thông điệp vào các hàng đợi dựa trên các thuộc tính thông điệp khác nhau và loại trạm trao đổi. Người tiêu dùng nhận thông điệp một cách tương ứng.
Kafka
Đầu năm 2011, LinkedIn mở nguồn Kafka, đó là một nền tảng luồng sự kiện phân tán. Nó được đặt tên theo Franz Kafka. Như tên gọi đã gợi ý, Kafka được tối ưu hóa cho việc ghi. Nó cung cấp một nền tảng có hiệu suất cao, độ trễ thấp để xử lý các nguồn dữ liệu thời gian thực. Nó cung cấp một nhật ký sự kiện thống nhất để kích hoạt luồng sự kiện và được sử dụng rộng rãi trong các công ty internet.
Kafka định nghĩa producer, broker, topic, partition, và consumer. Sự đơn giản và khả năng chịu lỗi của nó cho phép nó thay thế các sản phẩm trước đó như hàng đợi tin nhắn dựa trên AMQP.
Pulsar
Pulsar, được phát triển ban đầu bởi Yahoo, là một nền tảng tin nhắn và streaming tất cả trong một. So với Kafka, Pulsar kết hợp nhiều tính năng hữu ích từ các sản phẩm khác và hỗ trợ một loạt các khả năng. Ngoài ra, kiến trúc của Pulsar là native đối với cloud, cung cấp sự hỗ trợ tốt hơn cho việc mở rộng cụm và di chuyển partition, v.v.
Có hai lớp trong kiến trúc Pulsar: lớp phục vụ và lớp lưu trữ. Pulsar hỗ trợ tự nhiên cho lưu trữ phân tầng, nơi chúng ta có thể tận dụng lưu trữ đối tượng rẻ hơn như AWS S3 để lưu trữ thông điệp trong một thời gian dài.
Quay lại với bạn: bạn đã sử dụng hàng đợi tin nhắn nào?