只有程序員才能讀懂的西遊記

這是一個有關計算機網絡協議的故事。nginx

1、我佛造經傳極樂

 

話說我佛如來爲度化天下蒼生,有三藏真經,可勸人爲善。算法

就如圖中所示,真經所藏之處,在於雲端。佛祖所管轄之下,有四個區域Region,稱爲四大部洲, 一是東勝神洲,二是南贍部洲,三是西牛賀洲,四是北俱盧洲。數據庫

我佛所在西牛賀洲,是主站點。編程


在每一個區域Region,爲保證真經永固,設置多個藏經樓,稱爲可用區(Available Zone)。json

每一個藏經樓裏面是一排一排的櫃子,稱爲機櫃,裏面有一排一排的格子,稱爲服務器,經文就擺放在格子中。後端

 

 

 

在藏經樓中,櫃子根據經文分門別類的組織起來,由不一樣的神仙進行管理,管理一個櫃子的經文的神仙,訪問這裏面經文的鑰匙就在他手裏,稱爲接入層神仙(接入層交換機)。瀏覽器

多個接入層神仙被一組匯聚層神仙(匯聚層交換機)管着,多個匯聚層的神仙被一組核心層神仙(核心交換機)管着。緩存

神仙體系組織嚴格,井井有條,不一樣的接入層神仙交換經文,要經過匯聚層神仙贊成,不一樣的匯聚層神仙交換經文,須要核心層神仙贊成。安全

經文的看守要萬無一失,於是每一層都是分組看護,互相監督,互相備份,稱爲堆疊。服務器

雖然說每一個櫃子裏面放滿了經文,爲了防止經文被偷聽偷看,經文的內容是被仙術封裝在一個虛擬的私密空間裏面,雖然有人可能會偷到物質的經文,可是沒有仙術打開這個私密空間,看到的經文如同空白的同樣。這個虛擬的私密空間稱爲VPC。

要解讀經文,須要使用每一格中一個不起眼的法寶,就是稱爲Openvswitch的虛擬交換機,顧名思義就是起到經文在虛擬私密空間和物理空間之間的轉換做用。

Openvswitch如何轉換呢?使用的是一種稱爲VXLAN的封裝技術,可是必需要事先知道芝麻開門的ID,也即VXLAN ID,才能看到經文的真正內容。

在虛擬的空間中,放着真正能夠解讀的真經。

 

 

真經有法一藏,談天;論一藏,說地;經一藏,度鬼;三藏共計三十五部,該一萬五千一百四十四卷,乃是修真之徑,正善之門。

看來已經前中後臺分離,分爲基礎服務層,組合服務層,Controller層,共三十五個模塊,一萬五千多個服務,真是微服務架構啊。

如何可以不要迷失在這個一萬五千卷經文中,也是頗有挑戰的事情,須要一個索引和指南,這就是常說的RPC框架和服務註冊與發現中心。

爲了方便諸多僧侶前來取經,靈山腳下會有一個統一的入口地址,這裏有一個神仙,稱爲金頂大仙,專門來接應取經人的。

 

因爲前來取經的人不少,同時經文也不少,因此金頂大仙多起到負載均衡的做用,將不一樣的取經人引領到不一樣的藏經樓,訪問不一樣的經文。

金頂大仙所在的靈山腳下,是一個世界知名的地址,稱爲外網IP地址,這個地址是全球可定位的,全部的取經人都先到這個地方,金頂大仙經過NAT規則,將外網IP地址,變成藏經樓的私有IP地址,例如2號藏經樓三樓,4號藏經樓五樓等。在靈山藏經樓裏面,是經過私有IP地址定位的。

真經已經準備好,就差東土取經人了。

2、觀音奉旨上長安

但是佛祖愁啊,是這樣說的:我待要送上東土,叵耐那方衆生愚蠢,毀謗真言,不識我法門之要旨,怠慢了瑜迦之正宗。怎麼得一個有法力的,去東土尋一個善信.教他苦歷千山,遠經萬水,到我處求取真經,永傳東土,勸他衆生,卻乃是個山大的福緣,海深的善慶、誰肯去走一遭來?

真經就在靈山,能夠東土之人愚鈍,不知道靈山咋辦呢?要一個法力無邊的人告訴他們呀。並且最好可以告訴全世界,靈山這裏有真經。

好在有觀音菩薩,道:「弟子不才,願上東土尋一個取經人來也。」,觀音菩薩有什麼法力呢?固然是BGP協議了。

剛纔那張圖畫的是一個可用區的狀況,對於多個可用區的狀況,咱們能夠隱去計算節點的狀況,將外網訪問區域放大。

 


外網IP是放在虛擬網關的外網網口上的,這個IP如何讓全世界知道呢?在覈心交換外面是安全設備,而後就是邊界路由器。邊界路由器會和多個運營商鏈接,從而每一個運營商都可以訪問到這個網站。邊界路由器能夠經過BGP協議,將本身數據中內心面的外網IP向外廣播,也就是告訴全世界,若是要訪問這些外網IP,都來我這裏。

每一個運營商也有不少的路由器、不少的點,因而就能夠將如何到達這些IP地址的路由信息,廣播到全國乃至全世界。

厲害吧,這是我佛如來告訴觀音菩薩的:「這一去。要踏看路道,不準在霄漢中行,須是要半雲半霧;目過山水,謹記程途遠近之數,叮嚀那取經人。「

就是說你去東土的路上,通過了哪些道路,要記住路徑,要記住遠近,才能告訴取經人這一路應該怎麼走。

3、玄奘秉誠建大會

當觀音菩薩來到東土大唐,正看到玄奘法師正坐在高臺上,帶領衆人誦經,念一會《受生度亡經》,談一會《安邦天寶篆》,又宣一會《勸修功卷》。

菩薩近前來,叫道:「那和尚,你只會談小乘教法,可會談大乘麼?」玄奘聞言,心中大喜,翻身跳下臺來,對菩薩起手道:「老師父,弟子失瞻,多罪。見前的蓋衆僧人,都講的是小乘教法,殊不知大乘教法如何。」菩薩道:「你這小乘教法,度不得亡者超升,只可渾俗和光而已。我有大乘佛法三藏,能超亡者昇天,能度難人脫苦,能修無量壽身,能做無來無去。」

 

 

 

你看,在西方極樂淨土,我佛已經有了更牛的佛經,遙遠的東方,還在讀本土的僧人早期從西方傳過來的經。

這種模式,稱爲CDN。

 


咱們部署應用的時候,通常會把靜態資源保存在兩個地方,一個是nginx後面的varnish緩存裏面,通常是靜態頁面;對於比較大的、不常常更新的靜態圖片,會保存在對象存儲裏面。這兩個地方的靜態資源都會配置CDN,將資源下發到邊緣節點。

最初佛祖傳經,都是口口相傳,經文都會記在高僧大德的內心,隨着高僧雲遊天下,隨着廟宇遍及天下,佛經從而遍及天下。這就至關於將佛經緩存在邊緣節點。

配置了CDN以後,權威DNS服務器上,會爲靜態資源設置一個CNAME別名,指向另一個域名cdn.com,返回給本地DNS服務器。

當本地DNS服務器拿到這個新的域名時,須要繼續解析這個新的域名。這個時候,再訪問的時候就不是原來的權威DNS服務器了,而是 cdn.com 的權威DNS服務器。這是CDN本身的權威DNS服務器。

在這個服務器上,仍是會設置一個CNAME,指向另一個域名,也即CDN網絡的全局負載均衡器。

本地DNS服務器去請求CDN的全局負載均衡器解析域名,全局負載均衡器會爲用戶選擇一臺合適的緩存服務器提供服務,將IP返回給客戶端,客戶端去訪問這個邊緣節點,下載資源。緩存服務器響應用戶請求,將用戶所需內容傳送到用戶終端。

若是這臺緩存服務器上並無用戶想要的內容,那麼這臺服務器就要向它的上一級緩存服務器請求內容,直至追溯到網站的源服務器,將內容拉到本地。

CDN的全局負載均衡策略,就至關於當僧人們想讀佛經的時候,沒必要要都去西天,而是能夠就近去問,周圍有沒有廟宇,而後向廟宇的師傅去請教佛經。

然而緩存的佛經固然是比不上西天取到的經文更新,因此東土因爲離西天較遠,緩存的仍是小乘佛教,要讀大乘佛教,就要去西天取經,稱爲回源。

4、觀音顯像化金蟬

觀音菩薩打算度化玄奘法師,回源去西天取經。

但是怎麼去呢,地址在哪裏呢?玄奘法師只據說西天,不知道具體的地址,這就要問觀音菩薩了。

相關文章
相關標籤/搜索