Zuul的高可用非常關鍵,因為外部請求到後端服務的流量都會經過Zuul。故而在生產環境下一般都需要部署高可用的Zuul以避免單點故障。願意瞭解原始碼的朋友直接求求交流分享技術:二一四七七七五六三三 一 Zuul客戶端也註冊到Eureka Server上 這種情況下,Zuul的高可用非常簡單,只須將多個Zuul節點註冊到Eureka Server上,就可實現Zuul的高可用。此時Zuul的高可用與其他微服務的高可用沒什麼區別。 如下圖,當Zuul客戶端也註冊到Eureka Server上時,只須部署多個Zuul節點即可實現其高可用。Zuul客戶端會自動從Eureka Server中查詢Zuul Server的列表,並使用Ribbon負責均衡地請求Zuul叢集。
二 Zuul客戶端未註冊到Eureka Server上 現實中,這種場景更多,例如,Zuul客戶端是一個手機APP——不可能讓所有的手機終端都註冊到Eureka Server上。這種情況下,可藉助一個額外的負載均衡器來實現Zuul的高可用,例如Nginx、HAProxy、F5等。 如下圖,Zuul客戶端請求傳送到負載均衡器,負載均衡器將請求轉發到其代理的其中一個Zuul節點。這樣,就可以實現Zuul的高可用。
整體程式碼結構如下: 資料和原始碼來源