一個負載平衡器,至少提供以下功能:
要維護各個伺服器的IP等資訊
根據特定的邏輯選取伺服器
為了實現基本的負載平衡功能,Ribbon的負載平衡器有三大子模組:
package com.hurricane.learn.springcloud.ribbon; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.context.annotation.Bean; @RibbonClient(name="user-service-provider",configuration=MyConfig.class) public class MyConfig { @Bean public MyRule createMyRule() { return new MyRule(); } }設定檔配置:
#自定义规则的使用 user-service-provider.ribbon.NFLoadBalancerRuleClassName=com.hurricane.learn.springcloud.ribbon.MyRule服務調用的一個神坑:測試服務之間的調用,一直調用不成功,提示:
Request URI does not contain a valid hostname: http://user_service_provider/getUser最後發現,竟然是因為服務實例名稱中不能有底線。將實例名改為aaa就可以進行存取。
以上是Spring Cloud應用之ribbon使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!