Я объясню концепцию, цели, плюсы, минусы и сценарии использования шаблона Pub-Sub. Я также предоставлю простой экземпляр монитора цен на акции и простую реализацию экземпляра уведомления в реальном времени с модульными тестами с использованием Golang.
Нажмите, чтобы стать участником Medium и читать неограниченное количество историй!
Концепция
Полное имя шаблона Pub-Sub — шаблон Publisher-Subscriber. В этой статье я всегда использую сокращенный способ — шаблон pub-sub. Отправители называются издателями, а получатели — подписчиками. В шаблоне «издатель-подписчик» издатель отправляет сообщения, не зная, кто получатели. Подписчики же получают интересующие сообщения, но не знают, кто их отправил. Шаблон передается через систему обмена сообщениями, такую как брокеры или каналы, которая обеспечивает маршрутизацию сообщений от издателей к подписчикам.
Цели
Основными целями шаблона pub-sub являются развязка, масштабируемость, гибкость и асинхронная обработка.
1. Развязка
Издатели не знают о подписчиках, а подписчики не знают об издателях. Они общаются только посредством событий или сообщений.
2. Масштабируемость
Легче добавлять новых подписчиков или издателей, не меняя существующий код.
3. Гибкость
Подписчики могут динамически подписываться или отписываться от определенных типов сообщений или событий.
4. Асинхронная обработка
События или сообщения могут обрабатываться подписчиками асинхронно. И позвольте подписчикам получать сообщения, соответствующие определенным правилам.
За и против
Преимущества использования шаблона pub-sub:
- Издатели и подписчики не зависят друг от друга напрямую.
- Легко добавлять или удалять издателей или подписчиков, не затрагивая остальную часть системы.
- Разрешите подписчикам получать только сообщения, соответствующие определенным правилам.
- Код более многоразовый, так как…