0%

客戶端負載均衡Spring Cloud Ribbon

簡介

Spring Cloud Ribbon是一個基于HTTP和TCP的客戶端負載均衡工具,它基于Netflix Ribbon實現。通過Spring Cloud的封裝,可以讓我們輕松地將面向服務的REST模版請求自動轉換成客戶端負載均衡的服務調用。Spring Cloud Ribbon雖然只是一個工具類框架,它不像服務注冊中心、配置中心、API網關那樣需要獨立部署,但是它幾乎存在于每一個Spring Cloud構建的微服務和基礎設施中。因為微服務間的調用,API網關的請求轉發等內容,實際上都是通過Ribbon來實現的,包括后續我們將要介紹的Feign,它也是基于Ribbon實現的工具。所以,對Spring Cloud Ribbon的理解和使用,對于我們使用Spring Cloud來構建微服務非常重要。

RestTemplate

我們使用了非常有用的對象RestTemplate。該對象會使用Ribbon的自動化配置,同時通過配置@LoadBalanced還能夠開啟客戶端負載均衡。之前我們演示了通過RestTemplate實現了最簡單的服務訪問,下面我們將詳細介紹RestTemplate針對幾種不同請求類型和參數類型的服務調用實現。

GET 請求

▪ ️getForObject(String url, Class responseType, Object … urlVariables)

▪ ️getForObject(String url, Class responseType, Map urlVariables)

▪ ️getForObject(URI url, Class responseType)

POST 請求

▪ ️postForEntity(String url, Object request, Class responseType, Object… uriVariables)

▪ ️postForEntity(String url, Object request, Class responseType, Map uriVariables)

▪ ️postForEntity(URI url, Object request, Class responseType)

PUT 請求

▪ put(String url,Object request,Object… urlVariables)

▪ put(String url,Object request,Map urlVariables)

▪ put(URI url,Object request)

DELETE 請求

▪ delete(String url,Object request,Object… urlVariables)

▪ delete(String url,Object request,Map urlVariables)

▪ delete(URI url,Object request)

layicr 微信支付

微信支付

layicr 支付寶

支付寶