springcloud如何使用dubbo開發(fā)rpc服務(wù)及調(diào)用
這篇文章主要介紹了springcloud如何使用dubbo開發(fā)rpc服務(wù)及調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
spring cloud中基于springboot開發(fā)的微服務(wù),是基于http的rest接口,也可以開發(fā)基于dubbo的rpc接口。
一,創(chuàng)建goodsService模塊
1, 在創(chuàng)建的goodsService模塊中再創(chuàng)建goodsServiceApi和goodsServiceServer模塊
2,在oodsServiceApi模塊中定義接口 ,goodsServiceServer用于接口實(shí)現(xiàn)
3,goodsServiceServer模塊中pom文件引入相關(guān)依賴
<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編寫接口實(shí)現(xiàn)
@org.apache.dubbo.config.annotation.Service
public class GoodsImpl implements GoodsApi {
public String getGoodsName() {
return "商品一";
}
}
6,goodsServiceServer編寫啟動(dòng)類
@SpringBootApplication
@EnableDiscoveryClient
public class GoodsServiceServerApplication {
public static void main(String[] args) {
SpringApplication.run(GoodsServiceServerApplication.class, args);
}
}
啟動(dòng)后,dubbo服務(wù)會(huì)自動(dòng)注冊(cè)到nacos服務(wù)發(fā)現(xiàn)中心
二,創(chuàng)建調(diào)用dubbo服務(wù)的模塊
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調(diào)用dubbo服務(wù)
@RestController
@RequestMapping("/demo")
public class demoController {
@org.apache.dubbo.config.annotation.Reference
GoodsApi goodsApi;
@GetMapping("/test")
public String test(){
return "test " + goodsApi.getGoodsName();
}
}
5,編寫啟動(dòng)類
@SpringBootApplication
@EnableDiscoveryClient
public class demoDubboApplication {
public static void main(String[] args) {
SpringApplication.run(demoDubboApplication.class, args);
}
}
啟動(dòng)后,demo-dubbo服務(wù)也會(huì)自動(dòng)注冊(cè)到nacos(因?yàn)閚acos.register.enable默認(rèn)為true,即代表自動(dòng)注冊(cè),可以只訂閱,不注冊(cè)),對(duì)應(yīng)接口返回了dubbo服務(wù)返回的信息!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)stream的三個(gè)常用方式(toMap,groupingBy,findFirst)
本文主要介紹了Java實(shí)現(xiàn)stream的三個(gè)常用方式,主要包括toMap,groupingBy,findFirst,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
教你從頭開始用JAVA創(chuàng)建一個(gè)自己的簡(jiǎn)單API并實(shí)現(xiàn)第三方調(diào)用
在日常開發(fā)的時(shí)候,經(jīng)常會(huì)遇到需要調(diào)用別人的接口的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何從頭開始用JAVA創(chuàng)建一個(gè)自己的簡(jiǎn)單API并實(shí)現(xiàn)第三方調(diào)用的相關(guān)資料,需要的朋友可以參考下2023-12-12
IDEA如何一鍵部署SpringBoot項(xiàng)目到服務(wù)器
文章介紹了如何在IDEA中部署SpringBoot項(xiàng)目到服務(wù)器,使用AlibabaCloudToolkit插件進(jìn)行配置部署,步驟包括設(shè)置服務(wù)名稱、選擇文件上傳類型、選擇jar文件、添加服務(wù)器信息、輸入上傳路徑、選擇上傳后執(zhí)行的腳本以及執(zhí)行前的操作命令2024-12-12
Java實(shí)現(xiàn)KFC點(diǎn)餐系統(tǒng)過程解析
這篇文章主要介紹了Java實(shí)現(xiàn)KFC點(diǎn)餐系統(tǒng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
WebUploader+SpringMVC實(shí)現(xiàn)文件上傳功能
WebUploader是由Baidu團(tuán)隊(duì)開發(fā)的一個(gè)簡(jiǎn)單的以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件。這篇文章主要介紹了WebUploader+SpringMVC實(shí)現(xiàn)文件上傳功能,需要的朋友可以參考下2017-06-06
詳解spring cloud hystrix請(qǐng)求緩存(request cache)
這篇文章主要介紹了詳解spring cloud hystrix請(qǐng)求緩存(request cache),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
Java function函數(shù)式接口的使用方法與實(shí)例
這篇文章主要介紹了Java function函數(shù)式接口的使用方法與實(shí)例,函數(shù)式接口如一支未完成的詩篇,用Lambda表達(dá)式作韻腳,將代碼的機(jī)械美感與藝術(shù)的抽象融為一體,悄然重構(gòu)了開發(fā)者對(duì)代碼之美的認(rèn)知,需要的朋友可以參考下2025-02-02

