1枣接、負(fù)載均衡原理
負(fù)載均衡流程圖:
源碼流程圖:
2释树、負(fù)載均衡策略
Ribbon的負(fù)載均衡規(guī)則是一個(gè)叫做IRule的接口來(lái)定義的茄袖,每一個(gè)子接口都是一種規(guī)則:
修改負(fù)載均衡規(guī)則的兩種方式:
1桥狡、代碼方式:在order-service中的OrderApplication類中缨伊,定義一個(gè)新的IRule:
2、配置文件方式:在order-service的application.yml文件中蘸秘,添加新的配置也可以修改規(guī)則:
3官卡、懶加載和饑餓加載
Ribbon默認(rèn)是采用懶加載,即第一次訪問(wèn)時(shí)才會(huì)去創(chuàng)建LoadBalanceClient醋虏,請(qǐng)求時(shí)間會(huì)很長(zhǎng)寻咒。
饑餓加載則會(huì)在項(xiàng)目啟動(dòng)時(shí)創(chuàng)建,降低第一次訪問(wèn)的耗時(shí)灰粮,通過(guò)下面配置開啟饑餓加載:
4仔涩、總結(jié)
1忍坷、Ribbon負(fù)載均衡規(guī)則:
規(guī)則接口是IRule
默認(rèn)實(shí)現(xiàn)是ZoneAvoidanceRule粘舟,根據(jù)zone選擇服務(wù)列表,然后輪詢
2佩研、負(fù)載均衡自定義方式
代碼方式:配置靈活柑肴,但修改時(shí)需要重新打包發(fā)布
配置方式:直觀,方便旬薯,無(wú)需重新打包發(fā)布晰骑,但是無(wú)法做全局配置
3、饑餓加載
開啟饑餓加載
指定饑餓加載的微服務(wù)名稱