SOFABolt 发布 v1.5.5 版本 | 蚂蚁金服开源网络通信框架

1、发布 SOFABolt v1.5.5 版本,主要变更如下:

1)兼容性

  • 兼容1.5.4版本

v1.5.5的pom依赖

<!-- 日志门面使用slf4j,日志实现可以选择log4j、log4j2、logback,可参考:https://github.com/alipay/sofa-bolt/wiki/log_implementation_jar -->
 <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>
<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.1.25.Final</version>
</dependency>
<dependency>
    <groupId>com.alipay.sofa</groupId>
    <artifactId>bolt</artifactId>
    <version>1.5.5</version>
</dependency>
<dependency>
    <groupId>com.alipay.sofa.common</groupId>
    <artifactId>sofa-common-tools</artifactId>
    <version>1.0.12</version>
</dependency>

2)主要改动

bugfix

  • 修复了在开启自动重连开关的场景下,通过RpcClient#closeConnection方法关闭连接后没有取消重连任务,导致一直重复对关闭的连接进行重连的问题,详见#151

SOFABolt 基本信息

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

  • 为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题,Netty 应运而生。
  • 为了让中间件开发者能将更多的精力放在产品功能特性实现上,而不是重复地一遍遍制造通信框架的轮子,SOFABolt 应运而生。

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

SOFABolt 的基础功能包括:

  • 基础通信功能 ( remoting-core )
    • 基于 Netty 高效的网络 IO 与线程模型运用
    • 连接管理 (无锁建连,定时断链,自动重连)
    • 基础通信模型 ( oneway,sync,future,callback )
    • 超时控制
    • 批量解包与批量提交处理器
    • 心跳与 IDLE 事件处理
  • 协议框架 ( protocol-skeleton )
    • 命令与命令处理器
    • 编解码处理器
    • 心跳触发器
  • 私有协议定制实现 - RPC 通信协议 ( protocol-implementation )
    • RPC 通信协议的设计
    • 灵活的反序列化时机控制
    • 请求处理超时 FailFast 机制
    • 用户请求处理器 ( UserProcessor )
    • 双工通信

猜你喜欢

转载自www.oschina.net/news/107086/sofabolt-1-5-5-released