I am using RabbitMQ in my project and was wondering if I should use a single exchange with multiple routing keys or use multiple exchanges? Which would be more efficient?
Example if I use single exchange E with routing keys A,B,C and consumer connects to that exchange E and get data using A,B,C routing keys. Another option would be that I should send it to the exchange A, exchange B, exchange C with no routing keys and consumer could connect to each of the exchange for required data.
an example with python's library pika(which i am currently using):
channel.basic_publish(exchange='E',
routing_key='A',
body=data)
channel.basic_publish(exchange='E',
routing_key='B',
body=data)
channel.basic_publish(exchange='E',
routing_key='C',
body=data)
OR
channel.basic_publish(exchange='A',
routing_key='',
body=data)
channel.basic_publish(exchange='B',
routing_key='',
body=data)
channel.basic_publish(exchange='C',
routing_key='',
body=data)