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

真的痛,小小的IP,大大的耦合

開(kāi)發(fā)
使用內(nèi)網(wǎng)域名來(lái)替換內(nèi)網(wǎng)IP,只是一個(gè)很小的優(yōu)化點(diǎn),但對(duì)于IP解耦卻是非常的有效。

什么是耦合?

耦合,是架構(gòu)中,本來(lái)不相干的代碼、模塊、服務(wù)、系統(tǒng)因?yàn)槟承┰蚵?lián)系在一起,各自獨(dú)立性差,影響則相互影響,變動(dòng)則相互變動(dòng)的一種架構(gòu)狀態(tài)。

感官上,怎么發(fā)現(xiàn)系統(tǒng)中的耦合?

作為技術(shù)人,每每在心中罵上下游,罵兄弟部門(mén),“這個(gè)東西跟我有什么關(guān)系?為什么需要我來(lái)配合做這個(gè)事情?”。明明不應(yīng)該聯(lián)動(dòng),卻要被動(dòng)配合,就可能有潛在的耦合。

因?yàn)镮P配置,導(dǎo)致上下游必須聯(lián)動(dòng),就是一個(gè)耦合的典型案例。

什么場(chǎng)景會(huì)引發(fā)IP耦合呢?

舉個(gè)栗子,線(xiàn)上有一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,因?yàn)槟撤N原因,例如磁盤(pán)故障,要進(jìn)行更換。運(yùn)維部署了一臺(tái)新機(jī)器,DBA部署好數(shù)據(jù)庫(kù)實(shí)例,做好了數(shù)據(jù),只等調(diào)用方切換。

調(diào)用方如何切換數(shù)據(jù)庫(kù)實(shí)例呢?

原來(lái)數(shù)據(jù)庫(kù)有個(gè)舊IP,現(xiàn)在有個(gè)新IP,要通知上游將流量切到新IP上來(lái),怎么辦?

一一通知上游切換唄。找到上游,抱歉,IP換了,麻煩修改配置重啟一下,連到新的IP上去。

不知道大家工作中會(huì)不會(huì)遇到這樣的場(chǎng)景,數(shù)據(jù)庫(kù)或者服務(wù)的IP換了,你作為上游的調(diào)用方,需要配合修改配置重啟。此時(shí)你心里可能就在罵娘了,明明變化IP的是別人,為什么配合修改配置重啟的人是我。

特別的,如果變換IP的是一個(gè)基礎(chǔ)服務(wù)或者一個(gè)基礎(chǔ)數(shù)據(jù)庫(kù),調(diào)用它的上游很多,那么可能A部門(mén)、B部門(mén)、C部門(mén),要全部找一遍,全部配合修改配置重啟。

所以這個(gè)因?yàn)镮P配置使得上下游耦合在一起的案例,其耦合范圍非常廣的,理想的情況是:誰(shuí)修改IP,只有一處修改,流量就能默默遷移過(guò)去,這就是解耦。

如何解除IP耦合?

常見(jiàn)的方法是:使用內(nèi)網(wǎng)域名替代內(nèi)網(wǎng)IP,如果沒(méi)有做這個(gè)優(yōu)化,強(qiáng)烈的建議馬上實(shí)施,將配置文件中的內(nèi)網(wǎng)IP全部干掉,全部改為內(nèi)網(wǎng)域名。

使用內(nèi)網(wǎng)域名,就不需要上游配合重啟了嗎?

假設(shè)現(xiàn)在不用內(nèi)網(wǎng)IP,改用內(nèi)網(wǎng)域名了,一個(gè)服務(wù)或者數(shù)據(jù)庫(kù)的IP變更,只需要一個(gè)地方更改,而不是所有上游更改:

  • 運(yùn)維修改內(nèi)網(wǎng)DNS,將內(nèi)網(wǎng)域名指向新的IP,如果是短連接調(diào)用,未來(lái)新的請(qǐng)求流量,自然會(huì)切到新的IP上;如果是長(zhǎng)連接調(diào)用,新的長(zhǎng)連接會(huì)連到新的IP上,但舊的長(zhǎng)連接仍然連接的是舊IP;
  • 運(yùn)維統(tǒng)一將舊IP上的連接切斷,如無(wú)意外,服務(wù)或者數(shù)據(jù)庫(kù)的連接池都有重連功能,重連后就會(huì)自動(dòng)連到新IP上去;

如此這般,只要運(yùn)維配合就可以完成IP的遷移,對(duì)于所有上游的調(diào)用方不需要配合修改配置重啟。

使用內(nèi)網(wǎng)域名來(lái)替換內(nèi)網(wǎng)IP,只是一個(gè)很小的優(yōu)化點(diǎn),但對(duì)于IP解耦卻是非常的有效。

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

責(zé)任編輯:趙寧寧 來(lái)源: 架構(gòu)師之路
相關(guān)推薦

2017-11-27 06:30:25

IP耦合架構(gòu)

2017-11-27 08:30:50

公共庫(kù)耦合架構(gòu)

2022-09-05 19:48:01

日志軟件

2024-01-07 19:48:12

2017-04-19 11:22:11

demoPool2Java

2022-01-14 19:00:37

微信微信紅包移動(dòng)應(yīng)用

2015-10-16 10:19:01

2021-06-10 09:00:33

單例模式數(shù)據(jù)庫(kù)

2021-05-17 12:12:49

數(shù)據(jù)庫(kù)架構(gòu)分離

2014-03-19 13:58:47

canvasHTML5

2011-06-06 13:58:57

臺(tái)式機(jī)推薦

2011-12-02 08:15:38

IP網(wǎng)絡(luò)

2011-12-01 09:46:57

2018-09-27 10:33:30

正則表達(dá)式CPUJava

2020-01-23 15:40:00

運(yùn)維架構(gòu)技術(shù)

2024-11-08 15:08:17

2024-04-17 08:18:22

MyBatis批量插入SQL

2019-09-02 08:39:02

路由器RAM內(nèi)存

2021-04-29 18:51:58

Git管理方式

2024-12-06 09:20:00

點(diǎn)贊
收藏

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