springcloud如何使用dubbo开发rpc服务及调用

 更新时间:2020年01月22日 11:25:48   作者:王东波  
这篇文章主要介绍了springcloud如何使用dubbo开发rpc服务及调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了springcloud如何使用dubbo开发rpc服务及调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

spring cloud中基于springboot开发的微服务,是基于http的rest接口,也可以开发基于dubbo的rpc接口。

一,创建goodsService模块

  1, 在创建的goodsService模块中再创建goodsServiceApi和goodsServiceServer模块

  2,在oodsServiceApi模块中定义接口 ,goodsServiceServer用于接口实现

  3,goodsServiceServer模块中pom文件引入相关依赖

<dependencies>
    <dependency>
      <groupId>net.biui</groupId>
      <artifactId>goods-service-api</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-dubbo</artifactId>
    </dependency>
  </dependencies>

4,goodsServiceServer中添加配置

spring:
 application:
  name: goods-service
 cloud:
  nacos:
   discovery:
    server-addr: 127.0.0.1:8848
    namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501

dubbo:
 registry:
  address: nacos://127.0.0.1:8848
 scan:
  base-packages: net.biui.impl
 protocol:
  port: 20881
  name: dubbo

5,goodsServiceServer编写接口实现

@org.apache.dubbo.config.annotation.Service
public class GoodsImpl implements GoodsApi {
  public String getGoodsName() {
    return "商品一";
  }
}

6,goodsServiceServer编写启动类

@SpringBootApplication
@EnableDiscoveryClient
public class GoodsServiceServerApplication {
  public static void main(String[] args) {
    SpringApplication.run(GoodsServiceServerApplication.class, args);
  }
}

启动后,dubbo服务会自动注册到nacos服务发现中心

二,创建调用dubbo服务的模块

  1,new -> module -> 填写信息 -> finish

  2,添加pom依赖

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-dubbo</artifactId>
    </dependency>
    <dependency>
      <groupId>net.biui</groupId>
      <artifactId>goods-service-api</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

3,添加配置

spring:
 application:
  name: demo-dubbo
 cloud:
  nacos:
   discovery:
    server-addr: 127.0.0.1:8848
    namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501

4,编写controller调用dubbo服务

@RestController
@RequestMapping("/demo")
public class demoController {

  @org.apache.dubbo.config.annotation.Reference
  GoodsApi goodsApi;

  @GetMapping("/test")
  public String test(){
    return "test " + goodsApi.getGoodsName();
  }
}

5,编写启动类

@SpringBootApplication
@EnableDiscoveryClient
public class demoDubboApplication {
  public static void main(String[] args) {
    SpringApplication.run(demoDubboApplication.class, args);
  }
}

启动后,demo-dubbo服务也会自动注册到nacos(因为nacos.register.enable默认为true,即代表自动注册,可以只订阅,不注册),对应接口返回了dubbo服务返回的信息!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Springboot集成Ehcache3实现本地缓存的配置方法

    Springboot集成Ehcache3实现本地缓存的配置方法

    EhCache是一个纯Java的进程内缓存框架,是 Hibernate 中默认的 CacheProvider,同Redis一样,EhCache 不是纯内存缓存,它支持基于内存和磁盘的二级缓存,本文介绍Springboot集成Ehcache3实现本地缓存的配置方法,感兴趣的朋友一起看看吧
    2024-04-04
  • Spring之详解bean的实例化

    Spring之详解bean的实例化

    这篇文章主要介绍了Spring之详解bean的实例化,文章内容详细,简单易懂,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2023-01-01
  • 探讨Java验证码制作(上篇)

    探讨Java验证码制作(上篇)

    很多朋友对验证码并不陌生,无论是申请账号还是某些情况下登录时都会要求输入验证码。接下来通过本文给大家介绍java验证码制作的方法,感兴趣的朋友一起学习吧
    2016-05-05
  • 关于Java的动态代理机制

    关于Java的动态代理机制

    这篇文章主要介绍了关于Java的动态代理机制,动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术,需要的朋友可以参考下
    2023-05-05
  • 分析java中全面的单例模式多种实现方式

    分析java中全面的单例模式多种实现方式

    单例模式是一种常用的软件设计模式,单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,有利于协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中。本文将介绍它的思想和多种实现方式
    2021-06-06
  • Java 中的异常处理机制详情介绍

    Java 中的异常处理机制详情介绍

    本篇文章主要介绍Java中的异常、如何处理函数抛出的异常、处理异常的原则、异常处理时,性能开销大的地方,感兴趣的小伙伴可以参考一下
    2022-09-09
  • Java爬虫(Jsoup与WebDriver)的使用

    Java爬虫(Jsoup与WebDriver)的使用

    这篇文章主要介绍了Java爬虫(Jsoup与WebDriver)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 将springboot项目生成可依赖的jar并引入到项目中的方法

    将springboot项目生成可依赖的jar并引入到项目中的方法

    SpringBoot项目默认打包的是可运行jar包,也可以打包成不可运行的jar包,本文给大家介绍将springboot项目生成可依赖的jar并引入到项目中的方法,感兴趣的朋友一起看看吧
    2023-11-11
  • Spring Boot构建优雅的RESTful接口过程详解

    Spring Boot构建优雅的RESTful接口过程详解

    这篇文章主要介绍了spring boot构建优雅的RESTful接口过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • springboot内置tomcat调优并发线程数解析

    springboot内置tomcat调优并发线程数解析

    这篇文章主要介绍了springboot内置tomcat调优并发线程数解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论