sofastack / sofa-bolt

SOFABolt is a lightweight, easy to use and high performance remoting framework based on Netty.
https://www.sofastack.tech/projects/sofa-bolt/
Apache License 2.0
2.4k stars 856 forks source link
java netty sofa-bolt sofa-rpc sofastack

SOFABolt Project

Build Status Coverage Status license version Percentage of issues still open

1. 介绍

SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。

Bolt 名字取自迪士尼动画-闪电狗,是一个基于 Netty 最佳实践的轻量、易用、高性能、易扩展的通信框架。 这些年我们在微服务与消息中间件在网络通信上解决过很多问题,积累了很多经验,并持续的进行着优化和完善,我们希望能把总结出的解决方案沉淀到 SOFABolt 这个基础组件里,让更多的使用网络通信的场景能够统一受益。 目前该产品已经运用在了蚂蚁中间件的微服务 (SOFARPC)、消息中心、分布式事务、分布式开关、以及配置中心等众多产品上。

2. 功能介绍

intro

SOFABolt 的基础功能包括:

用法1

将 SOFABolt 用作一个远程通信框架,使用者可以不用关心如何实现一个私有协议的细节,直接使用我们内置的 RPC 通信协议。可以非常简单的启动客户端与服务端,同时注册一个用户请求处理器,即可完成远程调用。同时,像连接管理、心跳等基础功能特性都默认可以使用。 当前支持的调用类型如下图所示:

invoke_type

用法2

将 SOFABolt 用作一个协议框架,使用者可以复用基础的通信模型、协议包含的接口定义等基础功能。然后根据自己设计的私有协议自定义 Command 类型、Command 处理器、编解码处理器等。如下图所示,RPC 和消息的 Command 定义结构:

msg_protocol

4. 如何贡献

开放代码允许在签署协议之后,提交贡献代码。具体参考如何参与贡献 SOFABolt 代码

对 SOFABolt 代码的修改和变更,需要遵守版权协议

5. 多语言

6. 用户

蚂蚁集团 网商银行 恒生电子 数立信息
Paytm 天弘基金 中国人保 信美相互
南京银行 民生银行 重庆农商行 中信证券
富滇银行 挖财 拍拍贷 OPPO金融
运满满 译筑科技 杭州米雅信息科技 邦道科技
申通快递 深圳大头兄弟文化 烽火科技 亚信科技
成都云智天下科技 上海溢米辅导 态赋科技 风一科技
武汉易企盈 极致医疗 京东 小象生鲜
北京云族佳 欣亿云网 山东网聪 深圳市诺安赛威
上扬软件 长沙点三 网易云音乐 虎牙直播
中国移动 无纸科技 黄金钱包 独木桥网络
wueasy 北京攸乐科技 易宝支付 威马汽车
亿通国际 新华三 klilalagroup

7. 联系我们