supine 轻量级去中心化 RPC 框架开源项目

我要开发同款
匿名用户2019年08月30日
47阅读
开发技术Java
所属分类RPC/XMLRPC项目、Web应用开发
授权协议Apache

作品详情

supine是一个轻量级去中心的RPC框架

使用AIO通讯采用Multicast进行服务注册发现快速开始

创建Maven项目

<dependency><groupId>vip.justlive</groupId><artifactId>supine</artifactId><version>${lastVersion}</version></dependency>

或Gradle

compile'vip.justlive:supine:$lastVersion'

服务端

直连方式ServiceConfigconfig=newServiceConfig(10086);ServiceFactoryfactory=newServiceFactory(config);//注册服务factory.register(newSayImpl());factory.register(newSayImpl2(),"2");factory.start();//服务端常驻factory.sync();multicast注册ServiceConfigconfig=newServiceConfig(10086);//设置注册类型config.setRegistryType(1);//设置注册地址,不设置时使用默认值(234.69.69.69:56969)config.setRegistryAddress("234.69.69.69:56969");ServiceFactoryfactory=newServiceFactory(config);//注册服务factory.register(newSayImpl());//指定服务版本factory.register(newSayImpl2(),"2");factory.start();//服务端常驻factory.sync();

客户端

直连方式ClientConfigconfig=newClientConfig();//设置长连接空闲超时时间,默认120秒config.setIdleTimeout(120);//直连时设置服务端地址config.setRegistryAddress("localhost:10086");//是否异步调用,默认为同步config.setAsync(false);ReferenceFactoryfactory=newReferenceFactory(config);//创建接口代理Saysay=factory.create(Say.class);//调用接口Stringresult=say.hello(msg);multicast方式ClientConfigconfig=newClientConfig();//开启异步调用config.setAsync(true);//指定注册地址,不填则使用默认值(234.69.69.69:56969)config.setRegistryAddress("234.69.69.69:56969");ReferenceFactoryfactory=newReferenceFactory(config);//创建指定版本的接口代理Saysay=factory.create(Say.class,"2");//调用接口,注意异步方式返回值为nullsay.hello(msg);//异步方式下需要调用如下方法获取FutureResultFuture<String>future=ResultFuture.future();//设置回调future.setOnSuccess(System.out::println);future.setOnFailure(System.out::println);//获取结果future.get();//获取结果,有等待超时时间future.get(1,TimeUnit.SECONDS);
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论