ramank775/chat-server

Alternate message broker to Kafka

Closed this issue · 1 comments

Experiment with different message brokers other than Kafka like Redis, KafkaMQ etc.

Primary reason for looking for the different options for message brokers are:

  • Most of the message processing in the system are real-time in nature, which doesn't required any persistence once consumed.
  • Current version of the Kafka is difficult to manage and setup for both Production as well as development setup.

Checklist for a potential message broker

  • Ability to scale horizontally.
  • Message delivery guarantee should be atleast once, better if exactly once.
  • Real time messaging.
  • Should support multiple subscription to a single topic/queue.
  • Should support consumer group conceptually.
  • Strong ordering of messages at group level for a topic.
  • Easy to setup and operate (Nice to have).
  • High throughput.

Nats is a good candidate

  • Support persistence in-memory as well as file JetStream
  • Zero configuration setup
  • Cloud native