欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud Nacos集群搭建過程詳解

 更新時間:2024年02月18日 16:01:03   作者:Damon小智  
Nacos集群不僅僅是服務(wù)注冊中心,還在微服務(wù)架構(gòu)中發(fā)揮著關(guān)鍵的角色,支持多種場景下的服務(wù)治理和協(xié)調(diào),本文介紹了如何在SpringCloud環(huán)境中搭建Nacos集群,為讀者提供了一份清晰而詳盡的指南,通過逐步演示每個關(guān)鍵步驟,讀者能夠輕松理解并操作整個搭建過程

本文詳細(xì)介紹了如何在SpringCloud環(huán)境中搭建Nacos集群,為讀者提供了一份清晰而詳盡的指南。通過逐步演示每個關(guān)鍵步驟,包括安裝、配置以及Nginx的負(fù)載均衡設(shè)置,讀者能夠輕松理解并操作整個搭建過程。 

一、Nacos集群示意圖

Nacos(Naming and Configuration Service)是一個用于服務(wù)發(fā)現(xiàn)、動態(tài)配置管理以及可視化服務(wù)管理的開源平臺。Nacos支持構(gòu)建彈性的、動態(tài)的、易于維護(hù)的微服務(wù)架構(gòu),并為大規(guī)模微服務(wù)體系的管理提供了完整的解決方案。在Nacos的集群視圖中,Nacos可以通過橫向擴(kuò)展的方式構(gòu)建多個節(jié)點(diǎn),形成一個高可用的集群,以確保系統(tǒng)的穩(wěn)定性和可靠性。

 Nacos集群特點(diǎn):

特點(diǎn)特點(diǎn)詳述
節(jié)點(diǎn)同步集群中的各個節(jié)點(diǎn)能夠相互同步數(shù)據(jù),確保配置信息和服務(wù)實(shí)例的一致性。
負(fù)載均衡Nacos集群可以通過負(fù)載均衡機(jī)制,將服務(wù)請求合理分發(fā)到各個節(jié)點(diǎn),提高系統(tǒng)的整體性能和吞吐量。
高可用性Nacos集群通過多節(jié)點(diǎn)的部署,實(shí)現(xiàn)高可用性,即使某個節(jié)點(diǎn)發(fā)生故障,集群仍能保持正常運(yùn)行。
水平擴(kuò)展集群中的節(jié)點(diǎn)可以隨著需求的增加而動態(tài)擴(kuò)展,實(shí)現(xiàn)系統(tǒng)的橫向擴(kuò)展,以適應(yīng)不斷增長的服務(wù)規(guī)模。
故障轉(zhuǎn)移集群中的節(jié)點(diǎn)能夠感知其他節(jié)點(diǎn)的狀態(tài),當(dāng)某個節(jié)點(diǎn)發(fā)生故障時,其他節(jié)點(diǎn)可以接管其工作,確保系統(tǒng)的連續(xù)性。

通過Nacos的集群視圖,可以更好地管理和維護(hù)微服務(wù)架構(gòu),提供了一個穩(wěn)定、高效、可靠的服務(wù)治理平臺。

二、Nacos集群搭建

1、安裝Nacos

 首先,我們需要從 Nacos 的官方網(wǎng)站下載發(fā)布版本。下載地址:Releases · alibaba/nacos · GitHub

選擇合適的版本并下載,解壓縮得到 Nacos 的安裝包。 

在解壓后的 Nacos 目錄中,找到 bin 文件夾。

用寫字板編輯 startup.cmd,將 set MODE= "cluster" 修改為:

set MODE= "standalone"

這將在啟動 Nacos Server 時,默認(rèn)使用 standalone 模式運(yùn)行。

修改完成后,切換 cmd 到 bin 目錄下啟動 Nacos Server:

C:\Users\Damon.Liu>d:
D:\>cd D:\Tools\Nacos\bin
D:\Tools\Nacos\bin>startup.cmd -m standalone

這里提醒我需要配一個 java8以上 的 JAVA_HOME 環(huán)境變量。

簡單配一下:

再次嘗試啟動 Nacos,這次成功了!

2、復(fù)制客戶端

復(fù)制兩份Nacos的客戶端,用端口號命名做區(qū)分。

注意端口號需要最少間隔一位,原因是 Nacos 2.0 之后,啟動 Nacos 時會占用 +1000/1001 兩個端口,如果相鄰,會導(dǎo)致啟動了一個 Nacos 之后,啟動不了相同端口的另一個 Nacos。

官方文檔說明如下:

所以,我們命名為 Nacos_8844、Nacos_8846,間隔兩位,同時和默認(rèn)的 8848 端口的 Nacos 區(qū)分開來,方便我們辨認(rèn)。

下面,對三個客戶端分別進(jìn)行修改。

3、創(chuàng)建Nacos數(shù)據(jù)庫

MySQL 創(chuàng)建名為 Nacos 的數(shù)據(jù)庫。

將 conf 文件夾下的 mysql-schema.sql 導(dǎo)入到這個庫里。

4、修改每個客戶端application.properties

① 修改端口號

首先,修改三個客戶端為不同的端口號。

端口在 conf 目錄下的 application.properties 下修改:

② 修改數(shù)據(jù)庫連接信息 

放開數(shù)據(jù)庫的三處注釋。

這里有個數(shù)據(jù)庫連接數(shù),我們就一個數(shù)據(jù)庫所以填1;

下面的 jdbc 連接信息,改為我們數(shù)據(jù)庫的賬號密碼,連接的就是我們剛剛創(chuàng)建的 Nacos 數(shù)據(jù)庫。

5、修改每個客戶端集群配置

再對每個客戶端 conf 目錄下的 cluster.conf.example 文件復(fù)制一份,改名為 cluster.conf。

修改復(fù)制出來的 cluster.conf 文件,把三個 nacos 服務(wù)端地址都添加到里面:

192.168.0.107:8844
192.168.0.107:8846
192.168.0.107:8848

?啟動三個nacos服務(wù)端,如果之前是單機(jī)模式運(yùn)行的,修改過啟動器的代碼,則需要改回來。

比如我的 startup.cmd 里之前指定了默認(rèn)啟動方式,這里需要修改這一行為:

set MODE= "cluster"

6、逐一啟動Nacos服務(wù)

修改之后,我們逐一雙擊 Stratup.cmd 啟動 Nacos:

?啟動成功之后我們可以訪問已經(jīng)啟動的 Nacos 控制臺查看:localhost:8848/nacos

?三、Nginx對Nacos反向代理

1、下載解壓Nginx

訪問 Nginx官網(wǎng)(nginx.org/en/download.html) 下載最新的穩(wěn)定版本。

?2、修改默認(rèn)端口

解壓Nginx壓縮包好后,我們來修改Nginx的默認(rèn)端口。Nginx的配置文件是conf目錄下的nginx.conf,默認(rèn)配置的nginx監(jiān)聽的端口為80,根據(jù)端口占用情況,我們可以修改位其他端口,這里我修改位40。

修改之前我們可以輸入cmd指令,查詢端口占用狀態(tài):

#查看80端口是否被占用的命令是:
netstat -ano | findstr 0.0.0.0:80
netstat -ano | findstr "80"

如果被占用了,我們可以修改 Nginx\conf\nginx.conf 文件里的監(jiān)聽端口號,來指定默認(rèn)端口。

比如,我這里換為40端口。

但建議大家還是給 Nginx 80端口,默認(rèn)端口最終我還是用的默認(rèn)80端口。 

3、啟動Nginx

接下來,我們啟動Nginx,驗(yàn)證服務(wù)是否成功開啟.。雙擊根目錄下的nginx.exe,雙擊后一個黑色的彈窗一閃而過就消失了,啟動就完成了。

然后我們訪問80端口,看到Nginx服務(wù)已經(jīng)成功運(yùn)行了。

4、配置對Nacos的反向代理

我們這里要配置 Nginx\conf\nginx.conf 文件。
listen:監(jiān)聽的端口;
(監(jiān)聽端口需要避免占用,尤其是 win-server,需要關(guān)閉IIS在80端口的默認(rèn)項(xiàng)目)
server_name:監(jiān)聽的域名(填寫 localhost 即為公網(wǎng)IP);
location 里 proxy_pass:設(shè)置轉(zhuǎn)發(fā)的目標(biāo)地址;

upstream nacos-cluster {
    server 127.0.0.1:8844;
	server 127.0.0.1:8846;
	server 127.0.0.1:8848;
}
server {
    listen       80;
    server_name  localhost;
    location /nacos {
        proxy_pass http://nacos-cluster;
    }
}

這里給出的例子的意思是:當(dāng)收到 /naocs 請求時,自動轉(zhuǎn)發(fā)請求到 Nacos 集群,通過負(fù)載均衡指定具體哪個端口的 Nacos 響應(yīng)。

修改完配置后,我們要停止之前的 Nginx 服務(wù),重啟后配置才能刷新。

5、瀏覽器訪問測試

訪問 localhost/nacos,如果顯示是 Nacos 的控制臺頁面,則說明配置成功。

四、Nacos控制臺新建配置

1、Nacos控制臺新建配置

我們訪問 Nacos 的控制臺頁面,因?yàn)槲覀儎倓傆?Nginx 轉(zhuǎn)達(dá)到集群,所以 Nacos 控制臺地址變?yōu)?nbsp;localhost/nacos,我們點(diǎn)擊新建配置。

配置起名為:test-service.yaml,類型選為 YAML 類型,配置內(nèi)容我們寫一個時間格式:

pattern:
    dateformat: yyyy-MM-dd HH:mm:ss

2、查看配置是否存入數(shù)據(jù)庫

我們打開我們剛剛創(chuàng)建的 Nacos 數(shù)據(jù)庫,查看 config-info 表:

可以看到配置已經(jīng)寫入表內(nèi)了。

至此,我們的Nacos集群搭建成功!

五、Nacos集群的應(yīng)用場景

Nacos集群在微服務(wù)架構(gòu)中具有廣泛的應(yīng)用場景,其中一些關(guān)鍵的應(yīng)用場景包括:

場景場景下功能描述
服務(wù)注冊
服務(wù)發(fā)現(xiàn)
Nacos集群作為注冊中心,可以用于服務(wù)的注冊與發(fā)現(xiàn)。微服務(wù)在啟動時將自身注冊到Nacos集群,其他微服務(wù)通過Nacos發(fā)現(xiàn)和調(diào)用這些服務(wù)。
動態(tài)配置管理Nacos提供了分布式配置管理功能,允許在運(yùn)行時動態(tài)調(diào)整應(yīng)用程序的配置。Nacos集群可以用于集中式管理配置信息,實(shí)現(xiàn)配置的動態(tài)更新和熱加載。
健康檢查
故障恢復(fù)
Nacos集群通過定期的健康檢查,能夠檢測服務(wù)的狀態(tài)并及時發(fā)現(xiàn)故障節(jié)點(diǎn)。當(dāng)某個微服務(wù)發(fā)生故障時,Nacos能夠自動剔除不可用的節(jié)點(diǎn),確保系統(tǒng)的高可用性。
動態(tài)路由基于Nacos集群,可以實(shí)現(xiàn)動態(tài)路由策略,根據(jù)服務(wù)的狀態(tài)和負(fù)載情況,動態(tài)調(diào)整請求的路由,實(shí)現(xiàn)流量的均衡和優(yōu)化。
分布式鎖
與協(xié)調(diào)
Nacos提供了分布式鎖和協(xié)調(diào)的功能,可以應(yīng)用于分布式系統(tǒng)中的同步、協(xié)作和資源競爭場景,確保多個微服務(wù)之間的有序執(zhí)行。
事件驅(qū)動架構(gòu)Nacos支持事件監(jiān)聽機(jī)制,可以通過訂閱Nacos集群中的事件,實(shí)現(xiàn)微服務(wù)架構(gòu)中的事件驅(qū)動,提高系統(tǒng)的解耦性和可維護(hù)性。

綜上所述,Nacos集群不僅僅是服務(wù)注冊中心,還在微服務(wù)架構(gòu)中發(fā)揮著關(guān)鍵的角色,支持多種場景下的服務(wù)治理和協(xié)調(diào)。

到此這篇關(guān)于SpringCloud Nacos集群搭建的文章就介紹到這了,更多相關(guān)SpringCloud Nacos集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中串行流和并行流區(qū)別小結(jié)

    java中串行流和并行流區(qū)別小結(jié)

    串行流和并行流是兩種處理流操作的方式,串行流適用于小數(shù)據(jù)量且簡單的數(shù)據(jù)處理,并行流則適用于大規(guī)模數(shù)據(jù)處理和需要并行計(jì)算的場景,能夠利用多線程并行處理,選擇使用哪種流取決于數(shù)據(jù)量大小、處理復(fù)雜度和是否需要并行計(jì)算,下面就來具體介紹一下兩者的區(qū)別
    2024-09-09
  • idea中cherry pick的用法

    idea中cherry pick的用法

    Cherry-Pick可以將一個分支的某些commit,合并到另一個分支,本文給大家分享idea中cherry pick的用法,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • JAVA模擬多線程給多用戶發(fā)送短信

    JAVA模擬多線程給多用戶發(fā)送短信

    這篇文章主要介紹了JAVA模擬多線程給多用戶發(fā)送短信,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Java 爬蟲數(shù)據(jù)異步加載如何解決

    Java 爬蟲數(shù)據(jù)異步加載如何解決

    這篇文章主要介紹了Java 爬蟲遇上數(shù)據(jù)異步加載,試試這兩種辦法!問題如何解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • java編譯器和JVM的區(qū)別

    java編譯器和JVM的區(qū)別

    在本篇文章里小編給大家整理的是一篇關(guān)于java編譯器和JVM的區(qū)別的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Java8中Map常用的遍歷方式

    Java8中Map常用的遍歷方式

    這篇文章主要給大家介紹了關(guān)于Java8中Map常用的遍歷方式,map屬于java中的頂級接口之一,區(qū)別于list,map是鍵值對的形式存在,需要的朋友可以參考下
    2023-07-07
  • Java中如何將list轉(zhuǎn)為樹形結(jié)構(gòu)

    Java中如何將list轉(zhuǎn)為樹形結(jié)構(gòu)

    這篇文章主要介紹了Java中如何將list轉(zhuǎn)為樹形結(jié)構(gòu),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • java定時任務(wù)框架elasticjob詳解

    java定時任務(wù)框架elasticjob詳解

    這篇文章主要介紹了java定時任務(wù)框架elasticjob詳解,Elastic-Job是ddframe中dd-job的作業(yè)模塊中分離出來的分布式彈性作業(yè)框架。該項(xiàng)目基于成熟的開源產(chǎn)品Quartz和Zookeeper及其客戶端Curator進(jìn)行二次開發(fā)。,需要的朋友可以參考下
    2019-06-06
  • SpringMVC使用MultipartFile實(shí)現(xiàn)文件上傳

    SpringMVC使用MultipartFile實(shí)現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了SpringMVC使用MultipartFile實(shí)現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • java面試LruCache?和?LinkedHashMap及算法實(shí)現(xiàn)

    java面試LruCache?和?LinkedHashMap及算法實(shí)現(xiàn)

    這篇文章主要為大家介紹了java面試LruCache?和?LinkedHashMap及算法實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評論