GithubHelp home page GithubHelp logo

didi / ddmq Goto Github PK

View Code? Open in Web Editor NEW
1.3K 81.0 339.0 18.04 MB

DDMQ is a distributed messaging product with low latency, high throughput and high availability.

License: Apache License 2.0

Shell 1.40% Java 70.05% JavaScript 0.84% HTML 1.18% Vue 3.60% CSS 3.24% Thrift 0.07% Dockerfile 0.02% Batchfile 0.40% C 4.26% CMake 0.69% C++ 2.83% Makefile 0.88% Go 8.62% PHP 0.11% Python 1.79% TSQL 0.01%

ddmq's Introduction

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 [email protected]


License

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

ddmq's People

Contributors

codeforfundev avatar jiangxuelei avatar suiyuzeng avatar whycodinging avatar zanglei06 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ddmq's Issues

[carrera-chronos] Is it supported to cancel delay msg?

如果延时消息没有过期或者失效,用户可以取消吗?如果不可以,未来有支持这个功能的想法吗?这虽然可能违背了消息队列的设计理念,但是如果支持这个功能,有些场景的业务逻辑会变得比较简单

Docker build失败

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.367 s
[INFO] Finished at: 2020-09-24T12:59:23+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project carrera-console: Could not resolve dependencies for project com.xiaojukeji.ddmq:carrera-console:war:1.0-SNAPSHOT: Could not find artifact com.xiaojukeji.ddmq:carrera-common:jar:1.0.0-SNAPSHOT -> [Help 1]                                                       
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
cp: 无法获取'carrera-console/target/carrera.war' 的文件状态(stat): 没有那个文件或目录

PProxy启动失败

2020-07-02 14:58:50,651 [ WARN ] ZkServiceImpl - no node, path=/pproxy/127.0.0.1:9613
2020-07-02 14:58:50,652 [ ERROR ] LogUtils - ERROR_TAG:ConfigManager.start, EXCEPTION:null, proxy config is illegal
2020-07-02 14:58:50,652 [ ERROR ] LogUtils - ERROR_TAG:ProxyApp.start, EXCEPTION:null, config manager start failed

go的sdk缺少文件

"go.intra.xiaojukeji.com/golang/commons/dhttp"
"go.intra.xiaojukeji.com/golang/commons/util"
log "go.intra.xiaojukeji.com/golang/commons/dlog"
"go.intra.xiaojukeji.com/foundation/didi-standard-lib/scheduler/golang"
在用go的sdk时编译时找不到这些文件

docker image build error!

exec :sh build.sh
the result is like below:
[ERROR] Failed to execute goal on project carrera-common: Could not resolve dependencies for project com.xiaojukeji.ddmq:carrera-common:jar:1.0.0-SNAPSHOT: Could not find artifact com.xiaojukeji.rocketmq:rocketmq-tools:jar:4.2.2-SNAPSHOT -> [Help 1]

配置生产代理出错

在配置完carrera-producer如果启动control.sh start
日志里输出这个
ConfigManager - checkAndUpdateKafkaConfig rmq config is null or empty, illegal
请问 rmq config在哪儿配置

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.