Spring?Cloud?Alibaba負載均衡實現(xiàn)方式
一、負載均衡的兩種方式
服務(wù)器端負載均衡
傳統(tǒng)的方式前端發(fā)送請求會到我們的的nginx上去,nginx作為反向代理,然后路由給后端的服務(wù)器,由于負載均衡算法是nginx提供的,而nginx是部署到服務(wù)器端的,所以這種方式又被稱為服務(wù)器端負載均衡。
客戶端側(cè)負載均衡
現(xiàn)在有三個實例,內(nèi)容中心可以通過discoveryClient 獲取到用戶中心的實例信息,如果我們再訂單中心寫一個負載均衡的規(guī)則計算請求那個實例,交給restTemplate進行請求,這樣也可以實現(xiàn)負載均衡,這個算法里面,負載均衡是有訂單中心提供的,而訂單中心相對于用戶中心是一個客戶端,所以這種方式又稱為客戶端負負載均衡。
二、手寫一個客戶端側(cè)負載均衡器
◆隨機選擇實例
@Autowired private DiscoveryClient discoveryClient; @GetMapping("/order/create") public String createOrder(Integer productId,Integer userId){ List<ServiceInstance> instances = discoveryClient.getInstances("msb-stock"); List<String> targetUrls = instances.stream() // 數(shù)據(jù)變換 .map(instance -> instance.getUri().toString() + "/stock/reduce") .collect(Collectors.toList()); int i = ThreadLocalRandom.current().nextInt(targetUrls.size()); String targetUrl = targetUrls.get(i); log.info("請求求目標地址:{}",targetUrl); String result = restTemplate.getForObject(targetUrl +"/"+ productId, String.class); log.info("進行減庫存:{}",result); return "下單成功"; }
三、使用Ribbon實現(xiàn)負載均衡
Ribbon是什么? Netflix開源的客戶端側(cè)負載均衡器
更加直觀說就是ribbon就是簡化我們這段代碼的小組件,不過他比我們的代碼要強大一些,他給他們提供了豐富的負載均衡算法。
引入ribbon :三步驟: 加依賴,啟動注解,寫配置
不需要加,nacosdiscovery,已經(jīng)給添加了依賴,
寫注解,需要寫到RestTemplate上面。
第三步:寫配置
沒有配置。
改造我們的請求:
url:改為 下面 當請求發(fā)送的發(fā)送的時候ribbon會將nx-us進行轉(zhuǎn)化為我們nacos里面中的地址。并且進行負載均衡算法,進行請求,
以上就是Spring Cloud Alibaba負載均衡實現(xiàn)方式的詳細內(nèi)容,更多關(guān)于Spring Cloud Alibaba負載均衡的資料請關(guān)注腳本之家其它相關(guān)文章!
- Alibaba?SpringCloud集成Nacos、openFeign實現(xiàn)負載均衡的解決方案
- SpringCloud使用Ribbon實現(xiàn)負載均衡的流程步驟
- Spring?cloud負載均衡@LoadBalanced?&?LoadBalancerClient
- SpringCloud集成Eureka并實現(xiàn)負載均衡的過程詳解
- SpringCloud中的Ribbon負載均衡詳細解讀
- 關(guān)于SpringCloud中Ribbon的7種負載均衡策略解析
- 詳解SpringCloud LoadBalancer 新一代負載均衡器
- 深入分析Spring Cloud 負載均衡器架構(gòu)選型
相關(guān)文章
記錄一個使用Spring?Data?JPA設(shè)置默認值的問題
這篇文章主要介紹了使用Spring?Data?JPA設(shè)置默認值的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11SpringBoot集成Druid監(jiān)控頁面最小化配置操作
這篇文章主要介紹了SpringBoot集成Druid監(jiān)控頁面最小化配置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09淺談Spring Boot: 接口壓測及簡要優(yōu)化策略
這篇文章主要介紹了淺談Spring Boot: 接口壓測及簡要優(yōu)化策略,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Java組件commons fileupload實現(xiàn)文件上傳功能
這篇文章主要為大家詳細介紹了Java組件commons fileupload實現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10