国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
配置中心,互聯(lián)網(wǎng)架構(gòu)解耦利器

小小的ip,大大的耦合》提到,因?yàn)?變更ip,導(dǎo)致上游重啟一大片'的不合理架構(gòu),可以使用“內(nèi)網(wǎng)域名代替內(nèi)網(wǎng)ip”的方式解耦

 

這一次,隨著流量的越來越大,一個(gè)服務(wù)集群由3個(gè)節(jié)點(diǎn)增加到5個(gè)節(jié)點(diǎn),擴(kuò)容增加了兩個(gè)ip,居然也要調(diào)用方修改配置,重啟一大片?

 

因?yàn)?strong>調(diào)用服務(wù)集群配置關(guān)聯(lián)在一起,導(dǎo)致下游服務(wù)擴(kuò)容時(shí)上游需要配合重啟,是一個(gè)耦合的典型案例。

 

一、場(chǎng)景還原

user-service是一個(gè)下游底層通用服務(wù),原集群有3個(gè)節(jié)點(diǎn):ip1, ip2, ip3。

上游service1、service2、web1等三個(gè)上游要調(diào)用user-service。

隨著業(yè)務(wù)、數(shù)據(jù)量、并發(fā)的增長(zhǎng),user-service慢慢扛不住了,擴(kuò)容新增ip4和ip5兩個(gè)節(jié)點(diǎn)。


此時(shí)user-service的維護(hù)者,要通知所有的上游s1/s2/web1,讓其協(xié)助增加兩個(gè)ip節(jié)點(diǎn)(通過《小小的ip,大大的耦合》的描述,其實(shí)是增加兩個(gè)內(nèi)網(wǎng)域名),然后重啟,以便于將流量導(dǎo)入到新的節(jié)點(diǎn)上去。

 

歷史總是驚人的相似,明明是下游擴(kuò)容,為何需要上游修改配置,重啟呢?

 

二、耦合如何產(chǎn)生的?

上游web1站點(diǎn),一般有個(gè)獨(dú)有的配置文件,假設(shè)叫web1.conf,它里面會(huì)記錄web1站點(diǎn)相關(guān)的配置,例如:

web1.log.path : /opt/logs/web1/

web1.connection.timeout : 2000ms

web1.thread.num : 200

 

web1調(diào)用了user-service,所以web1.conf里肯定也記錄了user-service的相關(guān)配置:

web1.user-service.ip : ip1/ip2/ip3

web1.user-service.port : 5858


在創(chuàng)業(yè)初期,此類配置比比皆是,無可厚非,人稱“配置私藏”。

 

service1和service2也都調(diào)用了這個(gè)底層的公共服務(wù),service1.conf service2.conf 有類似的配置:

serviceX.user-service.ip : ip1/ip2/ip3

serviceX.user-service.port : 5858

 

三、“配置私藏”為何導(dǎo)致耦合?

配置私藏,它的本質(zhì)“配置數(shù)據(jù)的擴(kuò)散”


本來下游user-service配置數(shù)據(jù)只應(yīng)該存在一份,但這個(gè)配置數(shù)據(jù)擴(kuò)散到不同的上游,所私藏的配置文件里,人手一份。


這就導(dǎo)致,當(dāng)這個(gè)配置數(shù)據(jù)發(fā)生變化時(shí),所以私藏這份配置的上游,都需要修改配置,以保證數(shù)據(jù)一致性

 

四、如何解除“配置私藏”,因?yàn)樯舷掠握{(diào)用而產(chǎn)生的耦合?

答:配置中心。

如上圖,配置中心一般由若干個(gè)組件組成,其細(xì)節(jié)不是本文的重點(diǎn),故在此展開。


配置中心是一個(gè)典型的邏輯上解耦、物理上不解耦的一個(gè)架構(gòu)優(yōu)化工具(如果大家還有印象《MQ,互聯(lián)網(wǎng)架構(gòu)解耦神器》提到,MQ是一個(gè)邏輯上解耦,物理上也解耦的一個(gè)架構(gòu)優(yōu)化工具)。


物理依賴,指物理上要建立連接,產(chǎn)生依賴:

  • MQ解耦,上游和下游不會(huì)建立物理連接

  • 配置中心解耦,上游和下游依然會(huì)建立物理連接

但很多時(shí)候,當(dāng)關(guān)注下游處理結(jié)果的時(shí)候,上下游不能使用MQ通訊,而必須使用RPC(詳見《MQ,互聯(lián)網(wǎng)架構(gòu)解耦神器》)。


配置中心的一些要點(diǎn)

  • 所有通用配置,基礎(chǔ)配置由配置中心統(tǒng)一維護(hù),數(shù)據(jù)只存儲(chǔ)一份,不再有“配置私藏”

  • 所有上游通過配置中心來訂閱下游配置

  • 所有下游的配置變更,例如擴(kuò)容時(shí),通過配置中心統(tǒng)一修改

  • 配置中心將變更后的配置通知所有上游訂閱方

  • 訂閱方得知下游服務(wù)擴(kuò)容或者縮容后,通過動(dòng)態(tài)連接池,自動(dòng)新增或者銷毀連接,實(shí)現(xiàn)自動(dòng)擴(kuò)容與縮容,大部分服務(wù)發(fā)現(xiàn)都是這么做的


五、總結(jié)

A、“配置私藏”導(dǎo)致的耦合,本質(zhì)是由一份配置數(shù)據(jù)的冗余引起的。

B、配置中心對(duì)于“配置私藏”的上下游解耦非常有效。

C、MQ和ConfCenter常見的互聯(lián)網(wǎng)架構(gòu)解耦利器

  • 前者,邏輯解耦,物理解耦

  • 后者,邏輯解耦,物理不解耦

 

大家每天收獲一點(diǎn)點(diǎn),架構(gòu)就能美好一點(diǎn)點(diǎn)。

你痛過嗎,下游擴(kuò)容你被迫重啟過嗎?那幫轉(zhuǎn)下。


相關(guān)文章:

MQ,互聯(lián)網(wǎng)架構(gòu)解耦神器

一分鐘實(shí)現(xiàn)連接池

小小的IP,大大的耦合

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
“配置”也有架構(gòu)演進(jìn)?看完深有痛感
集群信息管理,架構(gòu)設(shè)計(jì)中最容易遺漏的一環(huán)
你的解耦戰(zhàn)術(shù),決定了架構(gòu)高度!
微服務(wù)架構(gòu)的兩大解耦利器與最佳實(shí)踐
對(duì)SpringCloud微服務(wù)架構(gòu)的理解
Service Mesh是什么技術(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服