伺服器端負載平衡 Nginx
nginx 是客戶端所有請求統一交給 nginx,由 nginx 進行實現負載平衡請求轉發,屬於伺服器端負載平衡。
既請求由 nginx 伺服器端進行轉送。
客戶端負載平衡 Ribbon
Ribbon 是從 eureka 註冊中心伺服器端取得服務註冊資訊列表,快取到本機,然後在本地實作輪詢負載平衡策略。
既在客戶端實現負載平衡。
應用程式場景的差異:
Nginx適合伺服器端實作負載平衡例如Tomcat ,Ribbon適合與在微服務中RPC遠端呼叫實現本機服務負載平衡,例如Dubbo、SpringCloud 中都是採用本地負載平衡。
spring cloud的Netflix中提供了兩個元件實作軟負載平衡呼叫:ribbon和feign。
Ribbon
是一個基於HTTP 和TCP 用戶端的負載平衡器
它可以在客戶端設定ribbonServerList(服務端清單),然後輪詢請求以實現均衡負載。
springcloud的ribbon和nginx有什麼差別?哪個性能好?
nginx效能好,但ribbon可以剔除不健康節點,nginx剔除節點比較複雜。 ribbon也可以配合熔斷器一起工作
ribbon是客戶端負載平衡,nginx是服務端負載平衡。客戶端負載平衡,所有客戶端節點都維護自己要存取的服務端清單。服務端負載平衡的軟體模組會維護一個可用的服務清單
ribbon 是一個客戶端負載平衡器,可以簡單的理解成類似 nginx的負載平衡模組的功能。
更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習!
以上是ribbon和nginx的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!