SOFABolt v1.6.] 基于Netty实现的网络通信框架

简述:

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

为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题,Netty 应运而生。

为了让中间件开发者能将更多的精力放在产品功能特性实现上,而不是重复地一遍遍制造通信框架的轮子,SOFABolt 应运而生。

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

SOFABolt的基础功能包括:

1、基础通信功能 ( remoting-core )

基于 Netty 高效的网络 IO 与线程模型运用

连接管理 (无锁建连,定时断链,自动重连)

基础通信模型 ( oneway,sync,future,callback )

超时控制

批量解包批量提交处理器

心跳与 IDLE 事件处理

2、协议框架 ( protocol-skeleton )

命令与命令处理器

编解码处理器

心跳触发器

3、私有协议定制实现 – RPC 通信协议 ( protocol-implementation )

RPC 通信协议的设计

灵活的反序列化时机控制

请求处理超时 FailFast 机制

用户请求处理器 ( UserProcessor )

双工通信


图片:

SOFABolt v1.6.] 基于Netty实现的网络通信框架

   特别声明    本页内容仅供参考,若有侵权,请联系我们删除。