tp5企業(yè)網(wǎng)站開發(fā)實例企業(yè)網(wǎng)站排名優(yōu)化價格
在企業(yè)項目中使用Nacos實現(xiàn)的功能操作,以及如何在自己的環(huán)境中搭建Nacos環(huán)境,包含demo
?一. 官網(wǎng)介紹:home (nacos.io)
文檔地址:Nacos 快速開始
?二. 準(zhǔn)備Nacos環(huán)境
在公司里面很多的服務(wù)以及環(huán)境都是自己搭建的所以我在這里就從零開始搭建Nacos環(huán)境,以及后面會有在公司項目中搭建使用,這里我們使用的是2.2.1
下載地址:?Releases · alibaba/nacos (github.com)
?訪問慢或者訪問不了,可以直接在我的博客中下載該版本地址如下
【免費】nacos-server-2.2.1.zip完整下載即用資源-CSDN文庫
?接下來需要配置一下nacos配置文件
大家可以看文檔上需要這樣配置,在這里推薦一個在線工具?
Base64 在線編碼解碼 | Base64 加密解密 - Base64.us
?準(zhǔn)備以上編碼 12345678901234567890123456789012
KEY : 12345678901234567890123456789012加密 :MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
配置文件部分講解
這個配置項用于在Nacos服務(wù)中設(shè)置數(shù)據(jù)庫連接的URL、用戶名和密碼,以便于與數(shù)據(jù)庫建立連接并進行數(shù)據(jù)的讀寫操作。默認(rèn)是不打開的
?接下來配置前面加密解密的key值以及加密后的值直接在文件中搜索auth.plugin.nacos
?三. 啟動Nacos服務(wù)
1. 在Linux虛擬機中啟動
進入nacos文件夾中的bin文件中? ?mac里面不會顯示出詳細的啟動是否成功的日志需要查看輸出的logs地址 下圖有顯示最后一行? ? ? windows是直接輸出日志
sh startup.sh -m standalone
2. windows啟動方式
管理員打開cmd
startup.cmd -m standalone
3.服務(wù)注冊&發(fā)現(xiàn)和配置管理
服務(wù)注冊
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
服務(wù)發(fā)現(xiàn)
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
發(fā)布配置
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
獲取配置
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
4. 關(guān)閉服務(wù)器
Linux/Unix/Mac
sh shutdown.sh
Windows
shutdown.cmd
或者雙擊shutdown.cmd運行文件。
?四. Nacos企業(yè)項目實戰(zhàn)使用(重點)
1. Nacos配置中心傳統(tǒng)配置怎么使用?
現(xiàn)在我使用的是傳統(tǒng)的配置方式就是在 配置文件中假如這一行代碼指定哪個模塊,之后在controller包中的testcontroller創(chuàng)建引入這個配置。?
# 注冊中心傳統(tǒng)配置方式 Member是本模塊
test.nacos=Member
?TestController
package com.jiawa.train.member.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class TestController {// 測試接口@Value("${test.nacos}") // 注入 變量名就是配置文件中配置的名字private String testNacos;@GetMapping("/hello")public String hello() {return String.format("Hello Nacos Config Center!", testNacos); // 使用前面配置的變量}
}
對于簡單的項目有自定義配置不經(jīng)常修改的可以使用這種方式,但是對于企業(yè)來說這個方式是不行的,我需要開關(guān),然后每次都要修改代碼 再打包 部署不方便,而且沒有那么多的時間來弄這些,所以我們使用的是下面的第二種方式
2. 企業(yè)項目使用Nacos
首先進入github來看看依賴 :不過我已經(jīng)粘貼出來了?alibaba/spring-cloud-alibaba: Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware. (github.com)
?這個依賴寫在父模塊的pom.xml?
<dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2022.0.0.0</version><type>pom</type><scope>import</scope></dependency></dependencies>
?在你的子模塊,需要使用nacos配置中心的模塊加入 配置中心的模塊
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>
之后新建配置文件來配置nacos
?bootstrap.properties
# 注冊中心的名字
spring.application.name=member## 啟動環(huán)境 nacos會根據(jù)環(huán)境讀取不同的配置dataid : member-dev.properties
spring.profiles.active=dev## nacos server地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
## 配置中心文件后綴 默認(rèn)properties
spring.cloud.nacos.config.file-extension=properties
?查看是否引入依賴了
?
?最后訪問接口實現(xiàn)效果
?當(dāng)我修改了nacos配置在idea的日志中可以查看到是否拿到key值,拿到key值就可以修改配置的內(nèi)容
?這時候輸出的值沒有改變的話,在controller類中加一個注解。這個注解在你之后想要更換eureka注冊中心時就不用修改代碼
?值修改成功
?這篇講述的是配置中心怎么使用