Skip to content

Releases: xuxueli/xxl-rpc

XXL-RPC v1.7.0,分布式服务框架

02 Oct 09:46
Compare
Choose a tag to compare

Release Notes

  • 1、开源协议:由 GPLv3 调整为 Apache2.0 开源协议;
  • 2、路由策略:轮训路由策略代码优化,修复小概率下并发问题;
  • 3、代码重构:默认注册中心代码结构重构,废弃冗余 "biz" 属性;
  • 4、版本升级:依赖版本升级,如netty、spring、gson等;
  • 5、数据库编码:调整为utf8mb4;
  • 6、restful api:序列化组件调整为Gson;
  • 7、服务磁盘注册数据:序列化组件调整为Gson;

XXL-RPC v1.6.0,分布式服务框架

15 Apr 08:05
Compare
Choose a tag to compare

Release Notes

  • 1、为方便维护,合并xxl-registry至xxl-rpc,模块名为xxl-rpc-admin;
  • 2、一致性哈希路由策略优化:默认虚拟节点数量调整为100,提高路由的均衡性;
  • 3、RPC Client端,复用单例EventLoopGroup线程池,降低资源开销;
  • 4、RPC Server端,新增属性 ”注册地址/registryAddress“,优先使用该属性作为注册地址,为空时使用服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。

XXL-RPC v1.5.0,分布式服务框架

22 Nov 11:12
Compare
Choose a tag to compare

Release Notes

  • 1、IpUtil优化:增加连通性校,过滤明确非法的网卡;

XXL-RPC v1.4.2,分布式服务框架

18 Nov 12:10
Compare
Choose a tag to compare

Release Notes

  • 1、长连心跳保活:客户端周期性发送心跳请求给服务端保活;服务端连续三次未收到心跳时,销毁连接;
  • 2、服务线程优化,支持自定义线程参数;
  • 3、API重构:初始化枚举改为接口实例,方便扩展;
  • 4、代码优化,ConcurrentHashMap变量类型改为ConcurrentMap,避免因不同版本实现不同导致的兼容性问题;
  • 5、Netty Http客户端优化,识别并过滤非法响应数据;
  • 6、通讯方案收敛:主推Netty和Netty_Http,移除Mina和Jetty内置扩展,如有需求自行扩展维护;
  • 7、序列化方案收敛:主推HESSIAN和HESSIAN1,移除protostuff、KRYO、JACKSON内置扩展,如有需求自行扩展维护;
  • 8、升级依赖版本,如netty/mina/hessian/jackson/zookeeper等;

XXL-RPC v1.4.1,分布式服务框架

23 May 09:32
Compare
Choose a tag to compare

Release Notes

  • 1、客户端长连优化,修复初始化时服务不可用导致长连冗余创建的问题;
  • 2、升级依赖版本,如netty/mina/jetty/jackson/spring/spring-boot等;
  • 3、空闲链接自动回收:服务端与客户端主动检测空闲链接并回收,及时释放相关资源(netty、mina);空闲超10min自动释放;

XXL-RPC v1.4.0,分布式服务框架

20 Apr 05:33
Compare
Choose a tag to compare

Release Notes

  • 1、LRU路由更新不及时问题修复;
  • 2、JettyClient Buffer 默认长度调整为5M;
  • 3、Netty Http客户端配置优化;
  • 4、升级依赖版本,如netty/mina/spring等

XXL-RPC v1.3.2

21 Feb 04:10
Compare
Choose a tag to compare

Release Notes

  • 1、泛化调用:服务调用方不依赖服务方提供的API;
  • 2、新增通讯方案 "NETTY_HTTP";
  • 3、新增序列化方案 "KRYO";
  • 4、通讯效率优化:TCP连接池取消,改为单一长连接,移除commons-pool2依赖;
  • 5、RPC请求路由时空地址处理优化;
  • 6、通讯连接池address参数优化,出IP:PORT格式外兼容支持常规URL格式地址;
  • 7、线程名称优化,便于适配监控快速进行线程定位;

XXL-RPC v1.3.1,分布式服务框架

21 Dec 03:51
Compare
Choose a tag to compare

Release Notes

  • 1、负载均衡/软负载:提供丰富的负载均衡策略,包括:轮询、随机、LRU、LFU、一致性HASH等;
  • 2、服务发现注册逻辑优化:支持批量注册、摘除,升级 xxl-registry 至 v1.0.1;
  • 3、新增jfinal类型示例项目 "xxl-rpc-sample-jfinal" 支持jfinal项目快速接入分布式RPC服务功能;高兼容性,原则上支持任务框架,甚至main方法直接运行;
  • 4、TCP通讯方案Server端Channel线程优化(线程参数=60/300/1000),避免IO线程阻塞于业务;
  • 5、TCP通讯方案Client端Channel线程优化(线程参数=10/100/1000),避免IO线程阻塞于callback业务;
  • 6、TCP通讯方案Client初始化逻辑优化;
  • 7、TCP长连销毁逻辑优化;
  • 8、底层Log整理,RPC报错时打印完整Log,包括请求地址,请求参数等;
  • 9、Server端销毁逻辑优化;
  • 10、static代码块优化,进行组件无状态优化:response factory等;迁移到invoke factory上来;
  • 11、升级多项pom依赖至较新稳定版本;

XXL-RPC v1.3.0,分布式服务框架

01 Dec 18:08
Compare
Choose a tag to compare

Release Notes

  • 1、原生注册中心拆分为独立项目 "xxl-registry"(https://github.com/xuxueli/xxl-registry ),提供服务注册restful服务,并提送响应client端依赖用于简化接入难度;
  • 2、NativeServiceRegistry 更名为 XxlRegistryServiceRegistry;
  • 3、POM依赖升级,冗余POM清理;
  • 4、代码优化:XxlRpcInvokerFactory 移除 static 代码块及相关组件,进一步实现组件无状态;
  • 5、服务注册逻辑优化,避免地址重复生成;

XXL-RPC v1.2.2,分布式服务框架

26 Nov 04:38
Compare
Choose a tag to compare

Release Notes

  • 1、默认通讯方案切换为 Netty,可选方案依赖均调整为 provided 类型;提供强制依赖最小精简选型组合 "netty + hessian + 无注册中心(推荐采用:XXL-RPC原生注册中心)";
  • 2、XXL-RPC原生注册中心:底层抽象注册中心模块,并原生提供自研基于DB的注册中心,真正实现开箱即用,更轻量级、降低第三方依赖;至今XXL-RPC以提供三种注册中心具体实现:"XXL-RPC原生注册中心方案","ZK方案","Local方案";其中"XXL-RPC原生注册中心方案"特性如下:
    • 轻量级:基于DB与磁盘文件,只需要提供一个DB实例即可,无第三方依赖;
    • 实时性:借助内部广播机制,新服务上线、下线,可以在1s内推送给客户端;
    • 数据同步:注册中心内部10s会全量同步一次磁盘数据,清理无效服务,确保服务数据实时可用;
    • 性能:服务发现时仅读磁盘文件,性能非常高;服务注册、摘除时通过磁盘文件校验,防止重复注册操作;
    • 扩展性:可方便、快速的横向扩展,只需保证 "xxl-rpc-admin" 配置一致即可,可借助负载均衡组件如Nginx快速集群部署;
    • 多状态:服务内置三种状态:正常状态=支持动态注册、发现,服务注册信息实时更新;锁定状态=人工维护注册信息,服务注册信息固定不变;禁用状态=禁止使用,服务注册信息固定为空;
    • 跨语言:注册中心提供HTTP接口供客户端实用,语言无关,通用性更强;
    • 兼容性:“XXL-RPC原生轻量级注册中心”虽然为XXL-RPC设计,但是不限于XXL-RPC使用。兼容支持任何服务框架服务注册实用,如dubbo、springboot等;
    • 容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现"XXL-RPC原生注册中心方案"产品开箱即用;
  • 3、XXL-RPC客户端适配"XXL-RPC原生注册中心",可快速接入,只需要切换注册中心实现为 "NativeServiceRegistry" 即可,文档由专门章节介绍;
  • 4、注册中心启动参数位置调整,与注册中心实现关联;
  • 5、服务提供者参数优化,IP为空时原生动态获取,核心参数启动时增强校验;
  • 6、注册模块API优化,改为批量模式进一步提升性能;
  • 7、文档增强,注册中心配置切换、通讯方案配置切换说明;
  • 8、IP工具类优化,兼容 Inet6Address 格式地址;
  • 9、Netty销毁逻辑优化;
  • 10、扩展第三方注册中心ZK底层逻辑优化,避免旧注册信息无法清理的问题;