日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
配置中心,互聯(lián)網(wǎng)架構(gòu)解耦利器

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

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

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

一、場景還原

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

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

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

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

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

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

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

 
 
 
 
  1. web1.log.path : /opt/logs/web1/
  2. web1.connection.timeout : 2000ms
  3. web1.thread.num : 200

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

 
 
 
 
  1. web1.user-service.ip : ip1/ip2/ip3
  2. web1.user-service.port : 5858

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

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

 
 
 
 
  1. serviceX.user-service.ip : ip1/ip2/ip3
  2. serviceX.user-service.port : 5858

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

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

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

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

四、如何解除“配置私藏”,因為上下游調(diào)用而產(chǎn)生的耦合?

答:配置中心。

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

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

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

  • MQ解耦,上游和下游不會建立物理連接
  • 配置中心解耦,上游和下游依然會建立物理連接

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

配置中心的一些要點:

  • 所有通用配置,基礎(chǔ)配置將由配置中心統(tǒng)一維護,數(shù)據(jù)只存儲一份,不再有“配置私藏”
  • 所有上游通過配置中心來訂閱下游配置
  • 所有下游的配置變更,例如擴容時,通過配置中心統(tǒng)一修改
  • 配置中心將變更后的配置通知所有上游訂閱方
  • 訂閱方得知下游服務(wù)擴容或者縮容后,通過動態(tài)連接池,自動新增或者銷毀連接,實現(xiàn)自動擴容與縮容,大部分服務(wù)發(fā)現(xiàn)都是這么做的

五、總結(jié)

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

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

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

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

【本文為專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】


新聞標(biāo)題:配置中心,互聯(lián)網(wǎng)架構(gòu)解耦利器
本文路徑:http://www.5511xx.com/article/cdjhjeo.html