Встречается на собеседованиях • сегодня

В чём разница между request-reply и pub-sub моделями

Request-reply и pub-sub — это две разные модели взаимодействия в распределённых системах.

Request-reply — синхронная модель, где клиент отправляет запрос (request) и ждёт ответ (reply). Пример — HTTP: клиент делает запрос к серверу и ожидает ответ.

python
import requests
response = requests.get('https://api.example.com/data')  # request
print(response.json())  # reply

Pub-sub (publish-subscribe) — асинхронная модель, где издатели (publishers) отправляют сообщения в топик, а подписчики (subscribers) получают их без прямого взаимодействия. Пример — брокеры сообщений (RabbitMQ, Kafka).

python
# Пример с pika (RabbitMQ)
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')  # publish

Ключевые отличия:

  • Request-reply: синхронный, точка-точка, клиент знает сервер.
  • Pub-sub: асинхронный, широковещательный, отправитель и получатель не знают друг о друге.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы