nacos-作为注册中心与springcloud整合(三)
前一篇文章nacos-简介和初体验(一)我们已经在服务器部署了nacos应用了。
在另外一篇文章中nacos-作为配置中心与springcloud整合(二)已经作为配置中心整合到springcloud
接下来让我们尝试把nacos作为注册中心和springcloud中整合,代替我们springcloud eureka。
一、新建nacos-provider工程
- springboot工程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 https://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.3.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.eujian</groupId><artifactId>nacos-provider</artifactId><version>0.0.1-SNAPSHOT</version><name>nacos-provider</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.5.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build>
</project>
-
打上
@EnableDiscoveryClient
注解
新建ProviderController类提交接口
@RequestMapping
@RestController
public class ProviderController {@GetMapping("/action")public String action(@RequestParam("action") String action){return "这个是provider的:"+action;}
}
- 新建
bootstrap.properties
文件
server.port=8082
spring.cloud.nacos.discovery.server-addr=nacoshost:8848
spring.application.name=provider-demo
- 启动后调用接口
http://localhost:8082/action?action=aw
测试
二、新建nacos-cumsumer工程
- 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 https://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.3.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.eujian</groupId><artifactId>nacos-cumsumer</artifactId><version>0.0.1-SNAPSHOT</version><name>nacos-cumsumer</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>Hoxton.SR8</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build>
</project>
-
启动类增加注解
@EnableFeignClients @EnableDiscoveryClient
新建测试类CumsumerController
@RequestMapping
@RestController
public class CumsumerController {@Autowiredprivate ProviderFeign providerFeign;@GetMapping("action")public String action(@RequestParam("action") String action){String result = providerFeign.action(action);return "我是经过cumsumer的"+result;}
}
- 新建feign类ProviderFeign
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = "provider-demo")
public interface ProviderFeign {@GetMapping("action")String action(@RequestParam("action") String action);
}
- 新建
bootstrap.properties
文件
server.port=8083
spring.cloud.nacos.discovery.server-addr=nacoshost:8848
spring.application.name=cumsumer-demo
三、测试
查看nacos管理后台

执行命令http://localhost:8083/action?action=aw

码云地址:https://gitee.com/guoeryyj/nacos-demo.git
系列文章:
nacos - 简介和初体验(一)
nacos - 作为配置中心与springcloud整合(二)
nacos - 作为注册中心与springcloud整合(三)
nacos - eureka如何平滑迁移到nacos(四)
© 著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务

喜欢的朋友记得点赞、收藏、关注哦!!!