I've been trying to use RabbitMQ and faced the following question (very similar to this one: Topic Exchange vs Direct Exchange in RabbitMQ).
I need to intensively broadcast something around 800 types of messages (so there will be many consumers for each message type) and I wonder which of the following approaches is better:
Create one direct exchange where messages will be sent with a routing key (message type name) and every consumer will be connected to it with a temporary queue bound with a corresponding routing key. (Because there is no complex routing keys like 'key1.key2.*' I decided not to use topic exchange).
Create a fanout exchange for each message type.
I've read very good article about performance issues - ROUTING TOPOLOGIES FOR PERFORMANCE AND SCALABILITY WITH RABBITMQ but I'm new to RabbitMQ and just want to get some more best practices advice.