1.集群user-server
c-v 改東西
user-server-pom.xml
>
user-server-3001artifactid
>
>
user-server-3001name
>
parent-pm.xml
>
user-server-3001module
>
eureka
:client
:serviceurl
:defaultzone
: http://peer1:1000/eureka/,http://peer2:1001/eureka/ #連線伺服器端
instance
:instance-id
: user-server:
3001
#當前客戶端服務的id
prefer-ip-address
:true
# 使用ip進行註冊
server
:port
:3001
#埠號 埠號不同
spring::
name
: user-server #當前應用名稱 應用名稱相同
2.ribbon實現
匯入依賴
>
>
org.springframework.cloudgroupid
>
>
spring-cloud-starter-netflix-ribbonartifactid
>
dependency
>
resttemplate上打@loadbalanced:讓resttemplate有負載均衡的能力
@bean
@loadbalanced
public resttemplate resttemplate()
3.ribbon底層原始碼分析
1.@loadbalanced賦予resttemplate有負載均衡的能力
2.resttemplate底層通過ribbonloadbalancerclient客戶端工具類實現
3.ribbonloadbalancerclient.execute的操作
1.通過服務名獲取乙個loadbalancer
2.通過loadbalancer.chooseserver選中服務(會載入所有埠)
3.在loadbalancer.chooseserver方法中會呼叫irule.choose方法進行服務的選擇
4.irule.choose方法按照某種演算法選擇服務並返回
5.然後使用http呼叫服務
4.配置負載均衡演算法
配置bean
@bean
public irule randomrule()
ribbon客戶端負載均衡
ribbon會儲存註冊中心應用,然後定時去更新,而不是每次都要先訪問註冊中心,再訪問應用 依賴org.springframework.cloud spring cloud starter netflix ribbon 複製 配置resttemplate bean是乙個方法級別上的註解,主要用在 co...
ribbon客戶端負載均衡
參考 ribbon是netflix發布的負載均衡器,它有助於控制http和tcp的客戶端的行為。為ribbon配置服務提供者位址後,ribbon就可基於某種負載均衡演算法,自動地幫助服務消費者去請求。ribbon預設為我們提供了很多負載均衡演算法,例如輪詢 隨機等。當然,我們也可為ribbon實現自...
客戶端負載均衡 Ribbon 基礎篇
2.什麼是 ribbon?3.resttemplate 簡介 4.原生 ribbon 示例 5.resttemplate ribbon 示例 6.參考 本章主要介紹 ribbon resttemplate 的一些相關的基本概念和用法,以及 resttemplate 和 ribbon 如何結合使用,對...