Apache RocketMQ — распределённая платформа обмена сообщениями и потоковой передачи данных. en.wikipedia.org Она обеспечивает низкую задержку, высокую производительность и надёжность, а также гибкую масштабируемость. en.wikipedia.org
Архитектура RocketMQ состоит из четырёх частей: серверов имён, брокеров, производителей и потребителей. en.wikipedia.org
Процесс работы платформы можно описать следующим образом: www.alibabacloud.com
- Производитель создаёт сообщения и отправляет их в RocketMQ через SDK или вызовы API (синхронно или асинхронно). www.alibabacloud.com
- RocketMQ получает и сохраняет сообщения в хранилище (синхронно или асинхронно). www.alibabacloud.com
- Производитель получает ответы от RocketMQ (статус доставки сообщений или исключения). www.alibabacloud.com
- Потребитель подписывается на сообщения и получает их от RocketMQ. www.alibabacloud.com
- Потребитель выполняет сервисные действия, соответствующие сообщениям. www.alibabacloud.com
- Затем потребитель подтверждает результаты потребления (например, успех, сбой или исключение). www.alibabacloud.com
Некоторые особенности работы RocketMQ:
- Поддержка различных методов отправки сообщений: синхронной, асинхронной, последовательной и односторонней. rocketmq.apache.org
- Возможность указания ключа для каждого отправляемого сообщения. rocketmq.apache.org Ключ используется брокером для определения, в каком разделе темы должно храниться сообщение. rocketmq.apache.org
- Поддержка широковещательной передачи сообщений. en.wikipedia.org
- Возможность отслеживания сообщений с точностью до миллисекунд, например, повторное потребление сообщений из определённого часа или секунды. dev.mo4tech.com