Watch 36 Star 121 Fork 45

WeBank / DeFiBusJavaApache-2.0

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

DeFiBus (Decentralized Financial Message Bus)

       DeFiBus=RPC+MQ, a reliable distributed financial message bus which is build base on open sourcing message mid-ware. DeFiBus offers not only traditional feature of MQ system (event notification, multicast, broadcast etc.) but also synchronize call and high availability such as application multi active, service nearby, dark launch. The enhancement of fault tolerant enable DeFiBus running more reliable and offer an all days online service.




DeFiBus includes the following components:

  • Broker: Offering message store via the mechanism of Topic and queue. Broker registers to NameServer periodically. Brokers in the same cluster should register to the same NameServer to keep route info in all name server is consistent.

  • NameServer: NameServer maintains route info of Topic and provide clients an interface to get route info of given Topic.

  • GSL: GSL(Global Service Location) service provides service-level routing discovery. Services can be deployed in different areas (such as different data centers, logical partitions, etc.). When requesting a specific service, service requesters need not pay attention to the area of service deployment. GSL can automatically locate specific services according to service discovery rules and return service information to clients.

  • SGS: SGS(Service Governance System) is responsible for the overall service management, including new service applying, service deployment, service offline. In DeFiBus, every service correspond to exactly one Topic. The creation, update and deletion of Topic are managed by SGS. After creating Topic in Broker cluster, SGS updates global service routing data for GSL.

  • Proxy: Proxy provides TCP/HTTP access, and allows access to client of other languages, such as C/C++, Go, Python etc.

Definition of Service & Topic

       Each service in DeFiBus correspond to exactly a Topic. Topic is named according to the unique ID of the service and the deployment area of the service. Each service needs a unique identity, which can be represented by a digital ID or string. Each deployment area is represented by a string of length 3, which is consist of numbers and letters.

Topic is named in the following format:


For example, the service ID of the balance query service is 20190001, and it is deployed in the area of "A10". The Topic of such service in the area of A10 is named "A10-20190001".


Quick Start

We offer an instruction of quick start, read this to get more information.
Examples are also provide in DeFiBus-examples module, get more detail from here.


DeFiBus is licensed under Apache License.


WeChat & QQ group:


Comments ( 3 )

Sign in for post a comment


DeFiBus=RPC+MQ,是基于开源消息中间件打造的安全可控的分布式金融级消息总线。DeFiBus不仅提供了RPC同步调用,还提供了MQ的异步事件通知、事件组播和广播等常用服务调用和消息模式,同时增加了应用多中心多活、服务就近、灰度发布等分布式场景下的高可用能力。在对于机器故障的容错能力方面的增强,也让消息总线的服务更加稳定可靠,为业务提供7x24的服务。 spread retract
Java and 3 more languages


No release

Gitee Metrics




load more
can not load any more