Kafka vs Other Messaging Systems #pubsub #realtime #kafka #sns運用 #apachekafka #bigdata

Cloudvala
Cloudvala
915 بار بازدید - 2 سال پیش - Kafka vs Other Messaging Systemskafka
Kafka vs Other Messaging Systems
kafka vs active Mq , IBM MQ ,Rabbit MQ , JMS
#activeMQ #ibm
This lesson shows the comparison between Kafka and other popular messaging systems.

We'll cover the following

Apache Kafka
Features
Why Kafka?
ActiveMQ
Features
Why Active MQ?
RabbitMQ
Features
Why RabbitMQ?
Amazon SNS
Features
Why Amazon SNS?
Amazon SQS
Features
Why Amazon SQS?
Google Pub/Sub
Features
Why Google Pub/Sub?


Apache Kafka


Though Apache Kafka was originally designed as a messaging queue, the software quickly grew popular as an event streaming platform and currently handles trillions of events each day. Wherever there is a requirement for message queuing or a message broker system, Kafka is a good option.

Features#
Much like a messaging system or message queuing system, Apache Kafka allows publishing and subscribing to streams of records.

Records streams are stored using a fault-tolerant approach.

It is scalable since it allows decoupling of applications.

It is easily available.

It offers high throughput to manage real-time data transfers

Why Kafka?
The major advantage of using Kafka lies in its ability to parallelize topics using partitions, with the possibility for each partition to be hosted over different machines. Consumers can access topics in parallel. You can also allow multiple consumers to access multiple partitions, making scaling easier. This unique feature significantly increases Kafka’s throughput for processing message queues.

Kafka’s excellent scaling capabilities allow it to handle large workloads. LinkedIn, for example, uses Kafka to manage 300 billion user events every day.

It’s often a preferred choice over other message queues for real-time data pipelines. Overall, it’s a versatile platform that can support many use cases, including data streaming, message broker systems, log aggregator, etc.

ActiveMQ#


Apache ActiveMQ is a popular open source messaging service written in Java. It was originally created in 2004 by LogicBlaze as an open source message broker and later donated to the Apache Software Foundation in 2007.

Like all other message brokers, it serves as a communication platform between multiple applications existing on separate servers or written in different languages. It implements JMS (Java Message Service) and supports several messaging protocols including AMQP and MQTT.


eatures
Multiple connection protocols are supported.

Schedule delayed deliveries, which aren’t available with Kafka.

Database row-level locking techniques, file system and other modes are used for high-availability.

Along with simple authentication and JAAS authentication, ActiveMQ also offers an API for custom authentication plug-ins.

Along with vertical scaling, built-in functionality for horizontal scaling (called Network of Brokers) is also supported.

Offers support for several transport protocols, including STOMP, REST, and OpenWire.


Why Active MQ?
ActiveMQ is a popular messaging service used by distributed systems. Unlike Kafka, which is capable of handling large amounts of data, ActiveMQ is preferably used where small amounts of data are involved.

With ActiveMQ, messages can be sent either as part of a queue or as a topic. With point to point messaging, one or more consumers are connected to the queue, while the broker uses the round robin approach to direct messages to specific consumers. In subscription-based messaging, brokers broadcast messages to all consumers subscribed to the topic.

Compared to Kafka and other services, Active MQ is a good choice for applications where complex message routing is involved. The throughput isn’t high and reduces with increase in the number of concurrent clients and the amount of stored data. However, for many enterprises which don’t have use for big data processing, ActiveMQ is well suited.

RabbitMQ#


RabbitMQ is another widely used open source message broker, employed by several companies worldwide. Written in Erlang, it was originally designed for Advanced Message Queuing Protocol (AMQP), but has been updated to support other protocols, including STOMP and MQTT.

Features
Several messaging techniques are supported, including pub-sub, point-to-point, and request-reply messaging. You can also write your own and use it as a plugin.

Both synchronous and asynchronous modes of communication are available.

Delivery acknowledgments make for a reliable service.

High availability is ensured by replicating queues across multiple nodes of a cluster, making sure messages aren’t lost even in the case of a hardware failure.

Management UI allows user friendly control and monitoring over the message broker’s functions.
2 سال پیش در تاریخ 1401/07/02 منتشر شده است.
915 بـار بازدید شده
... بیشتر