前一篇文章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(四)
? 著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務

喜歡的朋友記得點贊、收藏、關注哦!!!