![]() ![]() ![]() Messages are ACK'ed by consumers before they are removed from the queue.īottom line: Suited for processing messages that are bulky and some delay is acceptable, i.e.Messages are inserted and removed into the queue with low latency.These two different message broker types have some things in common but also some very important key differences. This makes log-based message brokers a highly scalable and distributed message broker with fault tolerance and replay capabilities. In addition, Kafka scales by distributing chunks of these logs across multiple machines - otherwise known as partitions, where one machine is mapped to one log partition. This is what allows Kafka (and other log-based message brokers) to replay events that might have already have been consumed by another client, or recover to a good state from machine failures. Log-based message brokers will, as the name implies, append entries to a log on disk, meaning they are durable. When we look at something like Apache Kafka, a distributed event stream, it deviates from these traditional message brokers - it is a log-based message broker. In addition, it has no strict ordering guarantees for the messages in the queue. In this sense, traditional message brokers are not like databases since messages are not durably stored. When a message is consumed by a subscriber, the subscriber acknowledges the consumption back to the broker, thereby removing the message from the queue. These message brokers focus on a pub/sub model where publishers write messages to a queue and the queue is consumed by subscribers. Traditional message queues are based off of the JMS / AMQP standard.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |