Nacos 技術講解
一提到分布式系統就不的不提一下 CAP 原則
什么是CAP
CAP原則又稱CAP定理,指的是在一個分布式系統中,一致性(Consistency)、可用性(Availability)、磁區容錯性(Partition tolerance),CAP 原則指的是,這三個要素最多只能同時實作兩點,不可能三者兼顧,
CAP 的原則下 Alibaba Naos 同時支持AP和CP模式,他根據服務注冊選擇臨時和永久來決定走AP模式還是CP模式,他這里支持CP模式對于我的理解來說,應該是為了配置中心集群,因為nacos可以同時作為注冊中心和配置中心,因為他的配置中心資訊是保存在nacos里面的,假如因為nacos其中一臺掛掉后,還沒有同步配置資訊, 就可能發生配置不一致的情況., 配置中心的配置變更是服務端有監聽器,配置中心發生配置變化, 然后服務端會監聽到配置發生變化,從而做出改變
下面我搭建一個簡單的微服務系統,針對這個系統進行講解
(個人服務器,流量有限 ,請大家珍惜)點擊專案體驗地址https://ityml.com/index
系統架構圖:

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

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

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

- 配置管理主要是用來做專案配置,比如組態檔等可以用nacos來管理 因為nacos不僅僅是服務中心,也是配置中心(后面有講)
我們開發專案的配置一般有以下幾種做法:
1. 硬編碼--作為類欄位的形式存在,導致:動態修改困難,沒有持久化
2. 組態檔( properties、yml 檔案等)--導致:配置動態變更,可能需要重啟應用,讓配置生效,當然,你也可以在代碼中增加一個定時任務,如每隔 10s 讀取組態檔內容,讓最新的配置能夠及時在應用中生效,這樣也就免 去了重啟應用這個“較重”的運維操作,
3. DB 配置表--導致:配置動態變更,可能需要通過暴露管理介面去解決,
Nacos 真正將配置從應用中剝離出來,統一管理,優雅的解決了配置的動態變更、持久化、運維成本等問題,應用自身既不需要去添加管理配置介面,也不需要自己去實作配置的持久化,更不需要引入“定時任務”以便降低運維成本,Nacos 提供的配置管理功能,將配置相關的所有邏輯都收攏,并且提供簡單易用的 SDK,讓應用的配置可以非常方便被 Nacos 管理起來不僅如此,Nacos提供 DNS-F功能, 可以與K8S、Spring Cloud和Dubbo等多個開源產品進行集成,實作服務的注冊功能,
- 服務發現使用來管理注冊到nacos 上的微服務,可以實作服務下線等功能,
- 命名空間是用來做服務環境區分,當專案需要開發,測驗, 生產等多個不同的配置, 命名空間就可以做配置隔離,
- 集群管理 后面會單獨講解
下一章會講解如何在Nacos 上注冊一個簡單的微服務
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/205033.html
標籤:Java
上一篇:錯誤決議:org.apache.catalina.LifecycleException: Protocol handler start failed
下一篇:Java從零進階自學路線圖
