1
votes

Using RAFT distributed consensus algorithm one call build a distributed message broker. The broker will also have the additional feature of supporting in-order delivery of messages to subscribers. The messages belonging to a topic will be delivered (or pulled from subscribers, in case of a pull model) in the order they were received by the broker.

One of the use-cases for a message broker with these feature is a Job queue, as it would require that jobs are never lost (persistant) and are completed in the order they arrive.

What are the other use-cases for such a message broker? can you please provide examples

1

1 Answers

0
votes

Any stream of events that need to be processed in order. In other words, anything that needs a transaction log. Some example:

  • a database
  • a database shard, such as for a NoSQL database or other key value store.
  • an audit log
  • a lock manager, such as Chubby
  • any event sourcing system.
  • a transaction processor, such as LMAX