搭建步驟:
1.1.為什麼要ribbon1.使用者服務的集群
2.訂單服務整合ribbon
2.1.匯入ribbon的依賴
2.2.在resttemplate的bean定義方法上加上:@loadbalanced註解
2.3.把訂單的controller向使用者發起呼叫的resttemplate的url使用服務名呼叫,
如:"http://user-server/user/"
+id;
3.負載均衡演算法:主配置類配置負載均衡演算法類的bean即可
1.2.什麼是ribbon
1.3.ribbon的工作機制2.1.服務集群方案
2.2.使用者服務集群配置
官方文件:#註冊到eurekaserver
#使用ip位址進行註冊
instance:
prefer-ip-address:
true
spring:
name: user-server #服務名都叫user-server
profiles:
active: user-server1---
server:
port:
1020
eureka:
instance:
instance-id: user-server:
1020
spring:
profiles: user-server1---
server:
port:
1021
eureka:
instance:
instance-id: user-server:
1021
spring:
profiles: user-server2
修改springcloud-eureka-order-server-1030服務
3.1.匯入依賴
3.2.修改resttemplate的bean的定義
org.springframework.cloud<
/groupid>
spring-cloud-symltarter-netflix-ribbon<
/artifactid>
<
/dependency>
@loadbalanced :ribbon的負載均衡標籤,賦予resttemplate有負債均衡的能力
3.3.修改controller呼叫方式/**
* 訂單的啟動類
*/@enableeurekaclient
public
class
public
static
void
main
(string[
] args)
3.4.配置負載均衡演算法//訂單服務
@restcontroller
public
class
ordercontroller
",method = requestmethod.get)
public user getuserid
(@pathvariable
("id"
)long id)
}
ribbon預設使用的輪詢策略
3.5.ribbon原始碼跟蹤//訂單服務
@restcontroller
public
class
ordercontroller
//瀏覽器呼叫該方法
(value =
"/order/"
,method = requestmethod.get)
public user getuserid
(@pathvariable
("id"
)long id)
}
1.@loadbalanced 開啟負載均衡
2.ribbonloadbalancerclient.execute : 根據服務名選擇乙個服務, 發起呼叫
2.1.loadbalancer.chooseserver選擇服務 : baseloadbalancer.chooseserver選擇服務
2.2.irule.choose : randomrule.choose :按照具體的演算法選擇乙個服務返回
3.向服務發起http呼叫
SpringCloud Ribbon 負載均衡
ribbon eureka都是netflix旗下的專案,eureka client內建了ribbon,用於實現負載均衡,預設使用輪詢。輪詢是最簡單的負載均衡演算法,每次呼叫服務拿到節點列表後,從前往後依次輪詢類表中的每個節點,誰空閒就呼叫誰。測試時往往都是呼叫列表的第乙個節點,因為重新整理的手速遠遠...
四 SpringCloud Ribbon負載均衡
在服務消費者 user consumer 的啟動類中的resttemplate類加上 loadbalanced註解 enablediscoveryclient public class bean loadbalanced public resttemplate resttemplate 修改dao,...
linux centos nginx做負載均衡
nginx 是 c語言 開發,建議在 linux 上執行,當然,也可以安裝 windows 版本,本篇則使用 centos 7 作為安裝環境。一.gcc 安裝 yum install gcc c 二.pcre pcre devel 安裝pcre perl compatible regular exp...