supine轻量级去中心化 RPC 框架
supine是一个轻量级去中心的RPC框架
- 使用AIO通讯
- 采用Multicast进行服务注册发现
快速开始
创建Maven
项目
<dependency> <groupId>vip.justlive</groupId> <artifactId>supine</artifactId> <version>${lastVersion}</version> </dependency>
或Gradle
compile 'vip.justlive:supine:$lastVersion'
服务端
- 直连方式
ServiceConfig config = new ServiceConfig(10086); ServiceFactory factory = new ServiceFactory(config); // 注册服务 factory.register(new SayImpl()); factory.register(new SayImpl2(), "2"); factory.start(); // 服务端常驻 factory.sync();
- multicast注册
ServiceConfig config = new ServiceConfig(10086); // 设置注册类型 config.setRegistryType(1); // 设置注册地址,不设置时使用默认值(234.69.69.69:56969) config.setRegistryAddress("234.69.69.69:56969"); ServiceFactory factory = new ServiceFactory(config); // 注册服务 factory.register(new SayImpl()); // 指定服务版本 factory.register(new SayImpl2(), "2"); factory.start(); // 服务端常驻 factory.sync();
客户端
- 直连方式
ClientConfig config = new ClientConfig(); // 设置长连接空闲超时时间,默认120秒 config.setIdleTimeout(120); // 直连时设置服务端地址 config.setRegistryAddress("localhost:10086"); // 是否异步调用,默认为同步 config.setAsync(false); ReferenceFactory factory = new ReferenceFactory(config); // 创建接口代理 Say say = factory.create(Say.class); // 调用接口 String result = say.hello(msg);
- multicast方式
ClientConfig config = new ClientConfig(); // 开启异步调用 config.setAsync(true); // 指定注册地址,不填则使用默认值(234.69.69.69:56969) config.setRegistryAddress("234.69.69.69:56969"); ReferenceFactory factory = new ReferenceFactory(config); // 创建指定版本的接口代理 Say say = factory.create(Say.class, "2"); // 调用接口,注意异步方式返回值为null say.hello(msg); // 异步方式下需要调用如下方法获取Future ResultFuture<String> future = ResultFuture.future(); // 设置回调 future.setOnSuccess(System.out::println); future.setOnFailure(System.out::println); // 获取结果 future.get(); // 获取结果,有等待超时时间 future.get(1, TimeUnit.SECONDS);
评论
bbossgroups RPC轻量级rpc框架
bbossgroupsRPC是基于bbossaop的轻量级rpc框架,感兴趣的朋友可以用一用。bbossgroups提供的RPC框架是bbossaop子项目中一个子模块,具有以下特点:1.支持多种通讯
bbossgroups RPC轻量级rpc框架
0
Motan轻量级 RPC 框架
概述Motan是一套高性能、易于使用的分布式远程服务调用(RPC)框架。功能支持通过spring配置方式集成,无需额外编写代码即可为服务提供分布式调用能力。支持集成consul、zookeeper等配
Motan轻量级 RPC 框架
0
harpc轻量级 RPC 框架
harpc 是基于Thrift的跨语言、高可用、高性能、轻量级的RPC框架。功能介绍跨语言通信方便的使Java、Python、C++三种程序可以相互通信负载均衡和容灾处理方便的实现任务的分布式处理支持
harpc轻量级 RPC 框架
0