100 Unstar Star 429 Fork 188

GVPDiDi-opensource / DDMQ

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

English | 中文



DDMQ is a distributed messaging product built by DiDi Infrastructure Team based on Apache RocketMQ. As a distributed messaging middleware, DDMQ provides low latency, high throughput and high available messaging service to many important large-scale distributed systems inside DiDi. DDMQ provides realtime messaging, delay-time messaging and transactional messaging to satisfy different scenarios. Through an easy-to-use Web Console and simple SDK Client, developers can experience producing and consuming messages in the most simple and stable way.


Features

  • Messaging model: support both P2P and Pub/Sub messaging model

  • Massive message storage, support both RocketMQ and Kafka as storage engine

  • Low latency & High throughput

  • Delay message, use RocksDB as storage engine

  • Transactional message: provide transaction similar to X/Open XA

  • Multiple language client SDK: provide client SDK in PHP, Java, Go, C/C++, Python

  • Message transition and filter with user-defined Groovy script

  • An easy-to-use Web Console


Architecture Overview


Modules

  • carrera-common: common code for other modules, such as encapsulate zk operations.

  • carrera-producer: message producer proxy with built-in Thrift Server, responsible for forwarding message from SDK client to broker.

  • carrera-consumer: message consumer proxy with built-in Thrift Server, provide SDK PULL and HTTP PUSH for message consumption.

  • carrera-chronos: delay message module, use RocksDB as storage engine.

  • carrera-sdk: producer and consumer SDK, support Java/C/C++/Go/PHP/Python.

  • rocketmq: based on RocketMQ (Ver 4.2.0),add new features such as broker auto fail-over.

  • carrera-console: a Spring-based User Web Console.

  • carrera-monitor: consumer lag monitor and DDMQ cluster monitor.

  • carrera-docker: provide a DDMQ docker image that runs in standalone mode.


Quick Start

We provide a standalone version of DDMQ as Docker image, read this for more information.


Deployment

Dependencies

  • 64bit OS, Linux/Unix/Mac
  • 64bit JDK 1.8+
  • Maven 3.2.x
  • MySQL 5.7.x
  • Tomcat 7/8/9
  • Zookeeper 3.4.x

Deployment Procedures


Usage


Contributing

Welcome to contribute by creating issues or sending pull requests. See Contributing Guide for guidelines.


Contact

Feel free to contact DDMQ developers via ddmq_open_source@didiglobal.com


License

DDMQ is licensed under the Apache License 2.0. See the LICENSE file.

Comments ( 16 )

Sign in for post a comment

About

DDMQ 是滴滴出行架构部基于 Apache RocketMQ 构建的消息队列产品。作为分布式消息中间件,DDMQ 为滴滴出行各个业务线提供了低延迟、高并发、高可用、高可靠的消息服务。 spread retract
Java and 6 more languages
Apache-2.0
Cancel

Releases

No release

Gitee Metrics

Contributors

All

Activities

load more
can not load any more
Java
1
https://git.oschina.net/didiopensource/DDMQ.git
git@git.oschina.net:didiopensource/DDMQ.git
didiopensource
DDMQ
DDMQ
master

Search

132457 8cb2edc1 1899542 131848 70c8d3a4 1899542