Jump to content

Apache RocketMQ

Apache RocketMQ
Разработчик(и) Фонд программного обеспечения Apache
Первоначальный выпуск 2012 год ; 12 лет назад ( 2012 )
Стабильная версия
5.0.0 / 9 сентября 2022 г .; 22 месяца назад ( 09.09.2022 ) [1]
Репозиторий Репозиторий RocketMQ
Написано в Ява
Операционная система Кросс-платформенный
Тип Потоковая обработка , Брокер сообщений
Лицензия Лицензия Апач 2.0
Веб-сайт ракетаmq .apache .org

РакетаMQ [2] — это распределенная платформа обмена сообщениями и потоковой передачи с низкой задержкой, высокой производительностью и надежностью, емкостью уровня триллиона и гибкой масштабируемостью. Это промежуточное программное обеспечение для распределенного обмена сообщениями третьего поколения, исходный код которого был открыт Alibaba в 2012 году. 21 ноября 2016 года Alibaba пожертвовала RocketMQ Apache Software Foundation . В следующем году, 20 февраля, Apache Software Foundation объявил Apache RocketMQ проектом высшего уровня.

Разработку RocketMQ можно разделить на три этапа. [3]

Первое поколение использует режим push при транспортировке данных и реляционную базу данных при хранении данных. Он показывает низкую задержку при доставке сообщений и соответствует командам типичной платформы электронной коммерции. [4] с распределенными транзакциями.

Второе поколение использует режим извлечения при транспортировке данных и файловую систему при хранении данных. Он уделил больше внимания стабильности и надежности и показывает сопоставимую производительность с первым поколением по времени отклика и Kafka по сбору журналов.

Третье поколение сочетает в себе режим Pull с некоторыми операциями Push. Он унаследовал преимущества первого и второго поколения и демонстрирует высокую производительность в сценариях параллелизма и обработки больших объемов данных.

Было проведено много сравнений между различными решениями для обмена сообщениями, и широко известно, что когда количество тем резко увеличивается, пропускная способность RocketMQ падает гораздо меньше, чем Kafka. [5] Поскольку характеристики высокой производительности, высокой надежности и высокой способности работать в режиме реального времени, все больше и больше усилий было приложено к сочетанию RocketMQ и других компонентов протокола во всех типах сценариев обмена сообщениями, таких как MQTT. [6]

Клиентский SDK Протокол и спецификация Заказное сообщение Запланированное сообщение Пакетное сообщение Широковещательное сообщение Фильтр сообщений Повторная доставка, инициируемая сервером
Java, C/C++, Python, Go, Nodejs Модель извлечения, поддержка TCP, JMS, OpenMessaging Обеспечьте строгий порядок сообщений и возможность изящного масштабирования. Поддерживается Поддерживается режим синхронизации, позволяющий избежать потери сообщений. Поддерживается Поддерживаемые выражения фильтра свойств на основе SQL92. Поддерживается
Хранение сообщений Сообщение имеет обратную силу Приоритет сообщения Высокая доступность и аварийное переключение Трек сообщений Конфигурация
Высокопроизводительное хранилище файлов с низкой задержкой Поддерживаемая временная метка и смещение два указывают Не поддерживается Поддерживается модель Master-Slave, без дополнительного комплекта. Поддерживается Работает «из коробки», пользователю нужно обратить внимание только на несколько конфигураций.

Архитектура

[ редактировать ]

RocketMQ состоит из четырех частей: серверов имен, брокеров, производителей и потребителей. Каждый из них может быть расширен горизонтально без единой точки отказа. Как показано на изображении слева.

Кластер серверов имен

[ редактировать ]

Легкий компонент для обнаружения служб, который можно использовать для чтения и записи информации о маршрутизации. Каждый из них записывает глобальную информацию и поддерживает быстрое расширение хранилища.

Брокерский кластер

[ редактировать ]

Они используют облегченные механизмы TOPIC и QUEUE для управления хранением данных. Для реализации отказоустойчивости предоставляются две или три копии данных. И Клиент может получить сообщение в модели Push and Pull. Кроме того, также поддерживаются аварийное восстановление и расширенная статистика показателей.

Продюсерский кластер

[ редактировать ]

Производители могут быть распределены, а сообщения от производителей к брокерам могут быть сбалансированы посредством многопутевого использования. Кроме того, поддерживаются быстрый отказ и низкая задержка.

Потребительский кластер

[ редактировать ]

Потребители также могут быть распределены по модели push и pull, и они могут подписываться на сообщения в режиме реального времени, потреблять сообщения в единице кластера. Также поддерживается широковещательная рассылка сообщений.

Приложения

[ редактировать ]

Существует как минимум пять аспектов, к которым может относиться Apache RocketMQ:

  • Интеграция гетерогенных систем;
  • Развязка между приложениями;
  • Магистраль в механизме, управляемом событиями, и модели сложной событийной архитектуры;
  • Каналы репликации данных;
  • Интеграция с механизмом расчета расхода;
  • Потоковый доступ к данным.

Обслуживание сообщества

[ редактировать ]

Команда RocketMQ многое сделала для поддержания активности сообщества. Встречи, семинары, ApacheCon и марафоны кода регулярно проводятся в Пекине, Шэньчжэне и Ханчжоу для привлечения новых участников и коммиттеров. Пакеты тестирования OpenMessaging теперь доступны для RocketMQ, помогая RocketMQ идти в ногу с глобальным стандартом распределенного обмена сообщениями. [7] Что касается управления версиями, был принят ряд стандартизированных процессов разработки программного обеспечения. Последняя версия — 4.2.0, на подходе 4.3.0. Более подробную информацию можно получить здесь .

Награда за самое популярное программное обеспечение с открытым исходным кодом в Китае в 2016 г. Архивировано 19 июня 2018 г. на Wayback Machine.

Награда за самое популярное программное обеспечение с открытым исходным кодом в Китае в 2017 г. Архивировано 19 июня 2018 г. на Wayback Machine.

16-я премия CJK (Китай-Япония-Южная Корея) за выдающиеся технологические достижения в области программного обеспечения с открытым исходным кодом

Самая популярная награда в области программного обеспечения с открытым исходным кодом в Китае в 2018 г. Архивировано 2 января 2019 г. на Wayback Machine.

Самая популярная награда в области программного обеспечения с открытым исходным кодом в Китае в 2019 году.

См. также

[ редактировать ]
  1. ^ «Примечания к выпуску — Apache RocketMQ — Версия 5.0.0» . 9 сентября 2022 г. Проверено 27 сентября 2022 г.
  2. ^ «apache/rocketmq» . Гитхаб . Проверено 25 мая 2018 г.
  3. ^ «От Alibaba до Apache: прошлое, настоящее и будущее RocketMQ» . ИнфоQ . Проверено 26 июня 2018 г.
  4. ^ Ляо, Цзяньвэй; Чжуан, Сяодань; Фан, Реньи; Пэн, Сяонин (2017). «На пути к общей структуре распределенных сообщений для приложений обработки онлайн-транзакций» . Доступ IEEE . 5 : 18166–18178. Бибкод : 2017IEEA...518166L . дои : 10.1109/ACCESS.2017.2717930 .
  5. ^ Облако, Alibaba (04 января 2018 г.). «Kafka против RocketMQ — результаты стресс-тестов по нескольким темам» . Середина . Проверено 8 июля 2018 г.
  6. ^ Юэ, Ма; Жуйян, Ян; Цзяньвэй, Солнце; Кайфэн, Яо (2017). «Сервер отправки сообщений протокола MQTT на основе RocketMQ». 2017 10-я Международная конференция по интеллектуальным вычислительным технологиям и автоматизации (ICICTA) . стр. 295–298. дои : 10.1109/ICICTA.2017.72 . ISBN  978-1-5386-1230-9 . S2CID   28825800 .
  7. ^ «Среда тестирования OpenMessaging» . openmessaging.cloud . Проверено 8 июля 2018 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 10cda6285325b1c86e4bf6b250530d5f__1716496260
URL1:https://arc.ask3.ru/arc/aa/10/5f/10cda6285325b1c86e4bf6b250530d5f.html
Заголовок, (Title) документа по адресу, URL1:
Apache RocketMQ - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)