TGViewer
Системный Аналитик Системный Аналитик @sys_sa · 19.1K subscribers
Post #470 13.3K
Паттерны асинхрона: Request-Reply, Publish-Subscribe, Point-to-Point

Архитектурные паттерны Request-Reply, Publish-Subscribe, Point-to-Point используются для взаимодействия между компонентами системы.
Например, в распределенных системах и микросервисных архитектурах

🔘 Request-Reply

Request-Reply — паттерн, в котором клиент отправляет запрос и получает ответ от сервера через очереди сообщений.

Как работает

🔘клиент отправляет запрос в очередь сообщений
🔘сервер извлекает запрос из очереди и обрабатывает его
🔘cервер отправляет промежуточный ответ клиенту (опционально)
🔘сервер помещает ответ в очередь ответов
🔘клиент извлекает ответ

Зачем нужно

Для реализации асинхронного взаимодействия, когда требуется ответ на запрос.
➖подходит для микросервисов и систем, где требуется подтверждение выполнения задач
➖архитектурно можно реализовать через REST API

Плюсы и минусы


➕уменьшает нагрузку на клиентские и серверные ресурсы за счет асинхронной обработки
➕обеспечивает четкую последовательность действий благодаря использованию очередей

♥️задержка при больших объемах данных
♥️сложность реализации для управления состоянием запросов и ответов

👍 Пример: асинхронные веб-сервисы, обработка задач в распределенных системах., запросы к БД


💙Publish-Subscribe

Publish-Subscribe -- паттерн, в котором публикатор отправляет сообщения множеству подписчиков через брокера сообщений (например, Kafka, RabbitMQ)

Как работает

💙публикатор отправляет сообщение в канал (топик)
💙подписчики этого канала получают сообщение

Зачем нужно

Для рассылки сообщений множеству получателей одновременно.
К примеру, уведомлений или обновлений
API паттерны: подписка на события через WebSockets или другие механизмы push-уведомлений

Плюсы и минусы

💙высокая масштабируемость (можно добавлять новых подписчиков без изменения кода отправителя)
💙нет прямой зависимости между отправителем и получателями
💙можно рассылать одно сообщение многим подписчикам.

♥️нужно управлять подписками и качеством обслуживания
♥️непредсказуемая задержка доставки из-за обработки сообщений подписчиками

💙 Примеры: системы уведомлений, новостные рассылки, обновления в реальном времени, интернет вещей (IoT)


🟣Point-to-Point

Point-to-Point -- паттерн, в котором один отправитель передает сообщение одному получателю через очередь сообщений.

Работает также как Publish-Subscribe, только тут 1 получатель

Зачем нужно

Для гарантированной доставки сообщений одному получателю. Обеспечивает строгую очередность и порядок обработки.
⏩ может быть реализовано с помощью систем управления очередями (например, JMS, RabbitMQ)
⏩API паттерны: с помощью REST API, работающих с брокерами сообщений

Плюсы и минусы

➕гарантированная доставка сообщений (надежное хранение сообщений в очереди)
➕последовательный порядок обработки сообщений в очереди
➕независимая работа отправителя и получателя

♥️ограничение на одного получателя
♥️потенциальная задержка из-за обработки очереди

➡️ Пример: очереди задач, системы обработки заказов, логирование, финансовые транзакции


#проектирование #архитектура
  • 🔥 26
  • ❤ 12
  • 👍 11
More from @sys_sa
  1. Sep 28, 2026🔼AMQP, MQTT и STOMP: протоколы обмена сообщениями AMQP, MQTT и STOMP — независимые проток…
  2. Sep 26, 2026Как облегчить работу ИТ-аналитика уже сейчас — без долгосрочных перестроек процессов? Обсу…
  3. Aug 28, 2026❓ ICAM (Incident Cause Analysis Method) ICAM (Incident Cause Analysis Method) — метод разб…
  4. Aug 19, 2026🖥 NewSQL NewSQL — класс реляционных СУБД, который совмещает привычный SQL и строгие ACID…
  5. Jul 14, 2026🔼 Server Driven UI (SDUI) Server Driven UI (SDUI) — архитектурный подход, при котором сер…
  6. Jul 7, 2026📊 Сравнение Баз данных и Хранилищ данных ▫️База данных – оперативное хранилище, где содер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →