Этот вопрос проверяет знание популярных систем для асинхронного обмена сообщениями между компонентами приложения.
Брокеры сообщений — это промежуточное ПО (middleware), которое обеспечивает обмен сообщениями между приложениями. Популярные брокеры: RabbitMQ (надежный, на основе AMQP), Apache Kafka (высокопроизводительный, для потоковой обработки), Amazon SQS/SNS (облачные сервисы от AWS), Redis Pub/Sub (легковесное решение) и ActiveMQ.
Брокеры сообщений реализуют шаблон асинхронного общения, часто по модели "издатель-подписчик" (publish-subscribe) или "очередь" (queue).
1. RabbitMQ:
Особенности: Один из самых популярных брокеров. Использует протокол AMQP. Поддерживает сложные маршрутизации сообщений через exchanges и очереди.
Использование: Идеален для фоновых задач, распределения нагрузки между воркерами.
2. Apache Kafka:
Особенности: Разработан для обработки потоков данных в реальном времени с высокой пропускной способностью. Сообщения сохраняются на диске и могут повторно потребляться.
Использование: Сбор логов, потоковая аналитика, event sourcing.
3. Облачные решения:
Amazon SQS/SNS: SQS — это сервис очередей сообщений, SNS — сервис уведомлений по модели pub/sub. Полностью управляемые сервисы от AWS.
Azure Service Bus: Аналогичный сервис от Microsoft Azure.
4. Легковесные решения:
Redis Pub/Sub: Механизм публикации/подписки, встроенный в Redis. Прост в использовании, но сообщения не сохраняются, если подписчик оффлайн.
Когда использовать:
Брокеры сообщений применяются для развязки компонентов системы, повышения отказоустойчивости и масштабируемости.
Уровень
Рейтинг:
2
Сложность:
6
Навыки
RabbitMQ
Kafka
Ключевые слова
Подпишись на Python Developer в телеграм