XXL-RPC v1.9.0 | RPC 服务框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xuxueli
V2EX    程序员

XXL-RPC v1.9.0 | RPC 服务框架

  •  
  •   xuxueli 252 天前 1447 次点击
    这是一个创建于 252 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Release Notes

    • 1 、 [优化] 服务底层代码重构优化,精简依赖、减少依赖包体;
    • 2 、 [调整] 内置注册中心 XxlRpcRegister(xxl-rpc-admin)迁移,整合至 XXL-CONF:
    • 3 、 [调整] 服务注册中心逻辑调整,借助 XXL-CONF 的 OpenApi 实现 动态服务注册与发现;
    • 4 、 [优化] 优化获取本地 IP 地址逻辑,调整了获取本地地址顺序;
    • 5 、 [升级] 多个项目依赖升级至较新稳定版本;

    XXL- RPC 快速接入示例

    代码参考 github 仓库 /test 目录: https://github.com/xuxueli/xxl-rpc/tree/master/xxl-rpc-samples

    1 、服务注册中心搭建:一行命令启动注册中心,一站式提供服务动态注册发现能力。

    基于 XXL-CONF 搭建 “轻量级注册中心”:一行命令启动注册中心,一站式提供服务动态注册发现能力。

    // 说明:xxl-conf 详细配置可参考官方文档 docker pull xuxueli/xxl-conf-admin docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-conf-admin -d xuxueli/xxl-conf-admin 

    img_12.png

    2 、XXL-PRC 接入配置:与 Spring 无缝集成,也支持无框架接入。

    XxlRpcSpringFactory factory = new XxlRpcSpringFactory(); factory.setBaseConfig(new BaseConfig(env, appname)); factory.setRegister(new XxlRpcRegister(address, accesstoken)); factory.setInvokerConfig(new InvokerConfig(invokerOpen)); factory.setProviderConfig(providerOpen ? new ProviderConfig( NettyServer.class, JsonbSerializer.class, port, corePoolSize, maxPoolSize, null) : new ProviderConfig(providerOpen)); 

    经过上述 2 步,已完成全部配置工作,可以直接展开业务编码工作。

    3 、业务代码开发:

    • 3.1 、接口定义代码:
    public interface DemoService { public UserDTO load(String name); } 
    • 3.2 、服务端代码: 注解式,一行代码将现有接口转换成 XXL-RPC 服务。
    @XxlRpcService @Service public class DemoServiceImpl implements DemoService { @Override public UserDTO load(String name) { return new UserDTO("jack", "hello world"); } } 
    • 3.3 、调用端代码: 注解式,一行代码引入 XXL- RPC 服务。
     @XxlRpcReference(appname = "app01") private DemoService demoService; ... UserDTO userDTO = demoService.sayHi(name); 

    简介

    XXL-RPC 是一个 RPC 服务框架,提供一站式服务通信及运营能力。拥有“轻量级、高性能、负载均衡、故障容错、安全性、注册发现、服务治理”等分布式特性。现已开放源代码,开箱即用。

    img_DNq6.png

    特性

    • 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 、高兼容性:得益于优良的兼容性与模块化设计,不限制技术栈;除 spring/springboot 技术栈之外,理论上支持运行在任何 Java 代码中,甚至 main 方法直接启动运行;
    • 12 、泛化调用:支持服务调用方直接发起服务调用,不依赖服务方提供的 API ;
    • 13 、服务安全:支持序列化安全空间机制,以及通讯 token 加密机制;
    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5513 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:30 PVG 16:30 LAX 01:30 JFK 04:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86