zbus - MQ、RPC、服务总线


MIT
跨平台
Java

软件简介

小巧而极速的MQ, RPC实现, 支持HTTP/TCP代理,开放易扩展,多语言支撑微服务,系统总线架构

zbus核心是一个独立实现的小巧极速的消息队列(MQ),支持持久化与内存队列, 支持单播、广播、组播等多种消息通信模式;在MQ之上
zbus完备地支持了RPC服务,RPC支持独立伺服,基于总线两种模式;同时zbus支持代理服务,基于MQ的HttpProxy实现了类Nginx的HTTP代理服务(支持DMZ网络结构),TcpProxy则支持透明的TCP协议代理,可以代理任何基于TCP的协议,比如代理MySQL数据库。

zbus内建分布式高可用(HA),解决单点问题;Java/.NET/JS/C++/PHP等主流语言接入能力为zbus充当SOA服务总线提供跨平台支持;

在设计上,zbus拥抱KISS准则,所有特性浓缩在一个小小的400K左右的jar包中(非常少的依赖);轻量,MQ核心,方便二次开发,zbus为微服务架构、系统整合、弹性计算、消息推送等场景提供开箱即用的功能支持。

ZBUS主要特性:

  • 高速磁盘/内存MQ ,支持单播,广播,组播,订阅多种消息模式
  • RPC开箱即用 ,支持同步异步,动态类代理
  • 多语言客户端 ,Java/.NET/JavaScript/PHP/Python/C++/Go(服务器)
  • 轻量级 ,发行大小 ~3M, 核心 ~400K, 极少依赖
  • 高可用无应用故障单点 ,分布式高可用的内置支持
  • 简洁的协议设计 ,类HTTP头部扩展协议,长短连接,WebSocket支持
  • 内置监控 ,不断丰富的监控指标

ZBUS以轻量弹性著称,目前已知的应用主要分布在证券金融行业,在各大券商内部使用,因为开源同时也有不少二次开发定制的项目存在。

ZBUS可以有多种工作角色

  1. MQ服务器
  2. RPC服务器
  3. Proxy HTTP/TCP代理
  4. 服务标准化总线服务器

当你遇到这些相关问题的时候,不妨尝试下zbus,也许你会喜欢呢。