真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

服務(wù)注冊(cè)配置中心Nacos-創(chuàng)新互聯(lián)

文章目錄
  • 一. 前言
  • 二. 下載安裝
      • 1. 下載安裝包
      • 2. Windows環(huán)境安裝
      • 3. Linux環(huán)境安裝
        • 1. 單擊模式啟動(dòng)
        • 2. 集群模式啟動(dòng)
        • 3. 遠(yuǎn)程web控制
        • 4. 注冊(cè)為系統(tǒng)服務(wù)
  • 三. 基本使用
      • 1. 添加依賴
      • 2. 服務(wù)注冊(cè)
      • 3. 配置實(shí)例集群屬性
      • 4. 實(shí)例權(quán)重負(fù)載均衡
      • 5. 環(huán)境隔離
      • 6. 臨時(shí)實(shí)例與非臨時(shí)實(shí)例
  • 四. Nacos配置管理
      • 1. Nacos實(shí)現(xiàn)配置熱更新
      • 2. Nacos多環(huán)境配置共享
  • 五. Nacos集群搭建
      • 1. 搭建數(shù)據(jù)庫
      • 2. 啟動(dòng)
      • 3. 安裝Nginx

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出皋蘭免費(fèi)做網(wǎng)站回饋大家。
一. 前言

PS: 本篇博客為作者學(xué)習(xí)筆記實(shí)際技術(shù)參考意義不大,小編將持續(xù)更新完善本篇文章。
Nacos服務(wù)注冊(cè)配置中心,一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn),配置管理和服務(wù)管理平臺(tái),屬于Springcloud Alibaba 體系中的組件之一,也是目前企業(yè)開發(fā)中最流行的服務(wù)注冊(cè)與配置中心。
在這里插入圖片描述
更多詳細(xì)信息各位小伙伴可以參照Springcloud Alibaba官網(wǎng): 點(diǎn)擊跳轉(zhuǎn)官網(wǎng)
Nacos源碼地址: 點(diǎn)擊跳轉(zhuǎn)源碼地址
Nacos官網(wǎng)地址: 點(diǎn)擊跳轉(zhuǎn)官網(wǎng)
一些注冊(cè)中心特性對(duì)比:
在這里插入圖片描述

二. 下載安裝 1. 下載安裝包

Nacos既可以在Windows上使用,也可以在Linux上面使用,下面兩種系統(tǒng)的Nacos安裝小編都會(huì)介紹到,首先我們要準(zhǔn)備好Nacos的安裝包,點(diǎn)進(jìn)入Nacos的倉庫 點(diǎn)擊跳轉(zhuǎn)。
點(diǎn)擊 【發(fā)行版】就可以看到Nacos的全部歷史版本
在這里插入圖片描述
點(diǎn)擊 【標(biāo)簽】可以選擇想要的版本下載
在這里插入圖片描述
選擇好版本點(diǎn)擊最右邊的【下載】后翻到最下面就可以看到對(duì)應(yīng)的下載文件,【zip】則是windows版本 【tar.gz】就是Linux使用的版本。
在這里插入圖片描述

2. Windows環(huán)境安裝

準(zhǔn)備好Windows環(huán)境下的安裝包后,就可以開始Windows環(huán)境下Nacos的安裝了。
將準(zhǔn)備好的安裝包解壓到任意目錄下(最好是全英文的路徑)解壓后文件夾內(nèi)結(jié)構(gòu)如下:
在這里插入圖片描述
bin目錄是存放啟動(dòng)腳本的目錄 conf目錄是存放Nacos配置文件的目錄。
關(guān)于端口配置,Nacos的默認(rèn)端口是8848,如果你電腦上的其它進(jìn)程占用了8848端口,請(qǐng)先嘗試關(guān)閉該進(jìn)程。如果無法關(guān)閉占用8848端口的進(jìn)程,也可以進(jìn)入nacos的conf目錄,修改配置文件中Nacos默認(rèn)啟動(dòng)占用的端口:
在這里插入圖片描述
在這里插入圖片描述
確認(rèn)端口沒有問題后就可以進(jìn)入bin目錄啟動(dòng)cmd窗口,使用下面的命令啟動(dòng)Nacos:

startup.cmd -m standalone

也可以直接雙擊startup.cmd文件啟動(dòng)Nacos
在這里插入圖片描述
看到上面這個(gè)樣子就是啟動(dòng)成功了,也標(biāo)明了啟動(dòng)占用的端口和后臺(tái)的訪問地址。
我們用瀏覽器直接訪問http://127.0.0.1:8848/nacos即可,正常情況下會(huì)看到下面的內(nèi)容:
在這里插入圖片描述
默認(rèn)的用戶名和密碼都是 nacos 直接登錄即可,至此Windows環(huán)境下安裝Nacos就完成了

3. Linux環(huán)境安裝

對(duì)于Linux環(huán)境下Nacos安裝相對(duì)于Windows環(huán)境下的安裝要復(fù)雜一點(diǎn),首先要準(zhǔn)備好Linux版本的Nacos安裝包,其次Nacos依賴于JDK運(yùn)行,索引Linux上也需要安裝JDK才行。
沒有安裝java環(huán)境的小伙伴可以參考小編這篇文章 點(diǎn)擊跳轉(zhuǎn) 配置好java環(huán)境后就可以開始我們的安裝了。
首先將我們準(zhǔn)備好的安裝包上傳到任意目錄,列如/usr/local/然后使用下面的命令進(jìn)行解壓:

tar -xvf nacos-server-1.4.1.tar.gz

然后執(zhí)行下面的命令刪除安裝包:

rm -rf nacos-server-1.4.1.tar.gz
1. 單擊模式啟動(dòng)

首先進(jìn)入到已經(jīng)解壓好的Nacos目錄的bin目錄下:

cd /usr/local/nacos/bin

執(zhí)行下面的命令啟動(dòng)Nacos:

sh startup.sh -m standalone

下面的情況是正常啟動(dòng)了
在這里插入圖片描述
停止Nacos的命令:

sh shutdown.sh
2. 集群模式啟動(dòng)

集群模式的啟動(dòng)需要先創(chuàng)建數(shù)據(jù)庫,腳本位置:/usr/local/nacos/conf/nacos-mysql.sql利用該腳本創(chuàng)建數(shù)據(jù)庫。
緊接著我們需要配置一下Nacos的配置文件:

cd /usr/local/nacos/conf
vim application.properties

修改下面的內(nèi)容(將原來的注釋放開,)

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://10.114.12.177:3306/nacos?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

注意:此處的ip地址、端口號(hào)、數(shù)據(jù)庫名、賬號(hào)和密碼都需要按照自己的實(shí)際情況進(jìn)行修改。
啟動(dòng):

cd /usr/local/nacos/bin
sh startup.sh

查看啟動(dòng)日志:

cd /usr/local/nacos/logs
vim start.out
3. 遠(yuǎn)程web控制

我們可以執(zhí)行下面的命令放行當(dāng)前主機(jī)的8848端口,以便我們?cè)L問遠(yuǎn)程的web控制臺(tái):

firewall-cmd --zone=public --add-port=8848/tcp --permanent

放行完端口再執(zhí)行下面的命令重啟一下當(dāng)前主機(jī)的防火墻:

firewall-cmd --reload

緊接著我們就可以訪問http://當(dāng)前主機(jī)地址:8848/nacos就會(huì)出現(xiàn)下面的情況:
在這里插入圖片描述
默認(rèn)的用戶名是: nacos 默認(rèn)的密碼也是: nacos

4. 注冊(cè)為系統(tǒng)服務(wù)

為了更加方便的管理Nacos,最好是將其注冊(cè)為系統(tǒng)服務(wù)
首先使用下面的命令修改 /usr/local/nacos/bin/startup.sh 啟動(dòng)文件

vim /usr/local/nacos/bin/startup.sh

在這里插入圖片描述
將路徑修改為當(dāng)前系統(tǒng)中存放jdk的路徑:
在這里插入圖片描述
使用下面的命令創(chuàng)建并編輯nacos.service文件:

vim /lib/systemd/system/nacos.service

向文件中添加下面的內(nèi)容:

[Unit]
Description=nacos
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
 
[Install]  
WantedBy=multi-user.target

保存退出后執(zhí)行下面的命令重載一下系統(tǒng)服務(wù):

systemctl daemon-reload

就完成了Nacos的系統(tǒng)服務(wù)注冊(cè),服務(wù)名就叫nacos
之后我們就可以使用操作系統(tǒng)服務(wù)的命令對(duì)Nacos進(jìn)行操作了,下面是一些常用命令:

systemctl start nacos.service // 啟動(dòng)nacos服務(wù)
systemctl stop nacos.service // 停止nacos服務(wù)
systemctl status nacos.service // 查看nacos服務(wù)狀態(tài)
systemctl enable nacos.service // 設(shè)置為開機(jī)自啟
systemctl restart nacos.service // 重啟nacos服務(wù)
systemctl reload nacos.service // 重載nacos服務(wù) (推薦使用)
三. 基本使用 1. 添加依賴

要想使用Nacos首先要在父工程的POM文件中添加下面的依賴:

com.alibaba.cloudspring-cloud-alibaba-dependencies2.2.5.RELEASEpomimport

在這里插入圖片描述
然后修改子工程的POM文件,將下面的依賴加入其中:

com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discovery
2. 服務(wù)注冊(cè)
spring:
	application:
     name: orderservice  # 服務(wù)名
	cloud:
	 nacos:
	 	server-addr: 127.0.0.1:8848 # 服務(wù)地址

再啟動(dòng)服務(wù)就可以在后臺(tái)管理界面中的【服務(wù)列表】選項(xiàng)卡的子選項(xiàng)卡 【服務(wù)列表】中找到我們注冊(cè)的服務(wù)。
在消費(fèi)者進(jìn)行服務(wù)調(diào)用的時(shí)候也就可以通過服務(wù)名進(jìn)行調(diào)用了(orderservice代替id地址和端口),且Nacos自帶了負(fù)載均衡。

3. 配置實(shí)例集群屬性

配置當(dāng)前服務(wù)的實(shí)例歸屬于哪個(gè)集群
修改模塊的Yml配置文件:

spring:
	application:
     name: orderservice  # 服務(wù)名 可以通過相同的服務(wù)名部署多個(gè)實(shí)例
	cloud:
	 nacos:
	 	server-addr: 127.0.0.1:8848 # 服務(wù)地址
	 	discovery:
	 	  cluster-name: hangzhou # 集群名

在web控制臺(tái)中可以看到集群的信息,再編輯Yml配置文件設(shè)置負(fù)載均衡的1Rule為NacosRule,這個(gè)規(guī)則優(yōu)先會(huì)尋找與自己同集群的服務(wù),本地集群找不到提供者,才去其它集群尋找,并且會(huì)報(bào)警告。
確定了可用實(shí)例列表后,再采用隨機(jī)負(fù)載均衡挑選實(shí)例。

userservice:
  ribbon:
  	# 優(yōu)先請(qǐng)求同集群的實(shí)例
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule
4. 實(shí)例權(quán)重負(fù)載均衡

實(shí)際部署中會(huì)出現(xiàn)這樣的場(chǎng)景:服務(wù)器設(shè)備性能有差異,部分實(shí)例所在機(jī)器性能較好,另一些較差,我們希望性能好的機(jī)器承擔(dān)更多的用戶請(qǐng)求。
Nacos提供了權(quán)重配置來控制訪問頻率,權(quán)重越大則訪問頻率越高。
在這里插入圖片描述
默認(rèn)權(quán)重都是1,在服務(wù)升級(jí)和優(yōu)化時(shí)可以將該服務(wù)權(quán)重設(shè)置成0,該服務(wù)就不會(huì)再收到請(qǐng)求。

5. 環(huán)境隔離

Nacos中服務(wù)存儲(chǔ)和數(shù)據(jù)存儲(chǔ)的最外層都是一個(gè)名為namespacel的東西,用來做最外層隔離。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
修改實(shí)例的命名空間需要修改服務(wù)的配置文件,默認(rèn)都是存儲(chǔ)在public(保留空間中):

spring:
	application:
     name: orderservice  # 服務(wù)名 可以通過相同的服務(wù)名部署多個(gè)實(shí)例
	cloud:
	 nacos:
	 	server-addr: 127.0.0.1:8848 # 服務(wù)地址
	 	discovery:
	 	  cluster-name: hangzhou # 集群名
	 	  namespace: 4d6ce343-9e1b-44df-a90f-2cf2b6b3d177 # dev環(huán)境 命名空間Id

在這里插入圖片描述
注意: 只有相同命名空間的服務(wù)實(shí)例才可以相互調(diào)用

6. 臨時(shí)實(shí)例與非臨時(shí)實(shí)例

默認(rèn)在Nacos中注冊(cè)的實(shí)例都是臨時(shí)實(shí)例,那么臨時(shí)實(shí)例與非臨時(shí)實(shí)例有什么區(qū)別呢?
臨時(shí)實(shí)例: 采用心跳檢測(cè)(服務(wù)每隔一段時(shí)間就會(huì)發(fā)送一次請(qǐng)求給注冊(cè)中心Nacos確保實(shí)例的可用性)當(dāng)長(zhǎng)時(shí)間沒有向Nacos發(fā)送心跳請(qǐng)求Nacos就會(huì)在服務(wù)列表中將該實(shí)例剔除。
非臨時(shí)實(shí)例: 不會(huì)擁有心跳檢測(cè)機(jī)制,而是由Nacos主動(dòng)發(fā)送請(qǐng)求詢問實(shí)例,如果檢測(cè)到非臨時(shí)實(shí)例Nacos不會(huì)將其剔除,而是標(biāo)記為不健康狀態(tài)除非手動(dòng)刪除,否則會(huì)一直等待其恢復(fù)健康狀態(tài)。
對(duì)于配置實(shí)例是否為臨時(shí)實(shí)例需要配置實(shí)例的YAM配置文件:

spring:
	application:
     name: orderservice  # 服務(wù)名 可以通過相同的服務(wù)名部署多個(gè)實(shí)例
	cloud:
	 nacos:
	 	server-addr: 127.0.0.1:8848 # 服務(wù)地址
	 	discovery:
	 	  cluster-name: hangzhou # 集群名
	 	  namespace: 4d6ce343-9e1b-44df-a90f-2cf2b6b3d177 # dev環(huán)境 命名空間Id
	 	  ephemeral: false # 是否為臨時(shí)實(shí)例 默認(rèn)是true
四. Nacos配置管理 1. Nacos實(shí)現(xiàn)配置熱更新

Nacos處理可以擔(dān)任服務(wù)注冊(cè)中心,還可以擔(dān)任服務(wù)的配置中心,首先我們需要在模塊的POM文件中添加Nacos的配置管理依賴:

com.alibaba.cloudspring-cloud-starter-alibaba-nacos-config

然后我們?cè)诤笈_(tái)管理界面中點(diǎn)擊【配置管理】的【配置列表】模塊右上角的加號(hào)先添加一個(gè)。
在這里插入圖片描述
【Data ID】其實(shí)就是配置文件名 (必須唯一) 一般以“服務(wù)名-運(yùn)行環(huán)境.后綴” 作為文件名
列如:userservice-dev.yaml
【Group】組ID 這個(gè)自定義
【配置格式】一般都是使用YAML,根據(jù)后綴自定義
【配置內(nèi)容】根據(jù)選擇的文件格式書寫有熱更新需求的配置
在這里插入圖片描述
修改完成后點(diǎn)擊右下角的【發(fā)布】即可,由于在讀取Nacos中的配置文件之前我們實(shí)例就需要知道Nacos的服務(wù)地址等信息,所以我們一般將Naocs的配置放在加載優(yōu)先級(jí)更高的bootstrap.yml文件中
在這里插入圖片描述
: bootstrap.yml又叫引導(dǎo)文件,加載優(yōu)先級(jí)比application.yml要高
可以在resources目錄中添加一個(gè)bootstrap.yml,需要添加的配置如下:

spring:
  application:
    name: userservice # 服務(wù)名
  profiles:
    active: dev # 環(huán)境
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848 # nacos地址
      config:
        file-extension: yaml # 文件后綴名

其中“服務(wù)名”、“環(huán)境”、“文件后綴名” 其實(shí)就是我們上面在后臺(tái)創(chuàng)建的配置文件名,相應(yīng)的就會(huì)讀取后臺(tái)相應(yīng)配置文件內(nèi)容,在項(xiàng)目中我們也可以使用value注解讀取配置文件中的內(nèi)容,列如:

@Value("${pattern.dateformat}")
 private String dateformat;

要想實(shí)現(xiàn)配置熱更新還差最后一步,Ncos中的配置文件變更后,微服務(wù)無需重啟就可以感知。不過需要通過下面兩種配置實(shí)現(xiàn):
在這里插入圖片描述
需要 prefix指定的前綴名跟變量名拼接和后臺(tái)管理系統(tǒng)中的屬性一致才可生效,一般第一種方式用的比較多。
在這里插入圖片描述

2. Nacos多環(huán)境配置共享

假設(shè)一個(gè)業(yè)務(wù)場(chǎng)景,一個(gè)配置在開發(fā)環(huán)境,生產(chǎn)環(huán)境都需要用到,那么每份配置都配置一次顯然是相當(dāng)麻煩的。
在這里插入圖片描述
這樣無論是生產(chǎn)還是測(cè)試相同的配置都寫在userservice.yaml中,這樣給我們帶來了極大的便利

spring:
  application:
    name: userservice # 服務(wù)名
  profiles:
    active: dev # 環(huán)境
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848 # nacos地址
      config:
        file-extension: yaml # 文件后綴名

這樣即可以讀取到userservice-dev.yaml 配置文件的內(nèi)容,也可以讀取到userservice.yaml配置文件中的內(nèi)容,即使環(huán)境為test環(huán)境也可以讀取到userservice.yaml配置文件的內(nèi)容。
如果兩個(gè)文件中有一個(gè)相同的屬性,或者說application.yml也有一個(gè)屬性相同,那么文件的加載優(yōu)先級(jí)是:

userservice-dev.yaml >userservice.yaml >application.yml
五. Nacos集群搭建

官方給出的Nacos集群圖:
請(qǐng)?zhí)砑訄D片描述
其中包含3個(gè)nacos節(jié)點(diǎn),然后一個(gè)負(fù)載均衡器代理3個(gè)Nacos。這里負(fù)載均衡器可以使用nginx。
我們計(jì)劃的集群結(jié)構(gòu):
請(qǐng)?zhí)砑訄D片描述

三個(gè)nacos節(jié)點(diǎn)的地址:

節(jié)點(diǎn)ipport
nacos1192.168.150.18845
nacos2192.168.150.18846
nacos3192.168.150.18847

搭建集群的基本步驟:

  • 搭建數(shù)據(jù)庫,初始化數(shù)據(jù)庫表結(jié)構(gòu)
  • 下載nacos安裝包
  • 配置nacos
  • 啟動(dòng)nacos集群
  • nginx反向代理
1. 搭建數(shù)據(jù)庫

Nacos默認(rèn)數(shù)據(jù)存儲(chǔ)在內(nèi)嵌數(shù)據(jù)庫Derby中,不屬于生產(chǎn)可用的數(shù)據(jù)庫,官方推薦的最佳實(shí)踐是使用帶有主從的高可用數(shù)據(jù)庫集群
這里我們以單點(diǎn)的數(shù)據(jù)庫為例來講解。
將Nacos解壓后,首先啟動(dòng)本機(jī)mysql,創(chuàng)建nacos數(shù)據(jù)庫,并在nacos_config數(shù)據(jù)庫下執(zhí)行nacos-mysql.sql腳本 (腳本存放位置nacos/cont/nacos-mysql.sql):

mysql>source /opt/nacos/cont/nacos-mysql.sql;

進(jìn)入nacos的conf目錄,修改配置文件cluster.conf.example,重命名為cluster.conf:
然后添加內(nèi)容:

127.0.0.1:8845
127.0.0.1.8846
127.0.0.1.8847

然后修改application.properties文件,添加數(shù)據(jù)庫配置:

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.0=root
db.password.0=123
2. 啟動(dòng)

將nacos文件夾復(fù)制三份,分別命名為:nacos1、nacos2、nacos3
然后分別修改三個(gè)文件夾中的application.properties,
nacos1:

server.port=8845

nacos2:

server.port=8846

nacos3:

server.port=8847

然后我們就可以分別將他們都啟動(dòng)起來

3. 安裝Nginx

關(guān)于Nginx的安裝小編的專欄里面有對(duì)應(yīng)的文章。
修改conf/nginx.conf文件,配置如下:

upstream nacos-cluster {server 127.0.0.1:8845;
	server 127.0.0.1:8846;
	server 127.0.0.1:8847;
}
server {listen       80;
    server_name  localhost;

    location /nacos {proxy_pass http://nacos-cluster;
    }
}

而后在瀏覽器訪問:http://localhost/nacos即可。
代碼中application.yml文件配置如下:

spring:
  cloud:
    nacos:
      server-addr: localhost:80 # Nacos地址

實(shí)際部署時(shí),需要給做反向代理的nginx服務(wù)器設(shè)置一個(gè)域名,這樣后續(xù)如果有服務(wù)器遷移nacos的客戶端也無需更改配置,Nacos的各個(gè)節(jié)點(diǎn)應(yīng)該部署到多個(gè)不同服務(wù)器,做好容災(zāi)和隔離。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前文章:服務(wù)注冊(cè)配置中心Nacos-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://weahome.cn/article/diejoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部