There are 2 kinds of messages, broadcast or shared.
Broadcast message means that message will be sent only by one process which could handle this message.
Shared message means that message could be sent by any of processes.
At first, i use rabbitmq as broker to handle these 2 kinds of messages.Broadcast message can not be handled well by rabbitmq, because i have to run one queue per process to take charge of it.