0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

feign調(diào)用常見(jiàn)問(wèn)題避坑指南!

Android編程精選 ? 來(lái)源:Android編程精選 ? 2022-12-23 15:13 ? 次閱讀

摘要:主要是總結(jié)了一下這段時(shí)間在使用 feign 的過(guò)程中的遇到的一些坑點(diǎn)。

一、Get請(qǐng)求自動(dòng)轉(zhuǎn)化成POST的問(wèn)題

1、client 請(qǐng)求參數(shù)沒(méi)有加上 @RequestParam 注解

問(wèn)題代碼:

@GetMapping("/showName")
StringshowName(Stringname);

錯(cuò)誤提示:

[{"timestamp":"2022-12-14T0922.370+00:00","status":405,"error":"MethodNotAllowed","path":"/showName"}]

修改建議:

在對(duì)應(yīng)的請(qǐng)求參數(shù)上加上 @RequestParam 注解,代碼示例如下所示:

@GetMapping("/showName")
StringshowName(@RequestParam("name")Stringname);

2、client 請(qǐng)求參數(shù)中使用了 @RequestBody 注解

問(wèn)題代碼:

@GetMapping("/showBody")
StringshowBody(@RequestBodyStringbody);

錯(cuò)誤提示:

[{"timestamp":"2022-12-14T1008.943+00:00","status":405,"error":"MethodNotAllowed","path":"/showBody"}]

原因:

okhttp 和 HttpURLConnection 不支持 @RequestBody + RequestMethod.GET,只有 httpclient 支持,默認(rèn)使用 HttpURLConnection。

修改建議:

1、最佳建議:要求提供方,更改為Post請(qǐng)求

2、使用 httpclient

引入 httpclient 包


io.github.openfeign
feign-httpclient

修改配置:

feign.httpclient.enabled=true

二、Feign Hystrix 熔斷、線程使用坑點(diǎn)

hystrx 官方配置解釋地址:

https://github.com/Netflix/Hystrix/wiki/Configuration

線程池隊(duì)列配置問(wèn)題

常用配置:

#核心線程池大小,默認(rèn)值為:10
hystrix.threadpool.default.coreSize=10

#調(diào)用超時(shí)時(shí)間,默認(rèn)值為1000ms
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000

#最大線程池大小,這是在不開(kāi)始拒絕的情況下可以支持的最大并發(fā)量。默認(rèn)值為10。
hystrix.threadpool.default.maximumSize=50

#隊(duì)列大小拒絕閾值,默認(rèn)值為5。即使maxQueueSize未達(dá)到也會(huì)發(fā)生拒絕。在maxQueueSize==-1時(shí)不生效。
hystrix.threadpool.default.queueSizeRejectionThreshold=100

#maximumSize配置是否生效,默認(rèn)值為false。maximumSize可以等于或高于coreSize。
#設(shè)置coreSize

錯(cuò)誤配置①:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=1000

feign使用的是懶加載,第一次調(diào)用時(shí),會(huì)初始化各種bean,速度很慢,默認(rèn)1秒很容易超時(shí)。

錯(cuò)誤配置②:

hystrix.threadpool.default.coreSize=10
hystrix.threadpool.default.maxQueueSize=1000
hystrix.threadpool.default.queueSizeRejectionThreshold=20

因?yàn)?queueSizeRejectionThreshold 太小,實(shí)際上在并發(fā)達(dá)到 30 以上的時(shí)候,就會(huì)拒絕后面的請(qǐng)求了。

錯(cuò)誤配置③:

hystrix.threadpool.default.coreSize=10
hystrix.threadpool.default.maxQueueSize=20
hystrix.threadpool.default.queueSizeRejectionThreshold=1000

因?yàn)?maxQueueSize 太小,實(shí)際上在并發(fā)達(dá)到 30 以上的時(shí)候,就會(huì)拒絕后面的請(qǐng)求了。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4723

    瀏覽量

    68237
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    19636

原文標(biāo)題:feign 調(diào)用常見(jiàn)問(wèn)題避坑指南!

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    gazebo仿真常見(jiàn)問(wèn)題遇見(jiàn)的記錄

    大家好,我是一到周五就很開(kāi)心的小魚(yú)?。今天舊話重提,說(shuō)一說(shuō)做機(jī)器人仿真的時(shí)候?遇到的一些問(wèn)題,這里小魚(yú)基于之前寫過(guò)的文章,再總結(jié)一次。1.gazebo仿真常見(jiàn)問(wèn)題以下的,是從小魚(yú)自己的悲慘經(jīng)歷
    發(fā)表于 09-15 06:42

    分享一些嵌入式系統(tǒng)編程中內(nèi)存操作相關(guān)的指南

    在嵌入式系統(tǒng)的編程中,內(nèi)存操作是我們常用到的,但往往也是易錯(cuò)的地方,怎么避免呢,今天給大家分享一些相關(guān)的指南。數(shù)據(jù)指針...
    發(fā)表于 12-17 07:18

    直放站常見(jiàn)問(wèn)題及分析

    直放站常見(jiàn)問(wèn)題及分析的內(nèi)容:1、問(wèn)題的定位及判斷2、室外直放站常見(jiàn)的問(wèn)題3、室內(nèi)直放站常見(jiàn)的問(wèn)題
    發(fā)表于 08-01 08:26 ?63次下載
    直放站<b class='flag-5'>常見(jiàn)問(wèn)題</b>及分析

    Keil編譯常見(jiàn)問(wèn)題

    吳鑒鷹總結(jié)的Keil 編譯常見(jiàn)問(wèn)題,吳鑒鷹總結(jié)的Keil 編譯常見(jiàn)問(wèn)題。
    發(fā)表于 07-22 15:31 ?10次下載

    灰塵網(wǎng)絡(luò)常見(jiàn)問(wèn)題

    灰塵網(wǎng)絡(luò)常見(jiàn)問(wèn)題
    發(fā)表于 04-28 15:08 ?8次下載
    灰塵網(wǎng)絡(luò)<b class='flag-5'>常見(jiàn)問(wèn)題</b>

    C語(yǔ)言常見(jiàn)問(wèn)題

    C語(yǔ)言常見(jiàn)問(wèn)題
    發(fā)表于 03-21 14:57 ?0次下載

    PCB設(shè)計(jì)指南

    本文就重點(diǎn)講解PCB設(shè)計(jì)指南,99%的PCB工程師容易忽略的!點(diǎn)進(jìn)來(lái) 大家在PCB設(shè)計(jì)
    的頭像 發(fā)表于 03-20 18:20 ?1125次閱讀
    PCB設(shè)計(jì)<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>

    【6月28日|直播】遇見(jiàn)KeysightCare——貴重儀器安全指南

    現(xiàn)場(chǎng)直播時(shí)間: 2023年6月28日 下午1415 ? 立即報(bào)名 01 直播簡(jiǎn)介 什么?!價(jià)值百萬(wàn)的儀器壞了?怎么就壞了呢?如果你有這樣的困惑,快來(lái)參加直播,聽(tīng)聽(tīng)專家詳細(xì)介紹如何“”,保證高端
    的頭像 發(fā)表于 06-14 07:40 ?446次閱讀
    【6月28日|直播】遇見(jiàn)KeysightCare——貴重儀器安全<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>

    簡(jiǎn)化本地Feign調(diào)用的方法

    在平常的工作中,OpenFeign作為微服務(wù)間的調(diào)用組件使用的非常普遍,接口配合注解的調(diào)用方式突出一個(gè)簡(jiǎn)便,讓我們能無(wú)需關(guān)注內(nèi)部細(xì)節(jié)就能實(shí)現(xiàn)服務(wù)間的接口調(diào)用。
    的頭像 發(fā)表于 06-20 10:01 ?800次閱讀
    簡(jiǎn)化本地<b class='flag-5'>Feign</b><b class='flag-5'>調(diào)用</b>的方法

    OpenSSL安裝常見(jiàn)問(wèn)題

    OpenSSL安裝常見(jiàn)問(wèn)題
    的頭像 發(fā)表于 07-07 11:17 ?850次閱讀
    OpenSSL安裝<b class='flag-5'>常見(jiàn)問(wèn)題</b>

    Feign第一次調(diào)用為什么會(huì)很慢?

    首先要了解Feign是如何進(jìn)行遠(yuǎn)程調(diào)用的,這里面包括,注冊(cè)中心、負(fù)載均衡、FeignClient之間的關(guān)系,微服務(wù)通過(guò)不論是eureka、nacos也好注冊(cè)到服務(wù)端,Feign是靠Ribbon做負(fù)載
    的頭像 發(fā)表于 08-17 15:00 ?1524次閱讀
    <b class='flag-5'>Feign</b>第一次<b class='flag-5'>調(diào)用</b>為什么會(huì)很慢?

    PoE設(shè)備選購(gòu)指南

    在工業(yè)通信領(lǐng)域,通過(guò)一根網(wǎng)線就能傳輸數(shù)據(jù)又能為設(shè)備供電的PoE(以太網(wǎng)供電)設(shè)備應(yīng)用十分常見(jiàn),比如PoE交換機(jī)、PoE供電器、PoE延長(zhǎng)器等。盡管如此,我們?cè)谶x購(gòu)這些PoE設(shè)備時(shí),也常常會(huì)遇到一些“”,給工作帶來(lái)很大的麻煩。
    的頭像 發(fā)表于 11-07 09:10 ?467次閱讀

    IoT產(chǎn)品|PoE設(shè)備選購(gòu)指南,這些“雷”打死也別踩!

    ”,給工作帶來(lái)很大的麻煩。 指南一:選擇有專用控制芯片的標(biāo)準(zhǔn)PoE交換機(jī) 目前市場(chǎng)上除了有符合國(guó)際標(biāo)準(zhǔn)PoE交換機(jī)外,也充斥著很多非標(biāo)準(zhǔn)的PoE交換機(jī)。標(biāo)準(zhǔn)PoE交換機(jī),在供電
    的頭像 發(fā)表于 11-13 10:11 ?397次閱讀

    指南】電容耐壓降額裕量不合理導(dǎo)致電容頻繁被擊穿

    指南】電容耐壓降額裕量不合理導(dǎo)致電容頻繁被擊穿
    的頭像 發(fā)表于 11-23 09:04 ?1686次閱讀
    【<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>】電容耐壓降額裕量不合理導(dǎo)致電容頻繁被擊穿

    PGA460常見(jiàn)問(wèn)題(FAQ)和EVM故障排除指南

    電子發(fā)燒友網(wǎng)站提供《PGA460常見(jiàn)問(wèn)題(FAQ)和EVM故障排除指南.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 10:25 ?0次下載
    PGA460<b class='flag-5'>常見(jiàn)問(wèn)題</b>(FAQ)和EVM故障排除<b class='flag-5'>指南</b>