Release Notes
- 1 、 [升级] 多个项目依赖升级至较新稳定版本,涉及 netty 、gson 、springboot 、mybatis 等;
- 2 、 [优化] Hessian 启用 NonSerializable 拦截,安全性提升。
- 3 、 [优化] 服务注册环境标识字段长度调整,上限调整为 50 ;
- 4 、 [优化] 代码重构;
- 5 、 [合并] 合并 PR-55,解决 OpenTelemetry 集成问题;
- 6 、 [合并] 合并 PR-53,调整 NettyConnectClient 类锁问题;
- 7 、 [合并] 合并 PR-51,解决解决 RST 异常问题;
简介
XXL-RPC 是一个分布式服务框架,提供稳定高性能的 RPC 远程服务调用功能。拥有"高性能、分布式、注册中心、负载均衡、服务治理"等特性。现已开放源代码,开箱即用。
特性
- 1 、易学易用:无缝集成 SpringBoot ,三分钟即可上手;
- 2 、服务透明:系统完整的封装了底层通信细节,开发时调用远程服务就像调用本地服务,在提供远程调用能力时不损失本地调用的语义简洁性;
- 3 、多调用类型:支持多种调用类型,包括:SYNC 、ONEWAY 、FUTURE 、CALLBACK 等;
- 4 、多通讯协议:支持多种通讯协议,支持 TCP 、HTTP ;
- 5 、多序列化方案:支持多种序列化协议,包括:HESSIAN/2 、HESSIAN1 、Gson 、PROTOSTUFF 、KRYO 等序列化方案;
- 6 、注册中心:内置服务注册中心支持服务动态发现,提供轻量级、一站式解决方案。也支持扩展集成其他注册中心,或者不使用注册中心、直接指定服务提供方机器地址调用;
- 7 、负载均衡:支持多种负载均衡策略,包括:轮询、随机、LRU 、LFU 、一致性 HASH 等;
- 8 、服务治理:提供服务治理能力,支持在线管理注册的服务信息,如服务锁定、IP 禁用……等;
- 9 、服务监控:支持在线监控服务调用统计信息以及服务健康状况等(计划中);
- 10 、故障容错:支持自动巡检线上服务并摘除故障节点,消费方实时感知并移除失效节点将流量分发到其余节点,提高系统容错能力。
- 11 、解决 1+1 问题:传统分布式通讯一般通过 nginx 或 f5 做集群服务的流量负载均衡,每次请求在到达目标服务机器之前都需要经过负载均衡机器,即 1+1 ,这将会把流量放大一倍。而 XXL-RPC 将会从消费方直达服务提供方,每次请求直达目标机器,从而可以避免上述问题;
- 12 、高兼容性:得益于优良的兼容性与模块化设计,不限制技术栈;除 spring/springboot 技术栈之外,理论上支持运行在任何 Java 代码中,甚至 main 方法直接启动运行;
- 13 、泛化调用:支持服务调用方直接发起服务调用,不依赖服务方提供的 API ;
|