DeFiBus
DeFiBus is a decentralized finacial message bus for microservices, provide request/reply, unicast, multi-cast, broadcast, delay-message etc, and also privide service governance capacity and operation tools.
Install / Use
/learn @WeBankFinTech/DeFiBusREADME
DeFiBus(Decentralized Financial Message Bus) -- 分布式金融级消息总线
DeFiBus=RPC+MQ,是基于开源消息中间件打造的安全可控的分布式金融级消息总线。DeFiBus不仅提供了RPC同步调用,还提供了MQ的异步事件通知、事件组播和广播等常用服务调用和消息模式,同时增加了应用多中心多活、服务就近、灰度发布等分布式场景下的高可用能力。在对于机器故障的容错能力方面的增强,也让消息总线的服务更加稳定可靠,为业务提供7x24的服务。
分布式架构

名词解释 DCN:Data Center Node(数据中心单元化节点)
系统架构

DeFiBus主要包括以下几个组件(模块):
-
Broker:通过轻量级的Topic和Queue机制提供消息存储功能。Broker定期将Topic信息上报到NameServer中,同集群中的Broker实例上报的NameServer必须保持一致,避免路由信息不一致。
-
NameServer:NameServer提供Topic的发现和路由,每一个NameServer接受Broker上报的Topic信息,并维护Topic的路由信息供客户端查询。
-
GSL:全局服务定位(Global Service Location)服务提供服务级别的路由发现。服务可以部署在不同的区域(比如不同的数据中心、逻辑分区等),服务请求方在请求某一个具体服务时,无需关注服务部署的区域,GSL能够根据服务发现规则自动定位到具体的服务,将服务信息返回给客户端。
-
EventMesh:服务代理提供TCP/HTTP接入方式,同时允许按照协议规范开发的C、GO、Python等其他语言客户端的接入。
-
ConfigCenter(CC):配置中心,提供HTTP接入方式,比如Namesrv的寻址以及其他配置。
-
ACL:访问控制服务,TOPIC级别的IP访问控制,提供黑白名单功能。
-
SGS:服务治理系统(Service Government System),用于管理服务、服务请求、服务响应、服务路由、ACL等流程和数据。
特性列表:
- RPC调用:即“Request-Reply”模式,支持系统间的同步调用
- 消息发布/订阅:消息的发布和订阅
- 灰度发布:服务级别的灰度发布
- 熔断机制:应用实例级别的熔断
- 流量控制:队列级别的限流
- 服务就近:就近进行服务的请求和响应,减少跨区调用
- 应用多活:应用多中心多活
- 动态扩缩队列 :自适应应用实例数量,动态调整队列个数
- 访问控制表:优化负载均衡时时重复消费的情况
- 容错机制:故障和错误隔离
- 服务代理:云原生多语言的代理EventMesh
- 服务治理:服务元数据的管理(待开源)
- 服务路由和定位:动态路由及定位(待开源)
- 平滑升级:平滑升级、平滑扩容(待开源)
Quick Start
DeFiBus的安装部署流程请参考:《DeFiBus使用指引》
examples模块中提供了最佳实践样例:defibus-examples
License
DeFiBus is licensed under Apache License.
非常感谢以下项目对开源做出的贡献
动态
Contacts
微信/QQ群:

Related Skills
node-connect
335.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
335.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.7kCommit, push, and open a PR
