一、概述算法
1.1 Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具;負載均衡
基於Netflix Ribbon實現;函數
經過Spring Cloud的封裝,能夠輕鬆將面向服務的Rest模板請求自動轉換成客戶端負載均衡的服務調用;工具
1.2 負載均衡post
一般所說的負載均衡指的是 服務端負載均衡;spa
分爲 硬件負載均衡、軟件負載均衡;blog
硬件負載均衡的設備(或 軟件負載均衡的軟件模塊)都會維護一個下掛可用的服務端清單,經過心跳檢測來剔除故障的服務端節點以保證清單中都是能夠正常訪問的服務端節點;接口
當客戶端發送請求到負載均衡設備的時候,該設備(模塊)按某種算法[線性輪詢、按權重負載、按流量負載。。。]從維護的可用服務端清單中取出一臺服務端的地址,而後進行轉發;get
客戶端負載均衡 與 服務端負載均衡 不一樣點:it
客戶端負載均衡:客戶端節點都維護着本身要訪問的服務端清單、服務清單來自服務註冊中心;
1.3 使用Spring Cloud Ribbon:
a,服務提供者只須要啓動多個服務實例並註冊到一個註冊中心或者多個相關聯的服務註冊中心;
b,服務消費者 直接經過調用被@LoadBalanced註解修飾的 RestTemplate實現面向服務的接口調用;
1.4 RestTemplate詳解:
針對不一樣請求類型、參數類型的服務調用實現:
a,Get請求
1.1 getForEntity函數
1.2 getForObject函數
b,Post請求
1.1 postForEntity函數
1.2 postForEntity函數
1.3 postForLocation函數
c,PUT請求
1.1 put函數
d,Delete請求
1.1 delete函數