Ribbon講解

簡(jiǎn)介
????Spring Cloud?Ribbon是由Netflix公司推出的開源軟件,是基于HTTP和TCP協(xié)議的,其主要功能是實(shí)現(xiàn)客戶端軟件的負(fù)載均衡算法。
????Spring Cloud中Ribbon就是基于Netflix公司的Ribbon實(shí)現(xiàn)的。它不需要單獨(dú)部署,但是卻存在于整個(gè)微服務(wù)中。前面學(xué)習(xí)的Eureka里面有Ribbon,后面學(xué)習(xí)的OpenFeign也是基于Ribbon實(shí)現(xiàn)的。
1、Ribbon原理

內(nèi)部基于ILoadBalancer實(shí)現(xiàn)的(代碼層面)。
的繼承關(guān)系如下:

使用Ribbon工作原理:
????所有的項(xiàng)目都會(huì)注冊(cè)到Eureka中,Eureka允許不同項(xiàng)目的spring.application.name是相同。當(dāng)相同時(shí)會(huì)認(rèn)為這些項(xiàng)目一個(gè)集群。所以同一個(gè)項(xiàng)目部署多次時(shí)都是設(shè)置應(yīng)用程序名相同。
????Application Client會(huì)從Eureka中根據(jù)spring.application.name加載Application Service的列表。根據(jù)設(shè)定的負(fù)載均衡算法,從列表中取出一個(gè)URL,到此Ribbon的事情結(jié)束了。剩下的事情由程序員自己進(jìn)行技術(shù)選型,選擇一個(gè)HTTP協(xié)議工具,通過(guò)這個(gè)URL調(diào)用Application Service。
注意:以下事情和Ribbon沒(méi)有關(guān)系的
Application Service注冊(cè)到Eureka過(guò)程。這是Eureka的功能。
Application Client從Eureka取出注冊(cè)列表。這是Eureka的功能。
Application Client 通過(guò)URL訪問(wèn)Application Service。具體實(shí)現(xiàn)可以自己進(jìn)行選擇使用哪個(gè)HTTP工具。
只有Application Client從Eureka中取出列表后進(jìn)行負(fù)載均衡算法的過(guò)程和Ribbon有關(guān)系。
更多精彩知識(shí)可以去視頻中探索哦~

有什么疑問(wèn)快來(lái)討論區(qū)討論起來(lái)吧~