當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
3.Spring Cloud Alibaba教程:Nacos服务注册与发现
生活随笔
收集整理的這篇文章主要介紹了
3.Spring Cloud Alibaba教程:Nacos服务注册与发现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概要
- 官網地址:Nacos官網和幫助文檔
- Nacos安裝:Linux安裝Nacos1.3.1(還沒安裝的先看這篇文章安裝)
- Nacos主要作用:服務注冊與發現、配置管理
- 本篇主要介紹的是服務注冊與發現部分
定義
- 各個微服務項目將自己的 spring.application.name、ip 注冊到Nacos
- 注冊的同時也會把Nacos的注冊信息下載一份到本地,這樣在調用其他服務接口時,只需要知道對方的name和接口地址即可,不用管具體IP是多少
- 假設中途Nacos掛掉停止服務了,微服務也能繼續互相調用接口。這是因為,之前的name+ip的綁定關系已經下載到本地了,具體接口的調用不需要經過Nacos
Spring Cloud Alibaba 實現 Nacos
創建個父工程,引入相關依賴,這邊使用的版本如下
| 2.1.13.RELEASE | Greenwich.SR6 | 2.1.3.RELEASE |
父工程 pom.xml 主要部分
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.13.RELEASE</version></parent><properties><spring-cloud-version>Greenwich.SR6</spring-cloud-version><spring-cloud-alibaba-version>2.1.3.RELEASE</spring-cloud-alibaba-version></properties><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><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba-version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!--Spring Boot--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--Spring Cloud--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency></dependencies>創建生產者模塊
application.yml
spring:application:name: test-providercloud:nacos:discovery:server-addr: 192.168.25.131:8848server:port: 8010management:endpoints:web:exposure:include: "*"啟動類加上 @EnableDiscoveryClient 注解
@SpringBootApplication @EnableDiscoveryClient public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);} }定義接口,打印傳遞的name參數,并打印出當前端口號
@RestController public class HelloController {@Value("${server.port}")private String port;@RequestMapping(value = "/echo/{name}", method = RequestMethod.GET)public String echo(@PathVariable String name){return "Hello Nacos:" + name + ",Port:" + port;} }運行生產者模塊,測試echo接口正常訪問就行。然后打開Nacos管理界面,會發現當前服務已注冊到Nacos
創建消費者模塊
代碼和生產者基本一樣,這里貼出不一樣的點:
application.yml 端口號改成8020
server:port: 8020因為要用 RestTemplate 調用接口,所以需要聲明Bean
@Configuration public class ConsumerConf {@Beanpublic RestTemplate restTemplate(){return new RestTemplate();} }定義消費者接口,內部具體實現是調用生產者服務接口
@RestController public class HelloController {@Autowiredprivate RestTemplate restTemplate;@RequestMapping(value = "/echo/{name}", method = RequestMethod.GET)public String echo(@PathVariable String name){return restTemplate.getForObject("http://test-provider/echo/" + name,String.class);} }啟動消費者模塊,查看Nacos管理界面,這時候發現多了個test-consumer,說明消費者也成功注冊到Nacos了。
測試
我們的消費者是8020端口,用postman打開http://localhost:8020/echo/zhangsan,正常輸出了生產者接口實現的代碼。
工程代碼已上傳網盤,有需要可以下載學習。
鏈接:https://pan.baidu.com/s/1cKChm5-lVeMtnZL1Ma1B6w
提取碼:xnhj
最后,如果覺得這篇文章對您有所幫助,請點下贊+關注,謝謝。
本人將長期發布技術文章~~
總結
以上是生活随笔為你收集整理的3.Spring Cloud Alibaba教程:Nacos服务注册与发现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.Spring Cloud Aliba
- 下一篇: 4.Spring Cloud Aliba