天天看點

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

作者:石杉的架構筆記

目錄

  • 什麼是伺服器?什麼是機架?什麼是機房?
  • 什麼是同城災備機房?
  • 什麼是兩地三中心的架構?
  • 什麼是多機房多活的架構?

今天給大家分享一個話題,就是多機房多活架構,這個話題可能很多兄弟從來沒聽說過,或者哪怕聽過,但是因為一直在小公司工作,也沒搞過,沒經曆過。

不過沒關系,今天我們就給大家講解講解這個大廠才會玩兒的多機房多活架構師什麼,大家也可以了解了解,就當拓個知識面出來。

什麼是伺服器?什麼是機架?什麼是機房?

說到這個多機房多活架構,首先我們得先給大家說說,啥叫做機房,這麼說吧,你平時在本地打開 intellij idea,在裡面打開項目代碼,然後用 spring boot 一類的架構寫一堆的代碼,controller+service+dao 這個畫面大家是不是很熟悉?

然後呢,然後寫完了代碼,你得把代碼打包啊,上傳到線上伺服器上啊,然後線上上伺服器裡用 jar 包重新啟動系統啊,這個過程你可以自己手工操作,也可以借助 jenkins 一類的工具自動化流水線部署。

但是大緻流程如下圖:

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

那現在問大家一個問題,你這所謂的線上伺服器,是在哪裡啊?懵逼了嗎?不知道了嗎?

那說明你這還是有問題的,這個線上伺服器其實是一個真實存在的有實體形态的一個東西,就跟你家裡的衣櫃一樣,他是看得見摸得着的。

首先,你公司如果想要提供一台伺服器給你用,他必須在一個機房裡買一台或者租用一台伺服器,這裡就有一個機房的概念,這個機房是啥呢?大概來說,就跟你住的城市郊區裡蓋的廠房看起來類似吧,他就是一個房子!

然後呢,在這個機房裡,有一些房間,房間裡呢,有一排一排的機架,或者叫做機櫃,這個機架就是一個架子,機櫃就是櫃子,機架上就放了一台一台的伺服器,伺服器就是一個一個的大黑盒子。

是以此時如下圖:

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

然後呢,這個機架上放的伺服器,就一黑盒子,他是聯網的,咱們可以通過網絡連接配接他,怎麼連接配接?

他有 ip 位址啊,你通過 ssh 一類的連接配接指令,或者是代碼裡通過網絡都可以連接配接到這台伺服器去,是以這就是你連接配接伺服器的過程。

什麼是同城災備機房?

那然後呢?問題來了,你現在了解了上述的概念,就知道了,你的系統是部署在一個看得見的機房的一個機架的一個伺服器裡的,那如果整個機房突然停電了呢?是不是會導緻你的系統就直接沒了?

對啊,就是這樣子的,是以說,我們可以在一個城市裡的另外一個機房裡,把你的系統也部署一套,此時你的系統就部署了兩個機房了。

如下圖:

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

那現在問題來了,這倆機房怎麼協同工作啊,這裡告訴你一個小秘密,一個機房裡部署的系統是會連接配接到自己的一個資料庫的,資料庫也是在那個機房的另外一台伺服器上部署的,然後平時我們就通路這個機房部署的系統就好了。

但是呢,另外一個機房裡也是有兩台伺服器,一台部署系統,一台部署資料庫。

此時我們可以讓生産機房裡的資料庫的資料實時同步到同城災備機房的那個資料庫裡去,一旦要是生産機房停電了,直接就通路同城災備機房的系統就好了啊,資料在那個機房的 mysql 了都是有的。

如下圖:

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

什麼是兩地三中心的架構?

但是這個時候問題又來了,萬一要是這個城市發生了一些自然災害,類似于洪澇、地震一類的問題,倆機房都完蛋了,這可怎麼辦啊?

此時就會出現一個兩地三中心的架構,就是一個城市裡倆機房,另外一個城市搞一個異地災備機房,讓同城災備機房的資料實時同步給異地災備機房,此時即使是一個城市發生了自然災害,那也不怕啊,别的城市還有一個機房呢。

如下圖:

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

什麼是多機房多活的架構?

但是這麼搞有一個問題,平時就用一個機房的資源,另外倆機房就是同步資料做災備的,發生停電、自然災害的時候,才會用到災備機房,這可怎麼辦呢?

是以後來又開始搞多活架構,就是說,上述三個機房都可以通路,哪個機房寫入了資料,他就會把資料同步給另外倆機房。

如下圖:

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

是以到這裡為止,就給大家講清楚了咱們的多機房多活的架構了,這一般是大廠通常會這麼搞,但是中小公司一般是不會這麼玩的,不過大家可以作為一個知識面了解一下,别人家說到多機房多活都不知道啥意思。

------------- END -------------

公司新招一個月薪50k的Java技術大咖,設計出來的架構就是牛

另外推薦儒猿課堂的1元系列課程給您,歡迎加入一起學習~

網際網路Java工程師面試突擊課(1元專享)

SpringCloudAlibaba零基礎入門到項目實戰(1元專享)

億級流量下的電商詳情頁系統實戰項目(1元專享)

Kafka消息中間件核心源碼精講(1元專享)

12個實戰案例帶你玩轉Java并發程式設計(1元專享)

Elasticsearch零基礎入門到精通(1元專享)

基于Java手寫分布式中間件系統實戰(1元專享)

基于ShardingSphere的分庫分表實戰課(1元專享)