Score
0
Watch 17 Star 64 Fork 17

WeBank / DeFiBusJavaApache-2.0

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

Clone or download
Loading...
README-EN.md

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.

Architecture

architecture1

architecture2

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:

[区域代码]-[服务唯一ID]

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.

License

DeFiBus is licensed under Apache License.

Contacts

WeChat & QQ group:

wechat_qr

qqgroup_qr

DingDing group: 23372793

Comments ( 0 )

Sign in for post a comment

Java
1
https://gitee.com/WeBank/DeFiBus.git
git@gitee.com:WeBank/DeFiBus.git
WeBank
DeFiBus
DeFiBus
master

Help Search