ribbion負載均衡和Nginx負載均衡的區別

在SpringCloud框架使用哪個好 負載均衡算法寫在哪裏
1、nginx負載是服務端的負載;ribbion的負載,是代碼中微服務的負載(客戶端負載);這兩個負載並不衝突。

2、服務端負載:用戶請求到了nginx以後,nginx負載決定把請求轉發到哪臺服務器;
(負載的列表是存在nginx服務端的,所以叫服務端負載)

3、客戶端負載:ribbon是集成在服務消費端,他的負載是,
首先去註冊中心獲取到可以提供服務的列表,把這個服務列表緩存到本地
,然後自己決定去調用哪一個服務;(這裏列表是存在(註冊中心客戶端)
,所以一般稱爲客戶端負載)(所以在微服務中,如果註冊中心運行期間宕機,
短時間之內並不影響服務消費者向服務生產者的調用。
只是不能獲取到及時更新的服務裏邊,如果其中一個服務掛掉,
消費端並不能收到消息,所以長時間後會影響性能)

4、nginx服務端負載,和ribbion的客戶端負載,並不衝突。再時間生產環境中,
一般都是兩者共存。用戶的請求進來以後,先經過nginx服務端負載,然後再進入微服務網關,執行ribbion的客戶端負載;

5、nginx的負載均衡算法需要在nginx.cnf的配置文件的upstream標籤裏邊配置;(輪循、權重、ip_hash)

6、ribbion的負載均衡算法需要在集成ribbion的客戶端微服務裏邊配置,
增加配置類,在實例化ResTTemplate時配置負載方式;
我們項目中,還是用feign做消費端調用比較多,他底層就是集成了ribbion。
自己封裝成了類似rpc方式的調用。默認用的是輪循,如果需要修改,
首先啓動類裏邊實例化一個IRule,實例化他的不同接口,就可以實現不同的負載算法(7種)

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