Spring Cloud Alibaba 之 Nacos教程詳解
Nacos 技術講解
一提到分布式系統(tǒng)就不的不提一下 CAP 原則
Nacos簡介
Nacos是阿里的一個開源產品,它是針對微服務架構中的服務發(fā)現(xiàn)、配置管理、服務治理的綜合性解決方案。
官方介紹是這樣的:
Nacos致力于幫助您發(fā)現(xiàn)、配置和管理微服務。Nacos提供了一組簡單易用的特性集,幫助您實現(xiàn)動態(tài)服務發(fā)現(xiàn)、服務配置管理、服務及流量管理。Nacos幫助您更敏捷和容易地構建、交付和管理微服務平臺。Nacos是構建以“服務”為中心的現(xiàn)代應用架構的服務基礎設施。
什么是CAP
CAP原則又稱CAP定理,指的是在一個分布式系統(tǒng)中,一致性(Consistency)、可用性(Availability)、分區(qū)容錯性(Partition tolerance)。CAP 原則指的是,這三個要素最多只能同時實現(xiàn)兩點,不可能三者兼顧。
CAP 的原則下 Alibaba Naos 同時支持AP和CP模式,他根據(jù)服務注冊選擇臨時和永久來決定走AP模式還是CP模式,他這里支持CP模式對于我的理解來說,應該是為了配置中心集群,因為nacos可以同時作為注冊中心和配置中心,因為他的配置中心信息是保存在nacos里面的,假如因為nacos其中一臺掛掉后,還沒有同步配置信息, 就可能發(fā)生配置不一致的情況., 配置中心的配置變更是服務端有監(jiān)聽器,配置中心發(fā)生配置變化, 然后服務端會監(jiān)聽到配置發(fā)生變化,從而做出改變
下面我搭建一個簡單的微服務系統(tǒng),針對這個系統(tǒng)進行講解
(個人服務器,流量有限 ,請大家珍惜)點擊項目體驗地址https://ityml.com/index
系統(tǒng)架構圖:

這個主要完成一個一個前端頁面進行實時計算的功能,大家可以理解為一個簡單的計算器.
- website : 前端
- Gateway :服務網(wǎng)關
- UserCenter : 用戶服務
- MqCenter: 消息服務
- AlogirthmCenter: 計算服務
- ConfigCenter: 配置中心
- ServiceDiscovery(Nacos):服務發(fā)現(xiàn)
- CPP 為C 語言編寫的計算流程
此項目包括用到的技術棧包括,Spring Cloud Alibaba/Spring Boot/Mysql/MQ/Linux 等
什么是Nacos
官方文檔
Nacos提供「注冊中心」、「配置中心」和「動態(tài)DNS服務」三大功能。
上面是Nacos 的官網(wǎng)大家可以自行了解下,對Nacos 做一個深入的了解,正所謂師傅領進門,修行在個人,大家還要多學習,多了解
天也不早了 ,人也不少了,閑話少說,先干正事。
** Nacos 下載地址**
選擇對應版本進行解壓(注意 Nacos 解壓后 是一個完整的運行包,如果用的不熟練,不要動里面的配置信息)

下載完成后解壓后進入到 bin 目錄 在終端運行命令
MAC
sh startup.sh -m standalone
(standalone代表著單機模式運行,后看會單獨講解集群模式的搭建和啟動方法)Windows
cmd startup.cmd
啟動成功后 默認賬號密碼 nacos/nacos(初始賬號密碼)

登錄后可以看到右上角中英文切換,英語不好的同學們 可以切換到中文

配置管理主要是用來做項目配置,比如配置文件等可以用nacos來管理 因為nacos不僅僅是服務中心,也是配置中心(后面有講)
我們開發(fā)項目的配置一般有以下幾種做法:
1. 硬編碼--作為類字段的形式存在,導致:動態(tài)修改困難,沒有持久化
2. 配置文件( properties、yml 文件等)--導致:配置動態(tài)變更,可能需要重啟應用,讓配置生效。當然,你也可以在代碼中增加一個定時任務,如每隔 10s 讀取配置文件內容,讓最新的配置能夠及時在應用中生效,這樣也就免 去了重啟應用這個“較重”的運維操作。
3. DB 配置表--導致:配置動態(tài)變更,可能需要通過暴露管理接口去解決。
Nacos 真正將配置從應用中剝離出來,統(tǒng)一管理,優(yōu)雅的解決了配置的動態(tài)變更、持久化、運維成本等問題。應用自身既不需要去添加管理配置接口,也不需要自己去實現(xiàn)配置的持久化,更不需要引入“定時任務”以便降低運維成本。Nacos 提供的配置管理功能,將配置相關的所有邏輯都收攏,并且提供簡單易用的 SDK,讓應用的配置可以非常方便被 Nacos 管理起來不僅如此,Nacos提供 DNS-F功能, 可以與K8S、Spring Cloud和Dubbo等多個開源產品進行集成,實現(xiàn)服務的注冊功能。
- 服務發(fā)現(xiàn)使用來管理注冊到nacos 上的微服務,可以實現(xiàn)服務下線等功能。
- 命名空間是用來做服務環(huán)境區(qū)分,當項目需要開發(fā),測試, 生產等多個不同的配置, 命名空間就可以做配置隔離。
- 集群管理 后面會單獨講解
到此這篇關于Spring Cloud Alibaba 之 Nacos的文章就介紹到這了,更多相關Spring Cloud Alibaba Nacos內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
String在棧中,StringBuffer在堆中!所以String是不可變的,數(shù)據(jù)是共享的。StringBuffer都是獨占的,是可變的(因為每次都是創(chuàng)建新的對象?。?/div> 2015-11-11
Spring?Boot?集成JWT實現(xiàn)前后端認證的示例代碼
小程序、H5應用的快速發(fā)展,使得前后端分離已經(jīng)成為了趨勢,本文主要介紹了Spring?Boot?集成JWT實現(xiàn)前后端認證,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
手工體驗smtp和pop3協(xié)議 郵件實現(xiàn)詳解(二)
POP3/IMAP協(xié)議定義了郵件客戶端軟件和POP3郵件服務器的通信規(guī)則,這篇文章我們就來手工體驗SMTP和POP3協(xié)議的奧秘,感興趣的小伙伴們可以參考一下2017-10-10
springboot導出excel多個sheet導出的實現(xiàn)
在Java開發(fā)過程中,合理配置pom.xml文件對項目的管理和構建至關重要,通過添加依賴管理項目所需的庫,簡化了項目構建過程,同時,掌握導出excel工具類的使用,可以有效地處理數(shù)據(jù)導出需求,提高工作效率,本文結合個人經(jīng)驗2024-10-10最新評論

