Apache RocketMQ — распределённая платформа обмена сообщениями и потоковой передачи данных. 4 Она обеспечивает низкую задержку, высокую производительность и надёжность, а также гибкую масштабируемость. 4
Архитектура RocketMQ состоит из четырёх частей: серверов имён, брокеров, производителей и потребителей. 4
Процесс работы платформы можно описать следующим образом: 2
- Производитель создаёт сообщения и отправляет их в RocketMQ через SDK или вызовы API (синхронно или асинхронно). 2
- RocketMQ получает и сохраняет сообщения в хранилище (синхронно или асинхронно). 2
- Производитель получает ответы от RocketMQ (статус доставки сообщений или исключения). 2
- Потребитель подписывается на сообщения и получает их от RocketMQ. 2
- Потребитель выполняет сервисные действия, соответствующие сообщениям. 2
- Затем потребитель подтверждает результаты потребления (например, успех, сбой или исключение). 2
Некоторые особенности работы RocketMQ:
- Поддержка различных методов отправки сообщений: синхронной, асинхронной, последовательной и односторонней. 1
- Возможность указания ключа для каждого отправляемого сообщения. 1 Ключ используется брокером для определения, в каком разделе темы должно храниться сообщение. 1
- Поддержка широковещательной передачи сообщений. 4
- Возможность отслеживания сообщений с точностью до миллисекунд, например, повторное потребление сообщений из определённого часа или секунды. 5