V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xuxueli
V2EX  ›  程序员

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

  •  
  •   xuxueli · 2022-10-02 18:05:53 +08:00 · 1642 次点击
    这是一个创建于 811 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Release Notes

    • 1 、开源协议:由 GPLv3 调整为 Apache2.0 开源协议;
    • 2 、路由策略:轮训路由策略代码优化,修复小概率下并发问题;
    • 3 、代码重构:默认注册中心代码结构重构,废弃冗余 "biz" 属性;
    • 4 、版本升级:依赖版本升级,如 netty 、spring 、gson 等;
    • 5 、数据库编码:调整为 utf8mb4 ;
    • 6 、restful api:序列化组件调整为 Gson ;
    • 7 、服务磁盘注册数据:序列化组件调整为 Gson ;

    简介

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

    输入图片说明

    特性

    • 1 、快速接入:接入步骤非常简洁,两分钟即可上手;
    • 2 、服务透明:系统完整的封装了底层通信细节,开发时调用远程服务就像调用本地服务,在提供远程调用能力时不损失本地调用的语义简洁性;
    • 3 、多调用方案:支持 SYNC 、ONEWAY 、FUTURE 、CALLBACK 等方案;
    • 4 、多通讯方案:支持 TCP 和 HTTP 两种通讯方式进行服务调用;其中 TCP 提供可选方案 NETTY 或 MINA ,HTTP 提供可选方案 NETTY_HTTP 或 Jetty ;
    • 5 、多序列化方案:支持 HESSIAN 、HESSIAN1 、PROTOSTUFF 、KRYO 、JACKSON 等方案;
    • 6 、负载均衡 /软负载:提供丰富的负载均衡策略,包括:轮询、随机、LRU 、LFU 、一致性 HASH 等;
    • 7 、注册中心:可选组件,支持服务注册并动态发现;可选择不启用,直接指定服务提供方机器地址通讯;选择启用时,内置可选方案:“XXL-REGISTRY 轻量级注册中心”(推荐)、“ZK 注册中心”、“Local 注册中心”等;
    • 8 、服务治理:提供服务治理中心,可在线管理注册的服务信息,如服务锁定、禁用等;
    • 9 、服务监控:可在线监控服务调用统计信息以及服务健康状况等(计划中);
    • 10 、容错:服务提供方集群注册时,某个服务节点不可用时将会自动摘除,同时消费方将会移除失效节点将流量分发到其余节点,提高系统容错能力。
    • 11 、解决 1+1 问题:传统分布式通讯一般通过 nginx 或 f5 做集群服务的流量负载均衡,每次请求在到达目标服务机器之前都需要经过负载均衡机器,即 1+1 ,这将会把流量放大一倍。而 XXL-RPC 将会从消费方直达服务提供方,每次请求直达目标机器,从而可以避免上述问题;
    • 12 、高兼容性:得益于优良的兼容性与模块化设计,不限制外部框架;除 spring/springboot 环境之外,理论上支持运行在任何 Java 代码中,甚至 main 方法直接启动运行;
    • 13 、泛化调用:服务调用方不依赖服务方提供的 API ;

    文档地址

    技术交流

    1 条回复    2022-10-05 13:23:54 +08:00
    wyhlgx
        1
    wyhlgx  
       2022-10-05 13:23:54 +08:00
    你咋跑这来发文了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2626 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 06:51 · PVG 14:51 · LAX 22:51 · JFK 01:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.