RPC远程调用
在Jboot中,RPC远程调用是通过新浪的motan、或阿里的dubbo来完成的。计划会支持 grpc和thrift等。
使用步骤:
第一步:配置Jboot.properties文件,内容如下:
#默认类型为 motan (支持:dubbo,计划支持 grpc 和 thrift)
jboot.rpc.type = motan
#发现服务类型为 consul ,支持zookeeper。
jboot.rpc.registryType = consul
jboot.rpc.registryAddress = 127.0.0.1:8500
第二步:定义接口
public interface HelloService {
public String hello(String name);
}
第三步:通过@JbootrpcService注解暴露服务到注册中心
@JbootrpcService
public class myHelloServiceImpl implements HelloService {
public String hello(String name){
System.out.println("hello" + name);
return "hello ok";
}
}
第四步:客户调用
HelloService service = Jboot.me().service(HelloService.class);
service.hello("michael");
如果是在Controller中,也可以通过 @JbootrpcService 注解来获取服务,代码如下:
public class MyController extends JbootController{
@JbootrpcService
HelloService service ;
public void index(){
String text = service.hello();
renderText(text);
}
}
配置中心
下载consul
启动consul
consul agent -dev
允许其他机器访问consul:
consul agent -dev -client=本机局域网IP
zookeeper
下载zookeeper
http://zookeeper.apache.org/releases.html
启动zookeeper
下载zookeeper后,进入zookeeper目录下,找到 conf/zoo_example.cfg,重命名为 zoo.cfg。
zoo.cfg 内容如下:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
在终端模式下,进入 zookeeper的更目录,执行:
bin/zkServer.sh start
关于zookeeper更多的内容,请查看 http://zookeeper.apache.org 和 http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html