您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Nacos如何在Springcloud 中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Nacos是什么
和Eureka,zookeeper,consul相同,Nacos也是一個注冊中心組件咯,當然是,不過它不僅僅是注冊中心。Nacos也是一個配置中心,比如SpringCloud中的Config,將配置文件版本化管理。那么Nacos到底是什么呢, 總結為官網一句話就是:Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。
下面僅介紹nacos的配置,不涉及深層的原理。
1.安裝和下載
選擇合適穩定的版本即可。下載完直接解壓即可。
2.使用注意事項
啟動單個nacos如果報錯可以先去配置好數據庫模式和單機模式啟動。
conf文件夾下找到application.properties文件添加如下配置。根據自己的數據庫情況配置。
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
同理此目錄下還有數據庫的一些文件。導入自己的MySQL中
配置單機模式,在bin目錄下面找到startup.cmd文件更改,設為standalone單機模式。
在bin目錄下面啟動cmd窗口,然后運行startup.cmd即可啟動。默認端口8848訪問地址
http://localhost:8848/nacos/
密碼也是默認nacos
3.服務注冊
編寫測試的服務注冊應用。
關鍵的pom依賴,其他的和之前的cloud應用一樣。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
yml文件
server: port: 9003 spring: application: name: nacos-payment-provider cloud: nacos: discovery: server-addr: localhost:8848 #配置Nacos地址 management: endpoints: web: exposure: include: '*'
測試controller
@RestController public class PaymentController { @Value("${server.port}") private String serverport; @GetMapping(value = "/payment/nacos/{id}") public String getpayment(@PathVariable("id") Integer id){ return "Hello Nacos Discovery: " + serverport + "\t id: " + id; } }
啟動項目發現
在服務列表可以查看到,而且很多詳細信息可以自行查看,且配置多個項目的時候,nacos可以自帶負載均衡的功能。
4.配置中心
之前在config和bus中為了完成消息配置等的同步和全局廣播需要費很大的功夫,而nacos直接省去了很多的復雜操作,用可視化的操作完成了config的配置。
創建配置應用類
pom關鍵的依賴
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!-- SpringCloud ailibaba nacos--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
application.yml
spring: profiles: # active: dev #表示開發環境 # active: test active: info
bootstrap.yml,比application的權限更大
server: port: 3377 spring: application: name: nacos-config-client cloud: nacos: discovery: server-addr: localhost:8848 #Nacos服務注冊中心地址 config: server-addr: localhost:8848 #Nacos作為配置中心地址 file-extension: yaml #指定yaml格式配置 group: TEST_GROUP namespace: 8f9b7283-0c9a-45f8-92d5-ca116f3ed1b9 #${prefix}-${spring.profile.active}.${file-extension} dataid的格式 # ${spring.application.name}-${spring.profile.active}.${file-extension} # nacos-config-client-dev.yml
配置類controller
@RestController @RefreshScope public class ConfigController { @Value("${config.info}") private String configInfo; @GetMapping("/config/info") public String getConfigInfo() { return configInfo; } }
在配置中心配置信息。
用自己的controller測試。
成功訪問到配置的信息(此處是我之前設置好的其他配置信息)
一些配置信息含義
命名空間可以自己設置,相當于不同的工作區間。
在自己的yml文件中設置好不同的信息,就可以匹配不同地方的信息。
看完上述內容,你們對Nacos如何在Springcloud 中使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。