integration
Словарь ↗Публикация/подписка (Pub/Sub)
Публикация/подписка (pub/sub) — это шаблон обмена сообщениями, в котором отправители-издатели публикуют события в именованный канал или топик, не зная и не заботясь о том, кто их получит, а любое число заинтересованных потребителей-подписчиков независимо получает свою копию. Посередине стоит брокер сообщений, полностью развязывающий обе стороны: издатель просто объявляет «заказ оформлен», а те сервисы, которым это важно (биллинг, почта, аналитика, склад), реагируют каждый по-своему. Это отличается от очереди «точка-точка», где каждое сообщение обрабатывает ровно один воркер; в pub/sub одно событие расходится ко многим. Для SaaS-разработчиков pub/sub — основа событийно-ориентированной архитектуры. Она позволяет добавить новую функцию — уведомление в Slack, синхронизацию с хранилищем данных, — подписав нового потребителя на существующие события, не трогая код, который их публикует. Именно эта слабая связанность сохраняет растущую систему поддерживаемой. Что нужно закладывать заранее: сообщения могут приходить более одного раза (поэтому потребители должны быть идемпотентными), а доставка асинхронна, так что нижестоящие эффекты не мгновенны.
Похожие термины