大佬,cloud新手,請教下ribbon和feign在cloud架構里邊的位置是怎樣的?網上看了很多還是有點模糊,feign繼承了ribbon,為什么還需要用到ribbon呢?謝謝,看一篇帖子上說:有遠程呼叫的時候,Ribbon會從Eureka注冊表拉取下來的資料中挑選一臺機器讓Feign來發起遠程呼叫,如果這樣的話,是否可以理解為Ribbon為Feign呼叫指定服務器(以達到負載均衡的目的)?怎么不用Feign去直接做負載均衡呢?求解救!
uj5u.com熱心網友回復:
自己頂個!!!uj5u.com熱心網友回復:
聽說是因為spring Cloud專案每一個模塊都有自己范圍內的業務,都會比較清晰,什么模塊做什么,什么模塊不做什么....uj5u.com熱心網友回復:
2樓說的對,高內聚,低耦合,不是自己的事情不干uj5u.com熱心網友回復:
直接用Nginx。反正是沒用過Ribbonuj5u.com熱心網友回復:
既然你提到了位置,我只能說,在新版中,ribbon和feign已經被cloud剔除掉了uj5u.com熱心網友回復:
簡單理解為Feign在Ribbon上包裝了一層。Ribbon可以直接單獨使用,意思是可以不在SpringCloud服務中使用,這時候Ribbon+“服務地址管理”才能完成Ribbon的負載均衡,下面是單獨使用的示例:https://blog.csdn.net/songzehao/article/details/101315206
而在SpringCloud中通常是直接使用Feign,使得“服務地址管理”可以通過Eureka等組件來配合完成,同時也使得跨服務呼叫更加簡便,就像呼叫同一服務里的另一介面或另一Service一樣。所以Feign更加自動化和簡便,當然它的核心仍舊是Ribbon。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/240161.html
標籤:Java EE
