nacos集成dubbo实现远程服务调用
生活随笔
收集整理的這篇文章主要介紹了
nacos集成dubbo实现远程服务调用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 模塊劃分設計
- 2. 創建父工程
- 3. 創建公共接口
- 4. 服務端
- 5. 客戶端
- 6. nacos
- 7. 測試
- 8. 碼云開源地址
1. 模塊劃分設計
| 父工程 | nacos-dubbo | 無 |
| 服務端 | nacos-dubbo-provider | 9000 |
| 消費端 | nacos-dubbo-consumer | 8000 |
| 公共接口 | nacos-dubbo-interface | 無 |
2. 創建父工程
nacos-dubbo
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><modules><module>nacos-dubbo-interface</module><module>nacos-dubbo-provider</module><module>nacos-dubbo-consumer</module></modules><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!--服務注冊發現--><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-alibaba-nacos-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-dubbo</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies><dependencyManagement><dependencies><!--spring-cloud-alibaba 版本控制--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>3. 創建公共接口
package com.cloud.alibaba.dubbo.service;public interface DubboService {String hello(String name); }4. 服務端
package com.cloud.alibaba.dubbo.service.impl;import com.cloud.alibaba.dubbo.service.DubboService;/*** dubbo 服務端*/ @org.apache.dubbo.config.annotation.DubboService public class DubboServiceImpl implements DubboService {@Overridepublic String hello(String name) {return "hello " + name;} } package com.cloud.alibaba.dubbo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication @EnableDiscoveryClient public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class);} } server:port: 9000 spring:application:name: nacos-dubbo-providercloud:nacos:discovery:server-addr: http://localhost:8848config:server-addr: http://localhost:8848file-extension: yaml # Dubbo服務配置 dubbo:scan:base-packages: com.cloud.alibaba.dubbo.service.implprotocol:name: dubboport: -1registry:address: spring-cloud://localhost <dependency><groupId>com.gblfy</groupId><artifactId>nacos-dubbo-interface</artifactId><version>1.0-SNAPSHOT</version></dependency>5. 客戶端
package com.cloud.alibaba.dubbo.controller;import com.cloud.alibaba.dubbo.service.DubboService; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;@RestController public class DubboController {@DubboReferenceprivate DubboService dubboService ;@GetMapping("/hello")public String hello (String name) {return dubboService.hello(name) ;} } package com.cloud.alibaba.dubbo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication @EnableDiscoveryClient public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class);} } server:port: 8000 spring:application:name: nacos-dubbo-clientcloud:nacos:discovery:server-addr: http://localhost:8848config:server-addr: http://localhost:8848 # Dubbo服務配置 dubbo:protocol:name: dubboport: -1registry:address: spring-cloud://localhostcloud:subscribed-services: nacos-dubbo-provider <dependency><groupId>com.gblfy</groupId><artifactId>nacos-dubbo-interface</artifactId><version>1.0-SNAPSHOT</version></dependency>6. nacos
7. 測試
請求地址
http://localhost:8000/hello?name=gblfy8. 碼云開源地址
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的nacos集成dubbo实现远程服务调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置dns的三种方式
- 下一篇: Docker RocketMQ 集群