@@ -693,7 +693,7 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
693
693
- state machine(顺序操作日志副本并保证结果一直):顺序消费消息,保证本地数据一致,并通过周期全量同步进一步保证一致性;
694
694
695
695
### 5.7 版本
696
- #### 5.7.1 版本 v1.0.0 Release Notes[ 2018-12-01]
696
+ #### v1.0.0 Release Notes[ 2018-12-01]
697
697
- 1、轻量级:基于DB与磁盘文件,只需要提供一个DB实例即可,无第三方依赖;
698
698
- 2、实时性:借助内部广播机制,新服务上线、下线,可以在1s内推送给客户端;
699
699
- 3、数据同步:注册中心内部10s会全量同步一次磁盘数据,清理无效服务,确保服务数据实时可用;
@@ -709,29 +709,29 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
709
709
- 10、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现 "服务注册中心" 产品开箱即用;
710
710
- 11、long polling 超时时间优化;服务端默认 30s 超时限制;客户端默认 60s 阻塞登台;二者以较小者为准,建议客户端大于服务端。
711
711
712
- #### 5.7.2 版本 v1.0.1 Release Notes[ 2018-12-20]
712
+ #### v1.0.1 Release Notes[ 2018-12-20]
713
713
- 1、访问令牌(accessToken):为提升系统安全性,注册中心和客户端进行安全性校验,双方AccessToken匹配才允许通讯;
714
714
- 2、底层通讯参数统一:请求参数统一由 postbody 发送接收,数据格式见公共消息体 "XxlRegistryParamVO",内部包含 accessToken、biz、env 等属性;
715
715
- 3、环境属性 "env" 长度限制调整为 "2~ 255" ,兼容 "qa"、"dev" 等短环境标识;
716
716
- 4、升级 pom 依赖至较新版本;
717
717
718
- #### 5.7.3 版本 v1.0.2 Release Notes[ 2018-02-21]
718
+ #### v1.0.2 Release Notes[ 2018-02-21]
719
719
- 1、服务端空值也支持响应,客户端注册信息发现null值缓存,避免缓存穿透;
720
720
- 2、客户端配置监控逻辑优化,避免异常情况下重试请求太频繁;
721
721
- 3、客户端日志优化:仅变更日志保留为info级别,非核心日志调整为debug级别;
722
722
- 4、内部JSON组件优化,支持多级父类属性序列化;
723
723
- 5、移除冗余属性,如version等;
724
724
- 6、服务注册中心全量同步线程优化,对齐起始时间,避免集群节点数据不一致;
725
725
726
- #### 5.7.4 版本 v1.1.0 Release Notes[ 2019-11-16]
726
+ #### v1.1.0 Release Notes[ 2019-11-16]
727
727
- 1、注册日志文件加载方式优化,修复文件名乱码问题;
728
728
- 2、修复服务注册version不匹配问题;
729
729
- 3、升级依赖版本,如slf4j-api/spring-boot/mybatis/mysql等;
730
730
- 4、小概率情况下底层通讯乱码问题修复;
731
731
732
732
733
733
## 六、版本更新日志
734
- ### 6.1 版本 v1.1 新特性
734
+ ### v1.1 Release Notes
735
735
- 1、快速接入:接入步骤非常简洁,两分钟即可上手;
736
736
- 2、服务透明:系统完整的封装了底层通信细节,开发时调用远程服务就像调用本地服务,在提供远程调用能力时不损失本地调用的语义简洁性;
737
737
- 3、注册中心(可选):支持使用zookeeper作为服务注册中心,服务注册并动态发现。同时,也可以不使用注册中心,直接指定服务提供方机器地址进行RPC通讯;
@@ -743,7 +743,7 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
743
743
- 9、服务监控:可在线监控服务调用统计信息以及服务健康状况等(计划中);
744
744
- 10、解决1+1问题:传统分布式通讯一般通过nginx或f5做集群服务的流量负载均衡,如hessian,每次请求在到达目标服务机器之前都需要经过负载均衡机器,即1+1,这将会把流量放大一倍。而XXL-RPC将会从消费方至服务提供方建立TCP长连接,每次请求直达目标机器,从而可以避免上述问题;
745
745
746
- ### 6.2 版本 v1.2.0 [ 2018-10-26]
746
+ ### v1.2.0 Release Notes [ 2018-10-26]
747
747
- 1、核心模块重度重构:模块化划分、包名重构;
748
748
- 2、轻量级/模块化改造:移除对具体组件的依赖,如ZK、Netty、Mina等,改为可选扩展方式;
749
749
- 3、支持多种请求方式,如:SYNC、ONEWAY、FUTURE、CALLBACK 等;
@@ -755,15 +755,15 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
755
755
- 9、推送core到maven中央仓库;
756
756
- 10、服务注册逻辑优化,旧方案以 "iface" 接口包名进行服务注册, 改为结合 "iface + version" 作为 serviceKey 进行注册,便于接口多服务复用;
757
757
758
- ### 6.3 版本 v1.2.1 Release Notes[ 2018-11-09]
758
+ ### v1.2.1 Release Notes[ 2018-11-09]
759
759
- 1、内置注册中心选择ZK时逻辑优化,ZK初始化时unlock逻辑调整,优化断线重连特性;
760
760
- 2、除了springboot类型示例;新增无框架示例项目 "xxl-rpc-sample-frameless"。不依赖第三方框架,只需main方法即可启动运行;
761
761
- 3、选型http通讯方式时,校验为IP端口格式地址则主动添加地址前缀;
762
762
- 4、RPC异步请求逻辑优化,请求异常时主动通知Client端,避免无效等待时间;
763
763
- 5、http通讯方式选型jetty时,线程池升级为QueuedThreadPool,修复jetty9.4版本server自动销毁问题;
764
764
- 6、Server新增 "/services" 目录功能,可查看在线服务列表;
765
765
766
- ### 6.4 版本 v1.2.2 Release Notes[ 2018-11-26]
766
+ ### v1.2.2 Release Notes[ 2018-11-26]
767
767
- 1、默认通讯方案切换为 Netty,可选方案依赖均调整为 provided 类型;提供强制依赖最小精简选型组合 "netty + hessian + 无注册中心(推荐采用:XXL-RPC原生注册中心)";
768
768
- 2、XXL-RPC原生注册中心:底层抽象注册中心模块,并原生提供自研基于DB的注册中心,真正实现开箱即用,更轻量级、降低第三方依赖;至今XXL-RPC以提供三种注册中心具体实现:"XXL-RPC原生注册中心方案","ZK方案","Local方案";其中"XXL-RPC原生注册中心方案"特性如下:
769
769
- 轻量级:基于DB与磁盘文件,只需要提供一个DB实例即可,无第三方依赖;
@@ -784,14 +784,14 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
784
784
- 9、Netty销毁逻辑优化;
785
785
- 10、扩展第三方注册中心ZK底层逻辑优化,避免旧注册信息无法清理的问题;
786
786
787
- ### 6.5 版本 v1.3.0 Release Notes[ 2018-12-02]
787
+ ### v1.3.0 Release Notes[ 2018-12-02]
788
788
- 1、原生注册中心拆分为独立项目 "xxl-registry"(https://github.com/xuxueli/xxl-registry ),提供服务注册restful服务,并提送响应client端依赖用于简化接入难度;
789
789
- 2、NativeServiceRegistry 更名为 XxlRegistryServiceRegistry;
790
790
- 3、POM依赖升级,冗余POM清理;
791
791
- 4、代码优化:XxlRpcInvokerFactory 移除 static 代码块及相关组件,进一步实现组件无状态;
792
792
- 5、服务注册逻辑优化,避免地址重复生成;
793
793
794
- ### 6.6 版本 v1.3.1 Release Notes[ 2018-12-21]
794
+ ### v1.3.1 Release Notes[ 2018-12-21]
795
795
- 1、负载均衡/软负载:提供丰富的负载均衡策略,包括:轮询、随机、LRU、LFU、一致性HASH等;
796
796
- 2、服务发现注册逻辑优化:支持批量注册、摘除,升级 xxl-registry 至 v1.0.1;
797
797
- 3、新增jfinal类型示例项目 "xxl-rpc-sample-jfinal" 支持jfinal项目快速接入分布式RPC服务功能;高兼容性,原则上支持任务框架,甚至main方法直接运行;
@@ -805,7 +805,7 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
805
805
- 11、升级多项pom依赖至较新稳定版本;
806
806
807
807
808
- ### 6.7 版本 v1.3.2 Release Notes[ 2019-02-21]
808
+ ### v1.3.2 Release Notes[ 2019-02-21]
809
809
- 1、泛化调用:服务调用方不依赖服务方提供的API;
810
810
- 2、新增通讯方案 "NETTY_HTTP";
811
811
- 3、新增序列化方案 "KRYO";
@@ -814,18 +814,18 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
814
814
- 6、通讯连接池address参数优化,出IP: PORT 格式外兼容支持常规URL格式地址;
815
815
- 7、线程名称优化,便于适配监控快速进行线程定位;
816
816
817
- ### 6.8 版本 v1.4.0 Release Notes[ 2019-04-20]
817
+ ### v1.4.0 Release Notes[ 2019-04-20]
818
818
- 1、LRU路由更新不及时问题修复;
819
819
- 2、JettyClient Buffer 默认长度调整为5M;
820
820
- 3、Netty Http客户端配置优化;
821
821
- 4、升级依赖版本,如netty/mina/spring等
822
822
823
- ### 6.9 版本 v1.4.1 Release Notes[ 2019-05-23]
823
+ ### v1.4.1 Release Notes[ 2019-05-23]
824
824
- 1、客户端长连优化,修复初始化时服务不可用导致长连冗余创建的问题;
825
825
- 2、升级依赖版本,如netty/mina/jetty/jackson/spring/spring-boot等;
826
826
- 3、空闲链接自动回收:服务端与客户端主动检测空闲链接并回收,及时释放相关资源(netty、mina);空闲超10min自动释放;
827
827
828
- ### 6.10 版本 v1.4.2 Release Notes[ 2019-11-18]
828
+ ### v1.4.2 Release Notes[ 2019-11-18]
829
829
- 1、长连心跳保活:客户端周期性发送心跳请求给服务端保活;服务端连续三次未收到心跳时,销毁连接;
830
830
- 2、服务线程优化,支持自定义线程参数;
831
831
- 3、API重构:初始化枚举改为接口实例,方便扩展;
@@ -835,16 +835,16 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
835
835
- 7、序列化方案收敛:主推HESSIAN和HESSIAN1,移除protostuff、KRYO、JACKSON内置扩展,如有需求自行扩展维护;
836
836
- 8、升级依赖版本,如netty/mina/hessian/jackson/zookeeper等;
837
837
838
- ### 6.11 版本 v1.5.0 Release Notes[ 2019-11-22]
838
+ ### v1.5.0 Release Notes[ 2019-11-22]
839
839
- 1、IpUtil优化:增加连通性校,过滤明确非法的网卡;
840
840
841
- ### 6.12 版本 v1.6.0 Release Notes[ 2020-04-15]
841
+ ### v1.6.0 Release Notes[ 2020-04-15]
842
842
- 1、为方便维护,合并xxl-registry至xxl-rpc,模块名为xxl-rpc-admin;
843
843
- 2、一致性哈希路由策略优化:默认虚拟节点数量调整为100,提高路由的均衡性;
844
844
- 3、RPC Client端,复用单例EventLoopGroup线程池,降低资源开销;
845
845
- 4、RPC Server端,新增属性 ”注册地址/registryAddress“,优先使用该属性作为注册地址,为空时使用服务 ”IP: PORT “ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
846
846
847
- ### 6.13 版本 v1.7.0 Release Notes[ 2022-10-02]
847
+ ### v1.7.0 Release Notes[ 2022-10-02]
848
848
- 1、开源协议:由 GPLv3 调整为 Apache2.0 开源协议;
849
849
- 2、路由策略:轮训路由策略代码优化,修复小概率下并发问题;
850
850
- 3、代码重构:默认注册中心代码结构重构,废弃冗余 "biz" 属性;
@@ -853,10 +853,10 @@ XXL-RPC默认将 "XXL-RPC-ADMIN" 作为原生注册中心。其他Java服务框
853
853
- 6、restful api:序列化组件调整为Gson;
854
854
- 7、服务磁盘注册数据:序列化组件调整为Gson;
855
855
856
- ### 6.14 v1.7.1 Release Notes[ 规划中]
856
+ ### v1.7.1 Release Notes[ 规划中]
857
857
- 1、[ 迭代中] 环境标识字段长度上限调整为50;
858
858
859
- ### TODO
859
+ ### TODO LIST
860
860
- 提高系统可用性,以部分功能暂时不可达为代价,防止服务整体缓慢或雪崩
861
861
- 限流=防止负载过高,导致服务雪崩;client、server,双向限流;方法级,QPS限流;在途请求数,流控依据;
862
862
- 降级=10s内超阈值(异常、超时);拒绝服务、默认值;
0 commit comments