RPC远程调用

在Jboot中,RPC远程调用是通过新浪的motan、或阿里的dubbo来完成的。计划会支持 grpc和thrift等。

使用步骤:

第一步:配置Jboot.properties文件,内容如下:

  1. #默认类型为 motan (支持:dubbo,计划支持 grpc thrift)
  2. jboot.rpc.type = motan
  3. #发现服务类型为 consul ,支持zookeeper
  4. jboot.rpc.registryType = consul
  5. jboot.rpc.registryAddress = 127.0.0.1:8500

第二步:定义接口

  1. public interface HelloService {
  2. public String hello(String name);
  3. }

第三步:通过@JbootrpcService注解暴露服务到注册中心

  1. @JbootrpcService
  2. public class myHelloServiceImpl implements HelloService {
  3. public String hello(String name){
  4. System.out.println("hello" + name);
  5. return "hello ok";
  6. }
  7. }

第四步:客户调用

  1. HelloService service = Jboot.me().service(HelloService.class);
  2. service.hello("michael");

如果是在Controller中,也可以通过 @JbootrpcService 注解来获取服务,代码如下:

  1. public class MyController extends JbootController{
  2. @JbootrpcService
  3. HelloService service ;
  4. public void index(){
  5. String text = service.hello();
  6. renderText(text);
  7. }
  8. }

配置中心

下载consul

https://www.consul.io

启动consul
  1. consul agent -dev

允许其他机器访问consul:

  1. consul agent -dev -client=本机局域网IP

zookeeper

下载zookeeper

http://zookeeper.apache.org/releases.html

启动zookeeper

下载zookeeper后,进入zookeeper目录下,找到 conf/zoo_example.cfg,重命名为 zoo.cfg。

zoo.cfg 内容如下:

  1. tickTime=2000
  2. dataDir=/var/lib/zookeeper
  3. clientPort=2181

在终端模式下,进入 zookeeper的更目录,执行:

  1. bin/zkServer.sh start

关于zookeeper更多的内容,请查看 http://zookeeper.apache.orghttp://zookeeper.apache.org/doc/trunk/zookeeperStarted.html