亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Spring Cloud Alibaba和Dubbo融合實現

瀏覽:4日期:2023-09-11 09:01:34

服務提供者

創建一個名為 hello-dubbo-nacos-provider 的服務提供者項目

POM

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.antoniopeng</groupId> <artifactId>hello-dubbo-nacos-provider</artifactId> <packaging>pom</packaging> <modules> <module>hello-dubbo-nacos-provider-api</module> <module>hello-dubbo-nacos-provider-service</module> </modules></project>

該項目下有兩個子模塊,分別是 hello-dubbo-nacos-provider-api 和 hello-dubbo-nacos-provider-service,前者用于定義接口,后者用于實現接口。

服務提供者接口模塊

在服務提供者項目下創建一個名為 hello-dubbo-nacos-provider-api 的模塊, 該項目模塊只負責 定義接口

POM

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.antoniopeng</groupId> <artifactId>hello-dubbo-nacos-provider</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>hello-dubbo-nacos-provider-api</artifactId> <packaging>jar</packaging></project>

定義一個接口

public interface EchoService { String echo(String string);}

服務提供者接口實現模塊

創建名為 hello-dubbo-nacos-provider-service 服務提供者接口的實現模塊,用于實現在接口模塊中定義的接口。

引入依賴

在 pom.xml 中主要添加以下依賴

<!-- Nacos And Dubbo--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-serialization-kryo</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo-registry-nacos</artifactId></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></dependency><dependency><groupId>com.alibaba.spring</groupId><artifactId>spring-context-support</artifactId></dependency><!-- 依賴接口模塊,用于實現接口 --><dependency><groupId>com.antoniopeng</groupId><artifactId>hello-dubbo-nacos-provider-api</artifactId><version>${project.parent.version}</version></dependency>

相關配置

在 application.yml 中加入相關配置

spring: application: name: dubbo-nacos-provider main: allow-bean-definition-overriding: truedubbo: scan: # 接口掃描路徑 base-packages: com.antoniopeng.hello.dubbo.nacos.provider.service protocol: name: dubbo # -1 代表自動分配端口 port: -1 # 配置高速序列化規則 serialization: kryo registry: # 服務注冊地址,也就是 Nacos 的服務器地址 address: nacos://192.168.127.132:8848 provider: # 配置負載均衡策略(輪詢) loadbalance: roundrobin

附:Duubo 負載均衡策略

random:隨機 roundrobin:輪詢 leastactive:最少活躍數 consistenthash:一致性 Hash

實現接口

通過 org.apache.dubbo.config.annotation 包下的 @Service 注解將接口暴露出去

import com.antoniopeng.hello.dubbo.nacos.provider.api.EchoService;import org.apache.dubbo.config.annotation.Service;@Service(version = '1.0.0')public class EchoServiceImpl implements EchoService { @Override public String echo(String string) { return 'Echo Hello Dubbo ' + string; }}

注意:@Service 注解要注明 version 屬性

驗證是否成功

啟動項目,通過瀏覽器訪問Nacos Server 網址 http://192.168.127.132:8848/nacos ,會發現有一個服務已經注冊在服務列表中。

服務消費者

創建一個名為 hello-dubbo-nacos-consumer 的服務消費者項目

引入依賴

同樣在 pom.xml中添加以下主要依賴

<!-- Nacos And Dubbo --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-serialization-kryo</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-actuator</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo-registry-nacos</artifactId></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></dependency><dependency><groupId>com.alibaba.spring</groupId><artifactId>spring-context-support</artifactId></dependency><!-- 依賴服務提供者接口模塊,用于調用接口 --><dependency><groupId>com.antoniopeng</groupId><artifactId>hello-dubbo-nacos-provider-api</artifactId><version>${project.parent.version}</version></dependency>

相關配置

在 application.yml 中添加以下配置

spring: application: name: dubbo-nacos-consumer main: allow-bean-definition-overriding: truedubbo: scan: # 配置 Controller 掃描路徑 base-packages: com.antoniopeng.dubbo.nacos.consumer.controller protocol: name: dubbo port: -1 registry: address: nacos://192.168.127.132:8848server: port: 8080# 服務監控檢查endpoints: dubbo: enabled: truemanagement: health: dubbo: status: defaults: memory extras: threadpool endpoints: web: exposure: include: '*'

Controller

通過 org.apache.dubbo.config.annotation 包下的 @Reference 注解以 RPC 通信的方式調用服務,而對外提供以 HTTP 通信的方式的 Restful API

import com.antoniopeng.dubbo.nacos.provider.api.EchoService;import org.apache.dubbo.config.annotation.Reference;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class EchoController { @Reference(version = '1.0.0') private EchoService echoService; @GetMapping(value = '/echo/{string}') public String echo(@PathVariable String string) { return echoService.echo(string); }}

驗證是否成功

通過瀏覽器訪問 Nacos Server 網址 http:192.168.127.132:8848/nacos ,會發現又多了一個服務在服務列表中。

然后再訪問服務消費者對外提供的 RESTful API http://localhost:8080/echo/hi,瀏覽器會響應以下內容:

Echo Hello Dubbo hi

到此,實現了 Nacos 與 Dubbo 的融合。

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 高h喷水荡肉爽文np欲 | 亚洲精品国产第七页在线 | 美国黄色片网站 | 欧美成人午夜影院 | 久草青娱乐| 日本一级毛片片免费观看 | 国产精品午夜激爽毛片 | 九九精品视频在线观看九九 | 久久草在线看 | 欧美久色 | 啪啪小视频网站 | 真正毛片| 免费a一级毛片在线播放 | 柠檬福利视频在线观看 | 一级毛片免费播放 | 手机看片在线精品观看 | 日韩毛片免费观看 | 国产欧美日韩一区二区三区 | 欧美三级不卡在线观线看高清 | 亚洲精品一区二区三区福利 | 国产大学生真实在线播放 | 中日韩毛片| 国产精品亚洲片在线不卡 | 国产精品第1页在线观看 | 欧美日韩免费在线 | 亚洲成a人片在线观看播放 亚洲成a人片在线播放观看国产 | 亚洲人成影院在线高清 | 欧美一级在线毛片免费观看 | 成人亚洲网站 | 日韩欧免费一区二区三区 | 国产精品无卡无在线播放 | 伊人久久综合影院 | 特级片在线观看 | 欧美一区二区三区不卡免费 | a级国产片免费观看 | 国产在线视精品麻豆 | 日本护士xxxxxwww | 大桥未久日韩欧美亚洲国产 | 欧美一区二区三区在线视频 | 久久色国产 | 国语对白刺激做受xxxxx在线 |