Junior — Middle
75
Могли бы вы объяснить, что такое Topic в системе обмена сообщениями RabbitMQ?
Answer from AI
sobes.tech AI
В RabbitMQ "Topic" — это тип обменника (exchange), который маршрутизирует сообщения на очереди на основе шаблонов ключей маршрутизации (routing keys).
Особенности Topic Exchange:
- Ключ маршрутизации — строка, состоящая из слов, разделённых точками, например: "user.created" или "order.paid.us".
- Очереди подписываются на шаблоны с использованием специальных символов:
*(звёздочка) заменяет ровно одно слово.#(решётка) заменяет ноль или более слов.
Пример:
- Очередь с binding key
user.*получит сообщения с routing keyuser.createdилиuser.deleted, но неuser.created.email. - Очередь с binding key
order.#получит сообщения сorder.paid,order.shipped.us,order.cancelled.refundи т.д.
Таким образом, Topic Exchange позволяет гибко фильтровать и направлять сообщения по сложным шаблонам, что удобно для систем с разнообразными событиями и подписчиками.