Spring Cloud Ribbon:負(fù)載均衡工具
簡介

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