nacos集成dubbo实现远程服务调用
生活随笔
收集整理的這篇文章主要介紹了
nacos集成dubbo实现远程服务调用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 模塊劃分設(shè)計(jì)
- 2. 創(chuàng)建父工程
- 3. 創(chuàng)建公共接口
- 4. 服務(wù)端
- 5. 客戶端
- 6. nacos
- 7. 測(cè)試
- 8. 碼云開(kāi)源地址
1. 模塊劃分設(shè)計(jì)
| 父工程 | nacos-dubbo | 無(wú) |
| 服務(wù)端 | nacos-dubbo-provider | 9000 |
| 消費(fèi)端 | nacos-dubbo-consumer | 8000 |
| 公共接口 | nacos-dubbo-interface | 無(wú) |
2. 創(chuàng)建父工程
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><!--服務(wù)注冊(cè)發(fā)現(xiàn)--><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. 創(chuàng)建公共接口
package com.cloud.alibaba.dubbo.service;public interface DubboService {String hello(String name); }4. 服務(wù)端
package com.cloud.alibaba.dubbo.service.impl;import com.cloud.alibaba.dubbo.service.DubboService;/*** dubbo 服務(wù)端*/ @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服務(wù)配置 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服務(wù)配置 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. 測(cè)試
請(qǐng)求地址
http://localhost:8000/hello?name=gblfy8. 碼云開(kāi)源地址
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的nacos集成dubbo实现远程服务调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 配置dns的三种方式
- 下一篇: Docker RocketMQ 集群