<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Feign

      Feign解決什么:
      • Feign旨在使編寫JAVA HTTP客戶端變得更加容易,Feign簡化了RestTemplate代碼,實現了Ribbon負載均衡,使代碼變得更加簡潔,也少了客戶端調用的代碼,使用Feign實現負載均衡是首選方案,只需要你創建一個接口,然后在上面添加注解即可。
      • Feign是聲明式服務謂用組件,其核心就是:像調用本地方法一樣調用遠程方法,無感知遠程HTTP請求。
      ribbon和Feign的選擇:
      • Feign代碼可讀性,可維護性比Ribbon+RestTemplate好。可以統一編碼風格
      • Feign的性能雖然不那么優秀,但是項目瓶頸一般不在HTTP客戶端,而在自身業務處理上
      • 如果Feign無法實現的時候,用RestTemplate,靈活性上后者更高
      使用:引入依賴spring-cloud-starter-feign,啟動類添加@EnableFeignClients注解開啟Feign的功能,定義一個feign接口,通過@FeignClient(“服務名”),來指定調用哪個服務,在Controller層,調用接口暴露服務
      自定義Feign配置類:
      • 接口上的@FeignClient注解中,配置configuration屬性為配置類
      • 定義配置類,創建一個Logger的bean,自定義日志級別
      源碼實現:
      • 首先通過@EnableFeignClients注解開啟FeignClient,根據Feign的規則實現接口,并加@FeignClient注解
      • 掃描所有@FeignClient注解的類,并將這些信息注入到ioc容器中
      • 當接口的方法被調用,通過jdk的代理,來生成具體的RequesTemplate
      • RequesTemplate再生成Request然后交給HttpClient
      • 再將其封裝到LoadBalanceClient類,這個類結合類Ribbon做到了負載均衡。
      在Feign中使用降級和熔斷:
      降級:在接口中指定fallbackFactory值為降級服務類,在api層建立一個降級服務,用@Component注解,并實現FallbackFactory接口,定義泛型為feign調用的接口。
      熔斷:啟動類加@EnableCircuitBreaker開啟熔斷,在方法上加@HystrixCommand注解,配置circuiBreaker屬性,開啟熔斷器,并設置請求閾值,錯誤占比,休眠時間等,配置fallback指定熔斷方法
      Feign的性能優化:
      gzip壓縮:
          gzip是一種數據格式,采用deflate算法壓縮數據,gzip壓縮純文本文件時,大約可以減少70%以上文件大小。
          作用:網絡數據經過壓縮后實際降低了網絡傳輸的字節數,可以加快網頁加載速度,節省流量,改善用戶體驗。此外gzip與搜索引擎的抓取工具有更好的關系,列入google可以通過直接抓取gzip文件來比普通手工抓取更快的檢索網頁
          開啟配置在代碼consumer中
      HTT協議關于壓縮傳輸的規定:
      • 客戶端向服務器請求中帶有:Accept-Encoding:gzip,deflate字段,向服務器表示春戶端支持的壓縮格式(gzip或者deflate),如果不發送該消息頭,服務端默認是不會壓縮的。
      • 服務端在收到請求之后,如果發現請求頭中含有Accept-Encoding字段,并且支持該類型壓縮,就會對響應報文壓縮之后返回給客戶端,并且攜帶Content-Encoding:gzip消息頭,表示響應報文是根據該格式進行壓縮的
      • 客戶端接收到請求之后,先判斷是否有Content-Encoding消息頭,如果有,按該榨式解壓報文,否則按正常報文處理
      HTTP連接池:采用連接池可以節約大量3次握手和4次揮手,大大提升吞吐量
      • feign的http客戶端支持3種框架HttpURLConnection(默認)、HttpClient、okHttp
      • 傳統的HttpuRL.Connection是JDK自帶的,并不支持連接池,如果要實現連接池的機制,還需要自己來管理連接對象。對于網絡請求這種底層相對復雜的操作,如果有可用的其他方案,沒有必要自己去管理連接對象。
      • Httpclient相比傳統JDK自帶的HttpURLConnection,它封裝了訪問HTTP的請求頭,參數,內容體,響應等等;它不僅使客戶端發送HTTP請求變得容易,而且也方便了開發人員測試接口(基于HTTP協議的) ,既提高了開發的效率,又提高了代碼的健壯性;另外高井發大星的詩求網絡的時候,也是用"連接池"提升吞吐量。HttpClient開啟配置代碼在consumer中
      請求超時:
          feign負載均衡底層是ribbon,所以請求超時配置就是配置ribbon,默認超時時間1s。請求超時配置在consumer中
      在Feign中使用降級和熔斷:
          降級:在接口中指定fallbackFactory值為降級服務類,在api層建立一個降級服務,用@Component注解,并實現FallbackFactory接口,定義泛型為feign調用的接口。
          熔斷:啟動類加@EnableCircuitBreaker開啟熔斷,在方法上加@HystrixCommand注解,配置circuiBreaker屬性,開啟熔斷器,并設置請求閾值,錯誤占比,休眠時間等,配置fallback指定熔斷方法
      posted @ 2025-04-16 19:00  難得  閱讀(25)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 狠狠躁夜夜躁人人爽天天5| 日本免费一区二区三区最新vr| 中文字幕人妻av12| 日韩精品卡一卡二卡三卡四| 日韩精品中文字幕国产一| 国产成人精品无码播放| 国产成人无码一区二区三区在线 | 九九热在线视频只有精品| 精品国产中文字幕av| 免费AV片在线观看网址| 成人中文在线| 日本精品一区二区不卡| 欧美成aⅴ人高清免费| 国产福利永久在线视频无毒不卡| 亚洲综合国产伊人五月婷| 免费观看的AV毛片的网站不卡| 国产色无码精品视频免费| 三上悠亚精品一区二区久久| 2021国产精品视频网站| 国产呻吟久久久久久久92| 日韩午夜无码精品试看| 国产精品久久无中文字幕| 国产亚洲精品第一综合| 国产av亚洲精品ai换脸电影| 亚洲综合伊人久久大杳蕉| 久久久久亚洲AV成人片一区| 国产精品三级中文字幕| 亚洲av无码牛牛影视在线二区 | 久久夜色撩人国产综合av| 国产福利社区一区二区| 少妇爆乳无码专区| 少妇高潮流白浆在线观看| 国产午夜影视大全免费观看 | 岱山县| 欧美牲交a欧美牲交aⅴ图片| 99久久er热在这里只有精品99 | 亚洲中文字幕精品第三区| 亚洲精品成人A在线观看| 99精品热在线在线观看视| 丝袜美腿亚洲综合第一区| 91人妻无码成人精品一区91|