deps/rabbitmq_consistent_hash_exchange/examples/ruby/README.md
This directory contains runnable Ruby examples for the RabbitMQ Consistent Hash Exchange plugin. They are the same examples as in the plugin's README file.
The examples assume a RabbitMQ node with the rabbitmq_consistent_hash_exchange plugin
enabled is running on localhost and that default user credentials and virtual host
were not deleted.
bundle install
This example uses four queues: q1 through q4. The first two of them are bound to a consistent hashing
exchange with a weight of 1, while the last two of them use a weight of 2. This means
that q3 and q4 will get roughly twice as many published messages routed to them
compared to either q1 or q2.
# hashing on the routing key
bundle exec ruby ./example1.rb
# hashing on a custom header
bundle exec ruby ./example2.rb
# hashing on a message property
bundle exec ruby ./example3.rb
To list bindings to the exchange and their weights, use
rabbitmqctl list_bindings | grep chx
To list queues and the number of ready messages in them:
rabbitmqctl list_queues name messages_ready