Ribbon講解
簡介
?Spring Cloud Ribbon是由Netflix公司推出的開源軟件,是基于HTTP和TCP協(xié)議的,其主要功能是實現(xiàn)客戶端軟件的負載均衡算法。

Spring Cloud中Ribbon就是基于Netflix公司的Ribbon實現(xiàn)的。它不需要單獨部署,但是卻存在于整個微服務中。前面學習的Eureka里面有Ribbon,后面學習的OpenFeign也是基于Ribbon實現(xiàn)的。

1 、Ribbon原理


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

使用Ribbon工作原理:
所有的項目都會注冊到Eureka中,Eureka允許不同項目的spring.application.name是相同。當相同時會認為這些項目一個集群。所以同一個項目部署多次時都是設置應用程序名相同。
Application Client會從Eureka中根據spring.application.name加載Application Service的列表。根據設定的負載均衡算法,從列表中取出一個URL,到此Ribbon的事情結束了。剩下的事情由程序員自己進行技術選型,選擇一個HTTP協(xié)議工具,通過這個URL調用Application Service。

注意:以下事情和Ribbon沒有關系的
Application Service注冊到Eureka過程。這是Eureka的功能。
Application Client從Eureka取出注冊列表。這是Eureka的功能。
Application Client 通過URL訪問Application Service。具體實現(xiàn)可以自己進行選擇使用哪個HTTP工具。
只有Application Client從Eureka中取出列表后進行負載均衡算法的過程和Ribbon有關

更多精彩知識可以去視頻中探索哦~

有什么疑問快來討論區(qū)討論起來吧~