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

Как работает асинхронный способ взаимодействия между микросервисами

Асинхронное взаимодействие между микросервисами обычно реализуется через брокеры сообщений (RabbitMQ, Kafka) или event-driven архитектуру. Вместо прямых HTTP-запросов, сервисы обмениваются событиями через очередь, что повышает отказоустойчивость и масштабируемость.

Пример с RabbitMQ и Python (библиотека pika):

python
# Producer
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='orders')
channel.basic_publish(exchange='', routing_key='orders', body='New order created')
connection.close()

Consumer

def callback(ch, method, properties, body):
print(f"Received: {body}")

channel.basic_consume(queue='orders', on_message_callback=callback, auto_ack=True)
channel.start_consuming()

text

Ключевые преимущества:
- Слабая связанность сервисов
- Возможность обработки сообщений в своем темпе
- Устойчивость к временным отказам
- Поддержка горизонтального масштабирования

Недостатки:
- Усложнение мониторинга
- Необходимость обработки дублей и порядка сообщений
- Дополнительная инфраструктура (брокер)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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