supie是一个轻量级去中心的RPC框架
使用AIO通讯采用Multicast进行服务注册发现快速开始创建Mave项目
<depedecy><groupId>vip.justlive</groupId><artifactId>supie</artifactId><versio>${lastVersio}</versio></depedecy>或Gradle
compile'vip.justlive:supie:$lastVersio'服务端
直连方式ServiceCofigcofig=ewServiceCofig(10086);ServiceFactoryfactory=ewServiceFactory(cofig);//注册服务factory.register(ewSayImpl());factory.register(ewSayImpl2(),"2");factory.start();//服务端常驻factory.syc();multicast注册ServiceCofigcofig=ewServiceCofig(10086);//设置注册类型cofig.setRegistryType(1);//设置注册地址,不设置时使用默认值(234.69.69.69:56969)cofig.setRegistryAddress("234.69.69.69:56969");ServiceFactoryfactory=ewServiceFactory(cofig);//注册服务factory.register(ewSayImpl());//指定服务版本factory.register(ewSayImpl2(),"2");factory.start();//服务端常驻factory.syc();客户端
直连方式ClietCofigcofig=ewClietCofig();//设置长连接空闲超时时间,默认120秒cofig.setIdleTimeout(120);//直连时设置服务端地址cofig.setRegistryAddress("localhost:10086");//是否异步调用,默认为同步cofig.setAsyc(false);RefereceFactoryfactory=ewRefereceFactory(cofig);//创建接口代理Saysay=factory.create(Say.class);//调用接口Strigresult=say.hello(msg);multicast方式ClietCofigcofig=ewClietCofig();//开启异步调用cofig.setAsyc(true);//指定注册地址,不填则使用默认值(234.69.69.69:56969)cofig.setRegistryAddress("234.69.69.69:56969");RefereceFactoryfactory=ewRefereceFactory(cofig);//创建指定版本的接口代理Saysay=factory.create(Say.class,"2");//调用接口,注意异步方式返回值为ullsay.hello(msg);//异步方式下需要调用如下方法获取FutureResultFuture<Strig>future=ResultFuture.future();//设置回调future.setOSuccess(System.out::pritl);future.setOFailure(System.out::pritl);//获取结果future.get();//获取结果,有等待超时时间future.get(1,TimeUit.SECONDS);
评论