Releases: xuxueli/xxl-rpc
Releases · xuxueli/xxl-rpc
XXL-RPC v1.7.0,分布式服务框架
XXL-RPC v1.6.0,分布式服务框架
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,分布式服务框架
Release Notes
- 1、IpUtil优化:增加连通性校,过滤明确非法的网卡;
XXL-RPC v1.4.2,分布式服务框架
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,分布式服务框架
Release Notes
- 1、客户端长连优化,修复初始化时服务不可用导致长连冗余创建的问题;
- 2、升级依赖版本,如netty/mina/jetty/jackson/spring/spring-boot等;
- 3、空闲链接自动回收:服务端与客户端主动检测空闲链接并回收,及时释放相关资源(netty、mina);空闲超10min自动释放;
XXL-RPC v1.4.0,分布式服务框架
Release Notes
- 1、LRU路由更新不及时问题修复;
- 2、JettyClient Buffer 默认长度调整为5M;
- 3、Netty Http客户端配置优化;
- 4、升级依赖版本,如netty/mina/spring等
XXL-RPC v1.3.2
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,分布式服务框架
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,分布式服务框架
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,分布式服务框架
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底层逻辑优化,避免旧注册信息无法清理的问题;