43 Star 208 Fork 85

WeBank / DeFiBus

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README-EN.md 4.19 KB
一键复制 编辑 原始数据 按行查看 历史
keranbingaa 提交于 2019-12-19 15:50 . update README.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

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

搜索帮助