1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-DDMQ

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 6.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 23:50 206a813

DDMQ — это продукт очереди сообщений, основанный на архитектуре Dida (DiDi) для поездок. Он был разработан на основе Apache RocketMQ и представляет собой распределённое промежуточное ПО для обмена сообщениями.

DDMQ обеспечивает низкую задержку, высокую пропускную способность, доступность и надёжность обмена сообщениями для различных бизнес-линий DiDi. Пользователи могут легко подключаться к DDMQ для отправки и получения сообщений через унифицированную веб-консоль и простой в использовании SDK. Они могут наслаждаться богатым функционалом и стабильным сервисом обмена сообщениями.

Основные функции:

  • Модель сообщений: поддержка P2P, Pub/Sub и других моделей сообщений.
  • Хранение больших объёмов сообщений и поддержка истории сообщений: использование RocketMQ и Kafka в качестве основного механизма хранения сообщений.
  • Низкая задержка и высокая пропускная способность: миллисекундная задержка и миллионы сообщений в секунду на одном компьютере.
  • Отложенные сообщения: возможность установить точную задержку для каждого сообщения до секунд, поддержка обратных вызовов в формате Thrift и HTTP. Предлагается широкий спектр типов сообщений, включая отложенные и циклически отложенные сообщения.
  • Транзакционные сообщения: предоставление функций распределённых транзакций, аналогичных X/Open XA, что позволяет достичь согласованности в распределённых системах.
  • Многоязычные клиенты: предоставляются SDK для основных языков программирования, таких как PHP, Java, Go, C/C++, Python и другие. API поддерживает удобный высокоуровневый интерфейс.
  • Сложные функции преобразования и фильтрации сообщений: поддерживается использование Groovy-скриптов на стороне сервера для преобразования и фильтрации содержимого сообщений, что может значительно уменьшить объём данных, передаваемых между клиентами и серверами, а также снизить нагрузку на обработку сообщений на клиентах.
  • Удобная веб-панель управления: предоставляет пользователям простой способ запрашивать ресурсы, такие как темы, группы потребителей и подписки, через веб-интерфейс. Также предоставляет функции просмотра и сброса прогресса потребления.

Архитектура DDMQ:

Централизованная архитектура с несколькими модулями:

  • carrera-common: предоставляет общий код для других модулей и инкапсулирует операции ZK.
  • carrera-producer: модуль прокси-сервера для производителей, который включает в себя сервер Thrift и отвечает за пересылку сообщений от клиентов брокеру.
  • carrera-consumer: модуль прокси-сервера для потребителей, который также включает в себя сервер Thrift и предоставляет SDK для извлечения сообщений и отправки их через HTTP подписчикам.
  • carrera-chronos: модуль отложенных сообщений, использующий RocksDB в качестве хранилища для отложенных сообщений.
  • carrera-sdk: SDK для производства и потребления сообщений, поддерживающий основные языки программирования.
  • rocketmq: модифицированная версия открытого исходного кода RocketMQ (версия 4.2.0), которая добавляет такие функции, как автоматическое переключение между главным и подчинённым узлами брокера.
  • carrera-console: пользовательский веб-интерфейс, разработанный на Spring, для управления конфигурацией.
  • carrera-monitor: модуль мониторинга, предоставляющий мониторинг давления потребления и состояния кластера.
  • carrera-docker: предоставляет образ DDMQ для одиночных машин, упрощая развёртывание и использование.

Развёртывание:

  • Внешние зависимости: 64-битная операционная система, Linux/Unix/Mac, 64-битный JDK 1.8+, Maven 3.2.x, MySQL 5.7.x, Tomcat 7/8/9, Zookeeper 3.4.x.
  • Шаги развёртывания: развёртывание MySQL и Zookeeper, инициализация структуры и данных MySQL, развёртывание пользовательского веб-интерфейса, инициализация данных узлов Zookeeper.
  • Развёртывание Producer Proxy, Consumer Proxy и Chronos.

Для получения дополнительной информации о DDMQ, включая инструкции по использованию и документацию по внесению вклада, рекомендуется обратиться к исходному тексту.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-DDMQ.git
git@api.gitlife.ru:oschina-mirror/mirrors-DDMQ.git
oschina-mirror
mirrors-DDMQ
mirrors-DDMQ
master