Найти в Дзене
Легко в’IT

Брокеры сообщений

Привет! Вчера я рассказывал про то как общаются программы. Предлагаю сегодня закрыть тему основных способов коммуникации программ. Как минимум общим взглядом на самые популярные способы. Всякие аббревиатуры типа SOA(P), REST(ful), gRPC мы рассмотрим отдельно, так как их тоже надо понимать.

В прошлом посте я уже упоминал, что иногда программы общаются друг с другом как мы с вами в Телеграм. У таких мессенджеров для программ есть свое научное название: Брокеры Сообщений (Message Broker). То есть в чем их суть? Самый простой пример: пришел заказ на офисное кресло и система, которая отвечает за создание заказов публикует эту информацию в том самом телеграм-канале. Назовем его “Заказы от физических лиц”. После этого все подписчики этого канала, а их может быть много, получают это сообщение и начинают его обработку. Например, подписчик с именем “склад” убирает у себя со склада 1 единицу заказанного товара, а подписчик с именем “доставка” рассчитывает сроки доставки и отправляет информацию курьеру. Все это делается без участия людей. Вернее человек здесь есть, но это клиент, который и заказал кресло.

Теперь немного по терминологии, чтобы тебе не запутаться с терминами из примера.

  • Мессенджер - Брокер Сообщений
  • Телеграм-канал - Топик
  • Подписчик - он и есть Подписчик (иногда их называют по-английски Subscriber)

Подытожу, сравнив с тем, что рассказал вчера. В чем же коренное отличие такого способа передачи сообщений от того, что рассказал в прошлой статье? То, что было вчера - это синхронный метод, то есть 1 запрос = 1 ответ, а то, о чем рассказал сегодня - это асинхронный метод, то есть 1 сообщение не обязательно влечет за собой какой-либо ответ от подписчика, то есть используется в основном для информирования клиента.

Чуть позже сегодня еще расскажу про новую тему - системы контроля версий (VCS), а пока подписывайся и зови друзей!

#брокеры #kafka #artemis #rabbitmq #ibmmq