Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: adding support for RabbitMQ consistent hash exchange type #127

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

dmitrynovik
Copy link

@dmitrynovik dmitrynovik commented Dec 30, 2024

Why Consistent Hashing?

A RabbitMQ queue is running on at most 1 CPU core, feature of Erlang Beam VM architecture.
To achieve horizontal scalability, it is advised to have multiple queues.

One variant of such topology is declaring a [Consistent Hash Exchange] (https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_consistent_hash_exchange/README.md):

  • one exchange of type x-consistent-hash, multiple N queues, all bound to the same consistent hash exchange;
  • the message is published to one above exchange but then sent exactly once by the RabbitMQ to a queue i in [0 .. N) based on the hashed routing key;
  • The topology preserves message order as FIFO within each message partition [0 .. N)

@CLAassistant
Copy link

CLAassistant commented Dec 30, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
0 out of 2 committers have signed the CLA.

❌ dmitrynovik
❌ dmitrychilli


dmitrynovik seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@dmitrynovik dmitrynovik changed the title Feature: adding support for RabbitMQ consistent has exchange type Feature: adding support for RabbitMQ consistent hash exchange type Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants