• <ruby id="w00qt"><option id="w00qt"></option></ruby>
  • <code id="w00qt"></code><ins id="w00qt"><video id="w00qt"><var id="w00qt"></var></video></ins>

    <ins id="w00qt"></ins>

    feign和ribbon區別

    zifan 問答 2019-09-02 09:37:04 閱讀(...)

    feignribbonSpring CloudNetflix 中提供的兩個實現軟負載均衡的組件,Ribbon 和 Feign 都是用于調用其他服務的,方式不同。Feign 則是在 Ribbon 的基礎上進行了一次改進,采用接口的方式,將需要調用的其他服務的方法定義成抽象方法即可,不需要自己構建 http 請求。不過要注意的是抽象方法的注解、方法簽名要和提供服務的方法完全一致。

    負載均衡 Load Balancing

    1.啟動類使用的注解不同,Ribbon 用的是@RibbonClient,Feign 用的是@EnableFeignClients。

    2.服務的指定位置不同,Ribbon 是在@RibbonClient 注解上聲明,Feign 則是在定義抽象方法的接口中使用@FeignClient 聲明。

    3.調用方式不同,Ribbon 需要自己構建 http 請求,模擬 http 請求然后使用 RestTemplate 發送給其他服務,步驟相當繁瑣。

    Feign

    Feign 是在 Ribbon 的基礎上進行了一次改進,是一個使用起來更加方便的 HTTP 客戶端。采用接口的方式, 只需要創建一個接口,然后在上面添加注解即可 ,將需要調用的其他服務的方法定義成抽象方法即可, 不需要自己構建 http 請求。然后就像是調用自身工程的方法調用,而感覺不到是調用遠程方法,使得編寫 客戶端變得非常容易。

    Ribbon

    Ribbon 是一個基于 HTTP 和 TCP 客戶端 的負載均衡的工具。它可以 在客戶端 配置 RibbonServerList(服務端列表),使用 HttpClient 或 RestTemplate 模擬 http 請求,步驟相當繁瑣。

    收藏 0個人收藏
    走進科技生活方式

    發表評論

    登錄后參與評論
    阿里巴巴导航