自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Apollo 太重,最終選擇了 Nacos

開發(fā) 前端
我們來(lái)看看 nacos,首先,它沒有將配置中心拆成很多個(gè)服務(wù),其次,它的負(fù)載均衡方案也比較簡(jiǎn)單,一個(gè) SLB 就可以搞定。要知道 nacos 同樣也維護(hù)著與客戶端的長(zhǎng)連接。

今天這篇文章將重點(diǎn)分析 nacos 和 apollo 在設(shè)計(jì)上的差異;以下分析基于 apollo 1.8.0 和 nacos 2.1.0。

安全性的差異

這里說(shuō)的安全性,不是指控制臺(tái)讀配置中心,而是客戶端讀配置中心。

之前我說(shuō)過(guò),如果所有環(huán)境都共用一個(gè)配置中心,會(huì)存在安全問(wèn)題。因?yàn)殚_發(fā)人員能拿到測(cè)試環(huán)境的配置,按理也能拿到生產(chǎn)環(huán)境的配置。

圖片

為了解決這個(gè)問(wèn)題,一般有兩個(gè)方案:

①不同環(huán)境使用不同的配置中心。

apollo 用的就是這一種,當(dāng)客戶端需要獲取生產(chǎn)配置時(shí),運(yùn)維需要在項(xiàng)目的啟動(dòng)參數(shù)中指定生產(chǎn)環(huán)境的配置中心。

這種方案要想可靠,生產(chǎn)環(huán)境的 config server 地址絕對(duì)不能泄露??膳碌氖?,我曾經(jīng)就遇到過(guò)直接把 config server 注冊(cè)到公用 eureka 上面的。

圖片

②不同環(huán)境使用同一的配置中心,但要做好環(huán)境隔離。

nacos 則采用這一種,隔離的方案就是命名空間 + 鑒權(quán)。

和 apollo 不同,客戶端去讀 nacos 是需要賬號(hào)密碼的,當(dāng)客戶端需要獲取生產(chǎn)配置時(shí),運(yùn)維需要在項(xiàng)目的啟動(dòng)參數(shù)中指定生產(chǎn)環(huán)境的 namespace 以及對(duì)應(yīng)的賬號(hào)密碼。

圖片

上面說(shuō)到了 namespace。apollo 和 nacos 都有這個(gè)概念,不過(guò),在 apollo 里,namespace 可以看成是一個(gè)具體的配置文件,而 nacos 里,namespace 表示具體的環(huán)境。

它們的數(shù)據(jù)模型如下圖:

圖片

使用 apollo 是通過(guò)連接不同的 config server 來(lái)區(qū)分環(huán)境,而 nacos 則通過(guò)指定 namespace 來(lái)區(qū)分。

綜上,我們知道,要想確保安全,使用 apollo 時(shí)不能泄露 config server 生產(chǎn)環(huán)境的地址,使用 nacos 時(shí)不能泄露對(duì)應(yīng)生產(chǎn)環(huán)境 namespace 的賬號(hào)密碼。

如果要說(shuō)哪種方案更安全,我會(huì)更傾向于 nacos,因?yàn)橄啾荣~號(hào)密碼,服務(wù)器地址會(huì)更容易泄露。

系統(tǒng)復(fù)雜度的差異

在講 apollo 的設(shè)計(jì)時(shí),我吐槽過(guò),apollo 的架構(gòu)太重了。

首先,它把配置中心拆成了 config service、admin service、portal,這一點(diǎn)我倒是可以接受。

我不能接受的是,apollo 為了實(shí)現(xiàn)客戶端到 config service 的負(fù)載均衡而引入了過(guò)多的組件。

如圖,增加了 SLB、meta server、eureka 等組件,這個(gè)我真的覺得沒必要,直接使用 SLB 來(lái)做負(fù)載均衡就行。

圖片

但官方說(shuō)之所以這么設(shè)計(jì)是為了避免客戶端和 config service 之間的長(zhǎng)連接給 SLB 增加過(guò)多的負(fù)擔(dān),這么說(shuō)的話,,也不無(wú)道理。

不過(guò),有一點(diǎn)比較好的就是,apollo 把 config service、eureka 和 meta server 打包在一起部署。

我們來(lái)看看 nacos,首先,它沒有將配置中心拆成很多個(gè)服務(wù),其次,它的負(fù)載均衡方案也比較簡(jiǎn)單,一個(gè) SLB 就可以搞定。要知道 nacos 同樣也維護(hù)著與客戶端的長(zhǎng)連接。

圖片

那么,這兩種架構(gòu)哪種更好呢?我會(huì)更傾向于使用 nacos,至少中小型系統(tǒng)我會(huì)這么選擇,因?yàn)樗?jiǎn)單。

責(zé)任編輯:武曉燕 來(lái)源: 碼猿技術(shù)專欄
相關(guān)推薦

2023-02-27 16:24:17

架構(gòu)開發(fā)數(shù)字化

2023-09-12 13:12:23

服務(wù)器系統(tǒng)

2021-02-10 09:54:15

分布式NacosApollo

2020-02-17 15:39:01

金山文檔

2024-10-17 14:14:29

2023-11-06 18:32:04

交叉驗(yàn)證機(jī)器學(xué)習(xí)

2010-05-13 11:28:54

2022-07-14 08:36:28

NacosApollo長(zhǎng)輪詢

2023-09-26 21:59:48

安全REST軟件架構(gòu)

2019-10-15 11:13:27

物聯(lián)網(wǎng)人工智能數(shù)據(jù)

2024-01-08 08:44:06

2024-02-04 09:19:00

Nacos動(dòng)態(tài)化線程池

2022-03-04 15:19:59

Spring BooJavaVert.x

2020-06-10 09:06:48

MongoDB架構(gòu)高可用

2017-02-27 15:19:04

2025-02-12 09:23:37

2022-03-23 10:09:27

CIOTarget公司首席

2010-08-30 10:48:40

職場(chǎng)

2017-04-26 17:10:00

咕咚MVCMVVM

2023-12-21 21:09:47

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)