Ribbon 和 Feign 的區別

2021-10-04 10:44:29 字數 1171 閱讀 8430

ribbon 和 feign 的區別

spring cloud的 netflix 中提供了兩個元件實現軟負載均衡呼叫:ribbon 和 feign 。

ribbon

是乙個基於 http 和 tcp 客戶端 的負載均衡的工具。

它可以 在客戶端 配置 ribbonserverlist(服務端列表),使用 httpclient 或 resttemplate 模擬http請求,步驟相當繁瑣。

feign

feign 是在 ribbon的基礎上進行了一次改進,是乙個使用起來更加方便的 http 客戶端。

採用介面的方式, 只需要建立乙個介面,然後在上面新增註解即可 ,將需要呼叫的其他服務的方法定義成抽象方法即可, 不需要自己構建http請求。

然後就像是呼叫自身工程的方法呼叫,而感覺不到是呼叫遠端方法,使得編寫 客戶端變得非常容易。

注意:spring-cloud-starter-feign 裡面已經包含了 spring-cloud-starter-ribbon(feign 中也使用了 ribbon)

下面是乙個 部門介面的例子:

下面是乙個 部門模組controller的偽**:

Ribbon和Feign的區別

ribbon和feign都是用於呼叫其他服務的,不過方式不同。1.啟動類使用的註解不同,ribbon用的是 ribbonclient,feign用的是 enablefeignclients。2.服務的指定位置不同,ribbon是在 ribbonclient註解上宣告,feign則是在定義抽象方法的介...

Ribbon和Feign 服務構建區別

feign和ribbon是spring cloud的netflix中提供的兩個實現軟負載均衡的元件,ribbon和feign都是用於呼叫其他服務的,方式不同。feign則是在ribbon的基礎上進行了一次改進,採用介面的方式。pom檔案 dependency 1.啟動類使用的註解不同,ribbon ...

15 Feign和Ribbon的聯絡

ribbon是乙個基於 http 和 tcp 客戶端 的負載均衡的工具。它可以 在客戶端 配置ribbonserverlist 服務端列表 使用 httpclient 或 resttemplate 模擬http請求,步驟相當繁瑣。feign是在 ribbon的基礎上進行了一次改進,是乙個使用起來更加...