CreateYourVPN Academy
課程:一切如何運作

伺服器監控與網狀網路

CreateYourVPN 如何留意伺服器的健康狀態:自我檢查、伺服器之間互相檢查的網狀網路,以及自動將無法連線的伺服器從使用者眼前隱藏。

伺服器可能會在最糟糕的時刻讓您失望:服務當機、主機商重啟了機器——或者更糟的是, 伺服器在某位使用者的國家被封鎖了,即使技術上它仍在運作,卻已經無法連線。 您的使用者不應該察覺到這一切。這一課會說明 CreateYourVPN 如何監看您的伺服器, 以及當某台伺服器出問題時會發生什麼事。

兩層檢查

系統會從兩個角度審視每一台伺服器。

1. 伺服器自我檢查

每隔幾分鐘,每台伺服器都會回報自己的狀態:443 連接埠上的流量監聽器還活著嗎? VPN 服務正在運行嗎?第 3 課提到的指標也會隨著同一份回報一起送達。 如果回報說"我狀況不好",該伺服器會被標記為**"伺服器不可用"狀態。如果回報 乾脆完全停止,狀態就會變成"伺服器無資料"**——這台機器可能被關機了,或是失去了網路連線。

2. 伺服器之間互相"敲門"

自我檢查抓不到最狡猾的情況:一台伺服器自認為狀況良好,但從外部卻無法連線—— 比如它的 IP 被封鎖了。這就是為什麼您所有的伺服器都被組織成一個互相檢查的網狀網路: 每台伺服器都會定期嘗試連上每一位鄰居——就像使用者的應用程式會做的那樣。

接下來,"投票"機制就會發揮作用:

  • 單獨一次敲門失敗不代表什麼——網路可能只是短暫閃斷。只有持續一連串的失敗才算數。
  • 只有當好幾台獨立的伺服器都持續連不上某台伺服器時,它才會被標記為 "從您的伺服器無法連接"——單一伺服器的意見不能算定論。
  • 還有一項針對"不可靠證人"的保護機制:如果某台伺服器突然聲稱自己看不到一半的鄰居, 問題多半出在它自己身上——它的投票會被捨棄。

這正是能抓到封鎖情況的機制:如果一台伺服器在您其他伺服器所在的某個國家被封鎖了, 來自那個國家的鄰居會很快就連不上它,形成法定人數,系統就會將這台伺服器標記為 無法連線。與此同時,沒有被封鎖的國家的伺服器仍然能持續連到它——這種意見上的差異, 會讓情況一目了然。

出問題的伺服器會發生什麼事

這些狀態會直接影響負載均衡:帶有"伺服器不可用"和"從您的伺服器 無法連接"狀態的伺服器會被移出輪替——不會有新連線被分配給它們,使用者的訂閱中, 它們的位置會被同一路由中健康的伺服器取代。

與此同時,系統非常謹慎——它建立在"不造成傷害"的原則之上:

  • 路由永遠不會被清空。 如果某個路由上的所有伺服器都被判定為"有問題",系統仍然 會為使用者提供目前可用的最佳選項,而不是一份空清單——否則應用程式會誤以為伺服器 已經全部消失,並將它們清除。
  • 沉默不算定論。 "伺服器無資料"狀態本身並不會讓伺服器被移出輪替:在沒有最新 資料的情況下,系統不會貿然採取行動。

一切都會自我修復

沒有任何狀態會永遠"卡住"——狀態會根據最新資料重新推導:

  • 伺服器再次送出健康的回報 → "伺服器不可用"就會被解除;
  • 鄰居再次能連上它 → 失敗計數會重置,"從您的伺服器無法連接"標記也會消失;
  • 回報恢復 → "伺服器無資料"消失。

修好伺服器(或是等它解除封鎖)——它就會自己重新投入服務。不需要手動"重新開啟"。

在面板中哪裡可以看到這些

打開任何使用者的卡片 → 他的伺服器清單:每台伺服器旁邊都有一個狀態小圓點, 出問題時會有一段說明原因的文字:"伺服器不可用"、"從您的伺服器無法連接" (包括有多少台您的伺服器連不上它),或"伺服器無資料"。伺服器卡片上也會有 間接的跡象:指標上的"已過時"徽章,以及"無資料——代理未回應"。

網狀檢查非常節省資源:它們只是微小的探測請求,並設有嚴格的每日流量上限—— 對您伺服器的流量或效能完全沒有影響。

重點回顧

  • 兩層控制:伺服器自我檢查,網狀網路中的鄰居則從外部檢查它。
  • 封鎖情況透過多台伺服器的"投票"來抓——不會因為一次偶發的小狀況就驚慌失措。
  • 有問題的伺服器會退出輪替;使用者會悄悄地轉移到健康的伺服器上。
  • 一切都會自我修復:伺服器一旦恢復正常,就會自動重新加入。

接下來

基礎架構懂得自我修復,但有一件事值得特別保護——您的使用者資料庫。

On this page