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

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方法直接启动运行;

文档地址

技术交流

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 新特性 1、核心模块重度重构:模块化划分、包名重构; 2、轻量级/模块化改造:移除对具体组件的依赖,如ZK、Net...
    许雪里阅读 3,352评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,534评论 19 139
  • 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:R...
    java菜阅读 4,580评论 0 2
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,130评论 2 89
  • 原来你我也会渐行渐远,各自向各自方向奔跑,我们慢慢没有了共同语言,开始有隔阂,不愿意互相理解,也不再有说不完的话 ...
    Leeanran阅读 1,553评论 0 0