當前位置:編程學習大全網 - 源碼下載 - spring cloud+nacos+網關負載平衡(功能區)

spring cloud+nacos+網關負載平衡(功能區)

Ribbon是壹個客戶端負載均衡工具,基於網飛Ribbon實現。通過Spring Cloud的封裝,我們可以輕松地將面向服務的REST模板請求自動轉換為客戶端負載均衡的服務調用。

負載均衡,英文名稱為Load Balance,意思是將負載(工作任務)均衡分配給多個運行單元運行,以協同完成工作任務。負載均衡建立在原有的網絡結構上,提供了壹種透明、廉價、有效的方法來擴展服務器和網絡設備的帶寬,加強網絡數據處理能力,增加吞吐量,提高網絡的可用性和靈活性。

本文主要測試如何基於Springcloud+nacos+gateway實現負載均衡。

我們集成了Springcloud+nacos+gateway,並實現了當三個提供商啟動時,可以通過網關對它們進行輪詢。

1 nocas負載均衡。

nocas本身集成了ribbon,默認使用輪詢。

b .如何在nocas中設置權重,實現權重。

自定義規則(IRule實現類)

d、在權重的方式上,可以采用先將權重設置為0,然後關閉單服務優雅下線的方式。

2使用ribbon直接連接ip

使用自動策略、輪詢、隨機化等。由絲帶提供。

健康檢查

五.習慣規則

關閉其中壹個提供者,立即通過網關輪詢,發現網關仍然會調用已經停機的提供者,導致查詢失敗。但是大約5秒鐘後,輪詢恢復正常,呼叫被停止。

網關調用提供者首先通過nacos註冊中心,nacos心跳機制默認每5秒檢查壹次提供者是否正常,所以會出現上述現象。

1在啟動類中,只需在spring容器中註冊IRule的配置類和實現類即可。

2分別測試輪詢和隨機化,可以按照規則正常加載。

1添加gatewayriboonip模塊。

2 pom增加了對spring-cloud-starter-gateway和Spring-Cloud-Starter-網飛-Ribbon的依賴。

3修改application.yml以設置負載平衡。

4啟動,測試可以正常輪詢。

5?如下修改application.yml,可以從輪詢模式測試到隨機模式。

NFLoadBalancerRuleClassName:com . Netflix . load balancer . random rule

此時,壹個提供程序關閉,然後進行輪詢。到達該提供程序時,查詢將總是失敗。我們需要添加壹個健康檢查過程,它可以在服務關閉時檢測並從服務列表中刪除該服務,並在服務在線後檢查服務是否在線。

1添加了健康檢查。

提供程序模塊添加了rest接口HealthController。

添加配置類以生成RestTemplate。

添加健康檢查類別健康檢查實現iping。繼承IPing接口以確定服務是否可用。我們給微服務添加heath接口,在gateway中調用這個接口,如果恢復正常,我們認為微服務可用。

?修改application.yml以添加Ping,如下所示

nfloadbalancerpingclass name:com . Roy . spring nacos . gatewayribbonip . load balance . health examination

2重新啟動提供商和網關進行測試。

輪詢成功。

b .關閉其中壹個提供程序,查詢在輪詢該提供程序時失敗。

此處測試失敗,使用RoundRobinRule時查詢壹直失敗,未能自動跳下的提供者失敗。

但是,如果您自定義了LoadBalancerRule,則可以成功地跳過設置。

1添加我的規則擴展抽象LoadBalanceRule。

2重啟後,根據規則成功查詢測試。

  • 上一篇:高分求壹個天龍八部種植腳本
  • 下一篇:股票如何追漲?
  • copyright 2024編程學習大全網