Release Notes
简介
XXL-RPC 是一个分布式服务框架,提供稳定高性能的RPC远程服务调用功能。拥有"高性能、分布式、注册中心、软负载、服务治理"等特性。现已开放源代码,开箱即用。nginx

“XXL-RPC” 特性:
- 一、快速接入:接入步骤很是简洁,两分钟便可上手;
- 二、服务透明:系统完整的封装了底层通讯细节,开发时调用远程服务就像调用本地服务,在提供远程调用能力时不损失本地调用的语义简洁性;
- 三、多调用方案:支持 SYNC、ONEWAY、FUTURE、CALLBACK 等方案;
- 四、多通信方案:支持 TCP 和 HTTP 两种通信方式进行服务调用;其中 TCP 提供可选方案 NETTY 或 MINA ,HTTP 提供可选方案 Jetty;
- 五、多序列化方案:支持 HESSIAN、HESSIAN一、PROTOSTUFF、JSON 等方案;
- 六、软负载均衡及容错:服务提供方集群注册时,在使用软负载算法进行流量分发;
- 七、注册中心:可选组件,支持服务注册并动态发现;可选择不启用,直接指定服务提供方机器地址通信;选择启用时,原生提供多种开箱即用的注册中心可选方案,包括:“XXL-RPC原生轻量级注册中心”、“ZK注册中心”、“Local注册中心”等;
- 八、服务治理:提供服务治理中心,可在线管理注册的服务信息,如服务锁定、禁用等;
- 九、服务监控:可在线监控服务调用统计信息以及服务健康情况等(计划中);
- 十、容错:服务提供方集群注册时,某个服务节点不可用时将会自动摘除,同时消费方将会移除失效节点将流量分发到其他节点,提升系统容错能力。
- 十一、解决1+1问题:传统分布式通信通常经过nginx或f5作集群服务的流量负载均衡,每次请求在到达目标服务机器以前都须要通过负载均衡机器,即1+1,这将会把流量放大一倍。而XXL-RPC将会从消费方直达服务提供方,每次请求直达目标机器,从而能够避免上述问题;
- 十二、高兼容性:得益于优良的兼容性与模块化设计,不限制外部框架;除 spring/springboot 环境以外,理论上支持运行在任何Java代码中,甚至main方法直接启动运行;
“XXL-RPC原生轻量级注册中心” 特性:
- 一、轻量级:基于DB与磁盘文件,只须要提供一个DB实例便可,无第三方依赖;
- 二、实时性:借助内部广播机制,新服务上线、下线,能够在1s内推送给客户端;
- 三、数据同步:注册中心内部10s会全量同步一次磁盘数据,清理无效服务,确保服务数据实时可用;
- 四、性能:服务发现时仅读磁盘文件,性能很是高;服务注册、摘除时经过磁盘文件校验,防止重复注册操做;
- 五、扩展性:可方便、快速的横向扩展,只需保证 "xxl-rpc-admin" 配置一致便可,可借助负载均衡组件如Nginx快速集群部署;
- 六、多状态:服务内置三种状态:正常状态=支持动态注册、发现,服务注册信息实时更新;锁定状态=人工维护注册信息,服务注册信息固定不变;禁用状态=禁止使用,服务注册信息固定为空;
- 七、跨语言:注册中心提供HTTP接口供客户端实用,语言无关,通用性更强;
- 八、兼容性:“XXL-RPC原生轻量级注册中心”虽然为XXL-RPC设计,可是不限于XXL-RPC使用。兼容支持任何服务框架服务注册实用,如dubbo、springboot等;
- 九、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现"XXL-RPC原生注册中心方案"产品开箱即用;
文档地址
技术交流