Skip to content

Releases: xuxueli/xxl-rpc

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底层逻辑优化,避免旧注册信息无法清理的问题;

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

09 Nov 01:30
Compare
Choose a tag to compare

Release Notes

  • 1、ZK初始化时unlock逻辑调整,优化断线重连特性;
  • 2、除了springboot类型示例;新增无框架示例项目 "xxl-rpc-executor-sample-frameless"。不依赖第三方框架,只需main方法即可启动运行;
  • 3、选型http通讯方式时,校验为IP端口格式地址则主动添加地址前缀;
  • 4、RPC异步请求逻辑优化,请求异常时主动通知Client端,避免无效等待时间;
  • 5、http通讯方式选型jetty时,线程池升级为QueuedThreadPool,修复jetty9.4版本server自动销毁问题;
  • 6、Server新增 "/services" 目录功能,可查看在线服务列表;

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

26 Oct 03:48
Compare
Choose a tag to compare

版本新特性

  • 1、核心模块重度重构:模块化划分、包名重构;
  • 2、轻量级/模块化改造:移除对具体组件的依赖,如ZK、Netty、Mina等,改为可选扩展方式;
  • 3、支持多种请求方式,如:SYNC、ONEWAY、FUTURE、CALLBACK 等;
  • 4、各模块扩展改为非强制依赖:扩展依赖需要单独进行 maven 引入(provided类型);提供强制依赖最小精简选型组合 "jetty + hessian + 无注册中心";
  • 5、服务AccessToken鉴权;
  • 6、支持HTTP异步请求,线程优化,统一通讯流程;
  • 7、可选ZK注册中心重构,不依赖配置文件,通过代码初始化;
  • 8、可选ZK注册中心初始化逻辑优化,避免并发初始化,阻塞至TCP连接创建成功才允许后续操作;
  • 9、推送core到maven中央仓库;
  • 10、服务注册逻辑优化,旧方案以 "iface" 接口包名进行服务注册, 改为结合 "iface + version" 作为 serviceKey 进行注册,便于接口多服务复用;

新增MINA协议支持

14 Nov 12:05
Compare
Choose a tag to compare

版本升级1.0.1:新增MINA协议支持.

分布式服务通讯框架xxl-rpc

13 Nov 12:51
Compare
Choose a tag to compare

初始化项目文件