最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud OpenFeign概述與使用

 更新時(shí)間:2023年01月31日 14:01:44   作者:情緒大瓜皮丶  
OpenFeign源于Netflix的Feign,是http通信的客戶端。屏蔽了網(wǎng)絡(luò)通信的細(xì)節(jié),直接面向接口的方式開發(fā),讓開發(fā)者感知不到網(wǎng)絡(luò)通信細(xì)節(jié)。所有遠(yuǎn)程調(diào)用,都像調(diào)用本地方法一樣完成

OpenFeign概述

OpenFeign 可以聲明式的實(shí)現(xiàn)微服務(wù)之間的調(diào)用,我們只需要向調(diào)用接口一樣,對(duì) FeignClient 直接調(diào)用即可。

若不采用 OpenFeign,不同微服務(wù)之間的遠(yuǎn)程 API 調(diào)用通過Ribbon + RestTemplate實(shí)現(xiàn);而采用 OpenFeign 后直接采用接口 + 注解的方式即可實(shí)現(xiàn)。

OpenFeign使用

本文仍然使用SpringCloud – Nacos中所創(chuàng)建的 order 訂單微服務(wù)與 payment 支付微服務(wù)為例,在訂單微服務(wù)中調(diào)用支付微服務(wù)的方法。

引入依賴

首先在 order 微服務(wù)中引入 OpenFeign 的依賴

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

編寫服務(wù)調(diào)用Service接口

創(chuàng)建 Service 接口,在接口中定義方法實(shí)現(xiàn)對(duì)其他微服務(wù)的調(diào)用

注意:

  • @FeignClient括號(hào)里的值為被調(diào)用的微服務(wù)在 nacos 注冊(cè)中心的注冊(cè)服務(wù)名;
  • 定義的方法上的請(qǐng)求及路徑需要與被調(diào)用服務(wù)的相應(yīng)方法匹配;
@FeignClient("nacos-payment-provider")
public interface PaymentService {
    /**
     * 測試調(diào)用Payment
     * @return 調(diào)用結(jié)果
     */
    @GetMapping("/paymentFeign/test")
    String feignTest();
}

編寫被調(diào)用的方法

在兩個(gè)被調(diào)用的 payment 服務(wù)中編寫業(yè)務(wù)處理邏輯,此處為方便,直接返回相應(yīng)的字符串

paymeng8001

@RestController
@RequestMapping("/paymentFeign")
public class PaymentFeignController8001 {
    @GetMapping("/test")
    public String test() {
        return "8001支付模塊test()方法被調(diào)用~";
    }
}

payment8002

@RestController
@RequestMapping("/paymentFeign")
public class PaymentFeignController8002 {
    @GetMapping("/test")
    public String test() {
        return "8002支付模塊test()方法被調(diào)用~";
    }
}

支付模塊修改完成后,直接啟動(dòng)服務(wù)

啟動(dòng)服務(wù)調(diào)用模塊

在 order8005 模塊的啟動(dòng)類上添加注解,標(biāo)明 FeignClient 包的位置

@SpringBootApplication
@EnableFeignClients(basePackages = "com.zqf.service")
public class OrderStart8005 {
    public static void main(String[] args) {
        SpringApplication.run(OrderStart8005.class);
    }
}

啟動(dòng)訂單微服務(wù)

測試

所有微服務(wù)啟動(dòng)成功后,使用 postman 進(jìn)行測試

多次發(fā)送請(qǐng)求,可以看到兩個(gè)支付微服務(wù) payment 被輪流調(diào)用,即 openfeign 自帶負(fù)載均衡的功能行測試

到此這篇關(guān)于SpringCloud OpenFeign概述與使用的文章就介紹到這了,更多相關(guān)SpringCloud OpenFeign內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java判斷某個(gè)點(diǎn)是否在所畫多邊形/圓形內(nèi)

    java判斷某個(gè)點(diǎn)是否在所畫多邊形/圓形內(nèi)

    這篇文章主要為大家詳細(xì)介紹了java判斷某個(gè)點(diǎn)是否在所畫多邊形或圓形內(nèi)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 關(guān)于SpingMVC的<context:component-scan>包掃描踩坑記錄

    關(guān)于SpingMVC的<context:component-scan>包掃描踩坑記錄

    這篇文章主要介紹了關(guān)于SpingMVC的<context:component-scan>包掃描踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java由淺入深帶你了解什么是包package

    Java由淺入深帶你了解什么是包package

    為了更好地組織類,Java 提供了包機(jī)制,用于區(qū)別類名的命名空間,一個(gè)包(package)可以定義為一組相互聯(lián)系的類型(類、接口、枚舉和注釋),為這些類型提供訪問保護(hù)和命名空間管理的功能
    2022-03-03
  • 詳解spring cloud hystrix請(qǐng)求緩存(request cache)

    詳解spring cloud hystrix請(qǐng)求緩存(request cache)

    這篇文章主要介紹了詳解spring cloud hystrix請(qǐng)求緩存(request cache),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • SpringBoot+JavaMailSender實(shí)現(xiàn)騰訊企業(yè)郵箱配置

    SpringBoot+JavaMailSender實(shí)現(xiàn)騰訊企業(yè)郵箱配置

    這篇文章主要介紹了SpringBoot+JavaMailSender實(shí)現(xiàn)騰訊企業(yè)郵箱配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Spring的@ConfigurationProperties注解詳解

    Spring的@ConfigurationProperties注解詳解

    這篇文章主要介紹了Spring的@ConfigurationProperties注解詳解,@ConfigurationProperties該注解是用來獲取yml或者properties配置文件的配置信息,下面根據(jù)一些配置信息給出案例代碼進(jìn)行講解,需要的朋友可以參考下
    2023-11-11
  • IDEA連接MySQL提示serverTimezone的問題及解決方法

    IDEA連接MySQL提示serverTimezone的問題及解決方法

    很多朋友私聊小編,使用IDEA軟件連接MySQL數(shù)據(jù)庫時(shí)總是提示Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.的錯(cuò)誤,小編就不一一回復(fù)大家了,下面小編把我的解決方法分享到腳本之家平臺(tái),需要的朋友參考下吧
    2021-05-05
  • java中用float時(shí),數(shù)字后面加f,這樣是為什么你知道嗎

    java中用float時(shí),數(shù)字后面加f,這樣是為什么你知道嗎

    這篇文章主要介紹了java用float時(shí),數(shù)字后面加f,這樣是為什么你知道嗎?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Mybatis-plus新版本分頁失效PaginationInterceptor過時(shí)的問題

    Mybatis-plus新版本分頁失效PaginationInterceptor過時(shí)的問題

    這篇文章主要介紹了Mybatis-plus新版本分頁失效,PaginationInterceptor過時(shí)問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • jdbc與druid連接池的使用詳解

    jdbc與druid連接池的使用詳解

    這篇文章主要介紹了jdbc與druid連接池的使用詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評(píng)論

乌苏市| 霞浦县| 凯里市| 仙游县| 永宁县| 秦皇岛市| 垫江县| 赤水市| 乃东县| 西乡县| 临清市| 梅州市| 上杭县| 肇州县| 宁波市| 乌海市| 通化市| 临清市| 花莲县| 扬中市| 白山市| 莎车县| 永兴县| 界首市| 青河县| 和平县| 乌兰浩特市| 泸定县| 新巴尔虎右旗| 汾西县| 苍溪县| 嘉荫县| 清镇市| 保德县| 广水市| 哈巴河县| 峨眉山市| 进贤县| 伊宁县| 岢岚县| 合肥市|