Что такое система Pub/Sub?
Посетите systemdesign.us, чтобы ознакомиться с вопросами для интервью по проектированию систем, отмеченными компаниями и их решениями. Следуйте за нами на YouTube , LinkedIn , Twitter , Medium .
Система Pub/Sub — это система обмена сообщениями, которая позволяет пользователям подписываться на определенные темы и получать сообщения только из тех тем, на которые они подписаны. Это может быть полезно для различных приложений, таких как социальные сети, новостные ленты и игры.
Как работает паб/саб?
Издатель (или отправитель сообщения) отправляет сообщение в определенную тему. Затем сообщение получают все подписчики (или получатели сообщений) этой темы. Подписчики могут отказаться от подписки на тему в любое время.
Компоненты публикации/подписки
В системе pub/sub есть три основных компонента:
темы : сообщения организованы в темы, и пользователи могут подписаться на определенные темы, чтобы получать сообщения.
издатели : издатели являются отправителями сообщений и отправляют сообщения в определенные темы.
подписчики : подписчики являются получателями сообщений, и они получают все сообщения из тем, на которые они подписаны.
Зачем использовать pub/sub?
Pub/sub может быть полезен для приложений, которым требуются обновления в реальном времени из различных источников. Например, приложению социальной сети может потребоваться показывать пользователям обновления от их друзей, а также новости и другой контент. Используя pub/sub, приложение может получать все эти сообщения в режиме реального времени, без необходимости постоянно запрашивать новые данные.
Каковы преимущества pub/sub?
Есть несколько преимуществ использования pub/sub:
- Обновления в режиме реального времени: подписчики могут получать сообщения, как только они публикуются, не дожидаясь регулярного интервала опроса.
- Гибкие подписки: подписчики могут подписаться только на те темы, которые им интересны, и могут отказаться от подписки в любое время.
- Масштабируемость: система pub/sub может легко масштабироваться для работы с большим количеством тем и подписчиков.
- Это позволяет в режиме реального времени общаться между издателями и подписчиками.
- Это масштабируемая система, способная обрабатывать большое количество тем и подписчиков.
- Он гибкий, так как подписчики могут выбирать, из каких тем они хотят получать сообщения.
Есть некоторые потенциальные недостатки использования pub/sub:
- Доставка сообщений не гарантируется: поскольку сообщения отправляются асинхронно, нет гарантии, что они будут получены всеми подписчиками. Это означает, что некоторые сообщения могут быть пропущены, если абонент не в сети или сообщение по какой-то причине задерживается.
- Более высокая задержка: асинхронная доставка сообщений может привести к большей задержке, чем синхронная доставка сообщений (например, в традиционной системе обмена сообщениями).
- Ограниченная история сообщений: большинство систем публикации/подписки отслеживают только самые последние сообщения для каждой темы, а это означает, что подписчики будут получать новые сообщения только после того, как они подпишутся. Это может быть проблемой для приложений, которым требуется полная история сообщений.
- Издатель должен знать тему сообщения, чтобы отправить его нужным подписчикам.
- Подписчики могут получать сообщения, которые им не интересны, если они подписаны на слишком много тем.
- Нет никакой гарантии, что сообщения будут доставлены по порядку или вообще не будут доставлены.
Список технологий Pub/Sub
- Апач Кафка
- Amazon Simple Notification Service (SNS)
- Google Cloud Pub/Sub
- Сетка событий Microsoft Azure
- IBM Cloud Pub/Sub
- Потоковый сервер NATS
- CloudEvents
- MQTT
- топать
- Вебхуки
- Apache ActiveMQ Артемида
- RabbitMQ

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































