-
Notifications
You must be signed in to change notification settings - Fork 0
Home
shahprincea edited this page Nov 15, 2014
·
16 revisions
As of today there are many queues which follows AMPQ and STOMP protocol. To name few RabbitMQ, Kafka, ActiveQ etc. However, with each queue there are pro and cons. This project is centered around various use cases and evaluate how RabbitMQ handles them.
- OS : Ubuntu 14.04 on a VM (VMWare fusion)
- CPU : Intel® Core™ i7-4870HQ CPU @ 2.50GHz × 2
- Memory : 3.9 GiB
- OS Type : 64-bit
- Disk : 16.8 GB
- RabbitMQ Server : 3.2.4
- RabbitMQ java Client : 3.4.1
We have 3 node cluster build using above single Node machines.
ref: http://www.rabbitmq.com/clustering.html
- Add the following line to your /etc/apt/sources.list: "deb http://www.rabbitmq.com/debian/ testing main"
- wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
- sudo apt-key add rabbitmq-signing-key-public.asc
- Run apt-get update.
- sudo apt-get install rabbitmq-server
- rabbitmqctl start/stop/status to start/stop/status rabbitmq server
- Install rabbitMQ Management Plugin see https://www.rabbitmq.com/management.html
Note: logs are located at /var/log/rabbitmq directory
ref: http://www.rabbitmq.com/install-debian.html
- Consumers can be added/removed dynamically
- If consumer dies after dequeueing that msg should be re-delivered to other consumer.
- Queue should never take away work from consumer even if consumer takes forever to complete.
- If consumer hangs on msg it should send msg to other consumer
- Queue should never loose msg
- Queue should support Batch operations
- Queue should support various msg sizes (2k, 20K, 200K, 2MB, 20MB)
- Latency between msg produced to consumed (durable and non durable msg) for various msg size
- Queue should not slow down when you have multiple consumers (High Availability)
- Queue should block producers in case of Disk full (or reaching some threshold)
- Queue should be bounded
- Queues should be distributed in cluster
- Thoughts on Disk Node vs RAM Node
- Publisher should be able to reliably publish msg to exchange/queue