springcloud如何使用dubbo開發rpc服務及調用

 更新時間:2020-01-22 12:00:09   作者:佚名   我要評論(0)

這篇文章主要介紹了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服務返回的信息!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

  • dubbo中zookeeper請求超時問題:mybatis+spring連接mysql8.0.15的配置
  • Spring整合Dubbo框架過程及原理解析
  • 詳解SpringBoot+Dubbo集成ELK實戰
  • springboot+dubbo+validation 進行rpc參數校驗的實現方法
  • SpringBoot與Dubbo整合的方式詳解
  • SpringBoot2.0 整合 Dubbo框架實現RPC服務遠程調用方法
  • SpringBoot+Dubbo+Seata分布式事務實戰詳解
  • springboot2.0整合dubbo的示例代碼
  • SpringBoot 整合 dubbo xml實現代碼示例

相關文章

  • springcloud如何使用dubbo開發rpc服務及調用

    springcloud如何使用dubbo開發rpc服務及調用

    這篇文章主要介紹了springcloud如何使用dubbo開發rpc服務及調用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考
    2020-01-22
  • 使用Python實現Wake On Lan遠程開機功能

    使用Python實現Wake On Lan遠程開機功能

    Wake-On-LAN簡稱WOL,是一種電源管理功能;如果存在網絡活動,則允許設備將操作系統從待機或休眠模式中喚醒。許多主板廠商支持IBM提出的網絡喚醒標準。該標準允許網
    2020-01-22
  • SpringSecurity 默認表單登錄頁展示流程源碼

    SpringSecurity 默認表單登錄頁展示流程源碼

    SpringSecurity 默認表單登錄頁展示流程源碼 本篇主要講解 SpringSecurity提供的默認表單登錄頁 它是如何展示的的流程, 涉及 1.FilterSecurityInterceptor,
    2020-01-22
  • java GUI編程之監聽操作實例分析

    java GUI編程之監聽操作實例分析

    本文實例講述了java GUI編程之監聽操作。分享給大家供大家參考,具體如下: 當點擊Frame中的component組件時,會產生相應的效果,但是相應的其必須進行監聽,確定是
    2020-01-22
  • JavaScript設計模型Iterator實例解析

    JavaScript設計模型Iterator實例解析

    這篇文章主要介紹了JavaScript設計模型Iterator實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 Iter
    2020-01-22
  • java GUI編程之paint繪制操作示例

    java GUI編程之paint繪制操作示例

    本文實例講述了java GUI編程之paint繪制操作。分享給大家供大家參考,具體如下: import java.awt.*; public class Testpint { public static void main(Stri
    2020-01-22
  • java GUI編程之布局控制器(Layout)實例分析

    java GUI編程之布局控制器(Layout)實例分析

    本文實例講述了java GUI編程之布局控制器(Layout)。分享給大家供大家參考,具體如下: 布局控制器,是用來系統自動分配各個component在window內部是怎么排布的;默
    2020-01-22
  • Vue設置長時間未操作登錄自動到期返回登錄頁

    Vue設置長時間未操作登錄自動到期返回登錄頁

    Vue設置長時間未操作登錄以后自動到期返回登錄頁 首先我們寫在main.js文件中 import routerUtil from "@/utils/routerutil";//先將js文件在main.js中引入 routerU
    2020-01-22
  • Python @property裝飾器原理解析

    Python @property裝飾器原理解析

    這篇文章主要介紹了Python @property裝飾器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 1.通過@p
    2020-01-22
  • spring cloud gateway整合sentinel實現網關限流

    spring cloud gateway整合sentinel實現網關限流

    這篇文章主要介紹了spring cloud gateway整合sentinel實現網關限流,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參
    2020-01-22

最新評論

买宝宝用品赚钱吗