Я использую RabbitMQ в своем проекте, и мне было интересно, стоит ли мне использовать один обмен с несколькими ключами маршрутизации или использовать несколько обменов? Что будет более эффективным?
Пример, если я использую одиночный обмен E с ключами маршрутизации A, B, C и потребитель подключается к этому обмену E и получает данные с использованием ключей маршрутизации A, B, C. Другой вариант - отправить его на биржу A, биржу B, биржу C без ключей маршрутизации, и потребитель сможет подключиться к каждой бирже для получения необходимых данных.
пример с библиотекой python pika (которую я сейчас использую):
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)