Zuul的高可用

Zuul的高可用非常關鍵,因爲外部請求到後端微服務的流量都會經過Zuul。故而在生產環境中,我們一般都需要部署高可用的Zuul以避免單點故障。

筆者分兩種場景討論Zuul的高可用。

Zuul客戶端也註冊到了Eureka Server上

這種情況下,Zuul的高可用非常簡單,只需將多個Zuul節點註冊到Eureka Server上,就可實現Zuul的高可用。此時,Zuul的高可用與其他微服務的高可用沒什麼區別。

Zuul高可用架構圖

如上圖,當Zuul客戶端也註冊到Eureka Server上時,只需部署多個Zuul節點即可實現其高可用。Zuul客戶端會自動從Eureka Server中查詢Zuul Server的列表,並使用Ribbon負載均衡地請求Zuul集羣。

這種場景一般用於Sidecar。

Zuul客戶端未註冊到Eureka Server上

現實中,這種場景往往更常見,例如,Zuul客戶端是一個手機APP——我們不可能讓所有的手機終端都註冊到Eureka Server上。這種情況下,我們可藉助一個額外的負載均衡器來實現Zuul的高可用,例如Nginx、HAProxy、F5等。

Zuul高可用架構圖

如上圖,Zuul客戶端將請求發送到負載均衡器,負載均衡器將請求轉發到其代理的其中一個Zuul節點。這樣,就可以實現Zuul的高可用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章