046-dubbo

作者: 郭艺宾 | 来源:发表于2018-08-03 10:42 被阅读7次

    Dubbo 是阿里巴巴开源的基于 Java 的高性能 RPC 框架,本文介绍 Spring Boot 集成 Dubbo 的开发过程。

    注意:

    注册中心使用zookeeper,自行搭建,本文zk地址为localhost:2181。

    本文使用的springboot版本为2.0.5,低版本有可能报错。

    dubbo的start项目为dubbo-spring-boot-starter,可以进行依赖。

    一个简单的dubbo分布式项目可以保护生产者(provider),消费者(consumer)和api定义项目。

    Api项目

    首先进行接口的定义,创建 46-spring-boot-dubbo-api 项目,pom内容如下:

    可以看到是一个很简单的项目,没有进行任何依赖。项目结构和代码如下:

    项目只有一个接口,接口中定义了一个简单的api方法,这样一个简单的api项目就完成了,执行 install 打包并安装到本地。

    生产者服务

    接下来定义生产者。首先定义依赖,主要内容如下:

    可以看到使用的是springboot2.0.5,依赖了dubbo的start项目和api项目,其它都很简单。启动类不需要修改。接下来看配置文件:

    可以看到,application,protocol,registry等都是原来dubbo的配置。接下来定义服务生产者的接口实现:

    接口的实现方法中并没有特别的东西,需要注意的是@Service注解并不是原来spring的注解,而是在dubbo中定义的,属性中包含了接口所在服务的版本,名称id,协议,注册中心等等。

    此时生产者的项目已经完成,启动项目可以看到注册成功:

    一个生产者服务项目就完成了。

    消费者服务

    最后编写消费者项目。首先定义依赖,主要内容如下:

    可以看到主要内容和生产者一样。接下来修改配置文件,内容如下:

    基本上就是定义了dubbo的一些基本属性,与生产者基本一致。

    接下来定义一个调用 RPC 服务的方法:

    最后在消费者项目中,定义一个简单的接口调用此方法,验证结果:

    消费者项目完成了,接下来启动项目:

    可以看到启动和注册成功。

    最后测试,情况控制台,并在浏览器访问此接口:

    生产者和消费者的控制台分别如下:

    成功!!!

    代码地址: https://gitee.com/blueses/spring-boot-demo

    相关文章

      网友评论

        本文标题:046-dubbo

        本文链接:https://www.haomeiwen.com/subject/oukyvftx.html