代码参考 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
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 、业务代码开发:
public interface DemoService { public UserDTO load(String name); }
@XxlRpcService @Service public class DemoServiceImpl implements DemoService { @Override public UserDTO load(String name) { return new UserDTO("jack", "hello world"); } }
@XxlRpcReference(appname = "app01") private DemoService demoService; ... UserDTO userDTO = demoService.sayHi(name);
XXL-RPC 是一个 RPC 服务框架,提供一站式服务通信及运营能力。拥有“轻量级、高性能、负载均衡、故障容错、安全性、注册发现、服务治理”等分布式特性。现已开放源代码,开箱即用。