RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

Android編程精選 ? 來源:Android編程精選 ? 2022-12-23 15:13 ? 次閱讀

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

一、Get請求自動轉(zhuǎn)化成POST的問題

1、client 請求參數(shù)沒有加上 @RequestParam 注解

問題代碼:

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

錯誤提示:

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

修改建議:

在對應的請求參數(shù)上加上 @RequestParam 注解,代碼示例如下所示:

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

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

問題代碼:

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

錯誤提示:

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

原因:

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

修改建議:

1、最佳建議:要求提供方,更改為Post請求

2、使用 httpclient

引入 httpclient 包


io.github.openfeign
feign-httpclient

修改配置:

feign.httpclient.enabled=true

二、Feign Hystrix 熔斷、線程使用坑點

hystrx 官方配置解釋地址:

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

線程池隊列配置問題

常用配置:

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

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

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

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

#maximumSize配置是否生效,默認值為false。maximumSize可以等于或高于coreSize。
#設置coreSize

錯誤配置①:

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

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

錯誤配置②:

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

因為 queueSizeRejectionThreshold 太小,實際上在并發(fā)達到 30 以上的時候,就會拒絕后面的請求了。

錯誤配置③:

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

因為 maxQueueSize 太小,實際上在并發(fā)達到 30 以上的時候,就會拒絕后面的請求了。

審核編輯:湯梓紅

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

    關注

    30

    文章

    4779

    瀏覽量

    68521
  • 線程
    +關注

    關注

    0

    文章

    504

    瀏覽量

    19675

原文標題:feign 調(diào)用常見問題避坑指南!

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

收藏 人收藏

    評論

    相關推薦

    gazebo仿真常見問題遇見的記錄

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

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

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

    直放站常見問題及分析

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

    Keil編譯常見問題

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

    灰塵網(wǎng)絡常見問題

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

    C語言常見問題

    C語言常見問題
    發(fā)表于 03-21 14:57 ?0次下載

    PCB設計指南

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

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

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

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

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

    OpenSSL安裝常見問題

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

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

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

    PoE設備選購指南

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

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

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

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

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

    PGA460常見問題(FAQ)和EVM故障排除指南

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