Release Notes
- 1、内置注册中心选择 ZK 时逻辑优化,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 是一个分布式服务通讯框架,提供稳定高性能的 RPC 远程服务调用功能。现已开放源代码,开箱即用。
特性
- 1、快速接入:接入步骤非常简洁,两分钟即可上手;
- 2、服务透明:系统完整的封装了底层通信细节,开发时调用远程服务就像调用本地服务,在提供远程调用能力时不损失本地调用的语义简洁性;
- 3、多调用方案:支持 SYNC、ONEWAY、FUTURE、CALLBACK 等方案;
- 4、多通讯方案:支持 TCP 和 HTTP 两种通讯方式进行服务调用;其中 TCP 提供可选方案 NETTY 或 MINA,HTTP 提供可选方案 Jetty ;
- 5、多序列化方案:支持 HESSIAN、HESSIAN1、PROTOSTUFF、JSON 等方案;
- 6、注册中心:可选组件,支持服务注册并动态发现;未启用注册中心时,支持直接指定服务提供方机器地址通讯;原生提供 local 与 zookeeper 两种服务注册中心可选方案;
- 7、软负载均衡及容错:服务提供方集群注册时,在使用软负载算法进行流量分发;
- 8、容错:服务提供方集群注册时,某个服务节点不可用时将会自动摘除,同时消费方将会移除失效节点将流量分发到其余节点,提高系统容错能力。
- 9、解决 1+1 问题:传统分布式通讯一般通过 nginx 或 f5 做集群服务的流量负载均衡,每次请求在到达目标服务机器之前都需要经过负载均衡机器,即 1+1,这将会把流量放大一倍。而 XXL-RPC 将会从消费方直达服务提供方,每次请求直达目标机器,从而可以避免上述问题;
- 10、服务治理:提供服务治理中心,可在线管理注册的服务信息,如管理服务节点、节点权重等;(计划中)
- 11、服务监控:可在线监控服务调用统计信息以及服务健康状况等(计划中);
- 12、高兼容性:得益于优良的兼容性与模块化设计,不限制外部框架;除 spring/springboot 环境之外,理论上支持运行在任何 Java 代码中,甚至 main 方法直接启动运行;
文档地址
技术交流
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/506771
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.