Nacos: NacosRule負載均衡和例項的權重配置
阿新 • • 發佈:2021-10-20
Nacos根據叢集負載均衡
Nacos: DynamicNaming andConfigurationService
Nacos根據叢集負載均衡
優先選擇同叢集的服務例項列表,本地叢集找不到提供者才會去其他叢集尋找,並且會本地警報,確定了可用例項後,再採用隨機負載均衡選例項。
1.修改服務呼叫者的yml,設定叢集
2.設定IRule為NacosRule,這個規則會優先尋找與自己同叢集的服務,本叢集內會隨機查詢
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule
3.注意將user-service的權重都設定為1
跨叢集呼叫時候會顯示
A cross-cluster call occurs,name = userservice, clusterName = HZ, instance = [Instance{instanceId='192.168.239.1#8082#SH#DEFAULT_GROUP@@userservice', ip='192.168.239.1', port=8082, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='SH', serviceName='DEFAULT_GROUP@@userservice', metadata={preserved.register.source=SPRING_CLOUD}}]
Nacos根據權重負載均衡
部署場景: 伺服器裝置效能有差異,部分例項在的機器效能較好,另一些較差,效能好的承擔更多的使用者請求。
權重為0時候不會被選用。
在nacos網頁中可以修改權重。先將一個例項的權重設定為0,等沒有使用者的時候,在停機升級,等升級完成,在將配置設定為0。0001,放入部分使用者進行測試,再逐步放開。