GithubHelp home page GithubHelp logo

cabbagelye / ddmq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from didi/ddmq

0.0 1.0 0.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.

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.