国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

springcloud-feign實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)

_DangJin / 920人閱讀

摘要:本文重點(diǎn)介紹一下基于實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)。使用方式下面我們開始的使用添加和的依賴添加注解開啟服務(wù)發(fā)現(xiàn),注解支持客戶端。同樣子,他可以使用默認(rèn)的也可以使用或者修改配置文件服務(wù)名字服務(wù)無端口會隨機(jī)選擇一個服務(wù)集群名字注冊中心地址,完成。

springcloud-feign實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)
上一篇介紹了nacos實(shí)現(xiàn)配置和注冊中心,在微服務(wù)中只有配置和注冊中心遠(yuǎn)遠(yuǎn)不夠,還需要有服務(wù)發(fā)現(xiàn)。本文重點(diǎn)介紹一下基于feign實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)。

簡單介紹
springcloud使用服務(wù)發(fā)現(xiàn)進(jìn)行服務(wù)間調(diào)用。對外使用網(wǎng)關(guān)gateway屏蔽分流轉(zhuǎn)發(fā)接口。服務(wù)發(fā)現(xiàn)客戶端到注冊中心拉取服務(wù)列表實(shí)現(xiàn)客戶端負(fù)載均衡??蛻舳藢?shí)現(xiàn)負(fù)載均衡主要有兩種方式。一種是ribbon另一種是基于ribbon封裝的feign。這是feign官方的解釋

我總結(jié)了一下主要有一下幾個優(yōu)點(diǎn):
(1)可插拔的注解支持,包括Feign注解和JAX-RS注解;
(2)支持可插拔的HTTP編碼器和解碼器;
(3)支持Hystrix和它的Fallback;
(4)支持Ribbon的負(fù)載均衡;
(5)支持HTTP請求和相應(yīng)的壓縮。

微服務(wù)調(diào)用常用概念
(1)服務(wù)降級:
????當(dāng)服務(wù)器壓力劇增的情況下,根據(jù)實(shí)際業(yè)務(wù)情況及流量,對一些服務(wù)和頁面有策略測不處理或換種簡單的方式處理,從而釋放資源以保證核心交易正常運(yùn)作成高效運(yùn)作。
(2)斷路:
????熔斷這一概念來自于電子工程中的斷路器(circuit Breaker)。在互聯(lián)網(wǎng)系統(tǒng)中,當(dāng)下游服務(wù)因訪問壓力過大而相應(yīng)變慢或者失敗,上游為了保護(hù)系統(tǒng)整體的可用性,可以暫時切斷對下游服務(wù)的調(diào)用。
簡單理解就是降級是針對業(yè)務(wù),斷路是上下游故障。
(3)冪等性:
????就是用戶對于同一操作發(fā)起的一次請求或者多次請求的結(jié)果是一致的,不會因?yàn)槎啻吸c(diǎn)擊而產(chǎn)生了副作用。

使用方式
下面我們開始feign的使用:
(1)添加springcloudalibaba和openfeign的依賴
????

</>復(fù)制代碼

  1.         org.springframework.cloud
  2.         spring-cloud-starter-openfeign
  3.      
  4.     
  5.         org.springframework.cloud
  6.         spring-cloud-starter-alibaba-nacos-discovery
  7.     

(2)添加注解 @EnableDiscoveryClient開啟服務(wù)發(fā)現(xiàn),注解 @EnableFeignClients支持feign客戶端。


用@FeignClient("serviceName")注解在對外的接口上,這樣接口就支持調(diào)用服務(wù),因此支持熱插拔。serviceName使用注冊中心被調(diào)用的服務(wù)名字。@RequestMapping注解的方法是服務(wù)提供方的接口方法,看起來是不是和springmvc使用方法很像,沒錯因?yàn)檫@是feign對mvc支持的一種契約。feign默認(rèn)是@RequestLine。它可以支持各種契約。同樣子,他可以使用默認(rèn)的HttpUrlConnection也可以使用httpclient或者okhttp3.

(3)修改application.peoperties配置文件
????#服務(wù)名字
??? ----- spring.application.name=feign-service
????#服務(wù)無端口0會隨機(jī)選擇一個
??? ----- server.port=0
????#服務(wù)集群名字
??? ---- spring.cloud.nacos.discovery.cluster-name=consumer-service
????#nacos注冊中心地址
??? ----- spring.cloud.nacos.discovery.server-addr=nacos.blog.ailijie.top
??????ok,完成。下面是feign的高級使用

feign高級使用

(1)feign日志配置

創(chuàng)建feign日志級別,還有feign的重試機(jī)制,這樣feign可以使用重試機(jī)制同時把每一次的請求用日志記錄下來。
(2)feign的斷路

在feignclient注解中配置fallbackFactory工廠,進(jìn)行斷路解決。使用factory的好處是可以處理異常信息。還可以使用fallback處理。如果使用fallback,fallbackFactory將不會生效??匆幌?,F(xiàn)actory

需要返回一個IProviderService的實(shí)現(xiàn)類,在create方法里可以處理異常。這樣在服務(wù)端發(fā)生異常或者下線后,將會走斷路方法。
(2)feign的高級配置
????#開啟okhttp
??? ----- feign.okhttp.enabled=true
????#開啟hystrix斷路,不開啟feign的降級不生效
??? ----- feign.hystrix.enabled=true

????#hystrix斷路超時時間
??? ----- hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = 2000

??? ----- provider-??? ----- service.ribbon.ConnectTimeout = 1000
??? ----- provider-service.ribbon.ReadTimeout = 1000
????#對所有操作請求都進(jìn)行重試
??? ----- provider-servicee.ribbon.OkToRetryOnAllOperations = true
????#切換實(shí)例的重試次數(shù)
??? ----- provider-service.ribbon.MaxAutoRetriesNextServer = 2

????#對當(dāng)前實(shí)例的重試次數(shù)
??? ----- provider-service.ribbon.MaxAutoRetries = 1
????#設(shè)置日志級別
??? ----- logging.level.com.wotrd.feignservice.service.IProviderService=DEBUG
????斷路的超時時間需要大于讀超時時間,不然重試不生效。

????未完待續(xù),接下來將會更新springmvc全局異常處理和springdataflow。有問題請留言。
????個人博客地址 https://blog.ailijie.top/arch...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/75189.html

相關(guān)文章

  • 如何構(gòu)建一個簡單的CAAS系統(tǒng)

    摘要:在系統(tǒng)出現(xiàn)前企業(yè)應(yīng)用架構(gòu)基本被等模式壟斷,直到的出現(xiàn)為我們打開了另一個扇大門,廢話不說了,我們直奔主題我們先了解下一個簡單的系統(tǒng)是如何為用戶提供服務(wù)的企業(yè)用戶上傳它的應(yīng)用代碼或其他代碼托管方式,我們生成用戶應(yīng)用的鏡像,或者用戶直接上傳鏡像或 在CAAS系統(tǒng)出現(xiàn)前企業(yè)應(yīng)用架構(gòu)基本被IAAS/SAAS/PAAS等模式壟斷,直到docker的出現(xiàn)為我們打開了另一個扇大門,廢話不說了,我們直奔...

    wpw 評論0 收藏0
  • 如何構(gòu)建一個簡單的CAAS系統(tǒng)

    摘要:在系統(tǒng)出現(xiàn)前企業(yè)應(yīng)用架構(gòu)基本被等模式壟斷,直到的出現(xiàn)為我們打開了另一個扇大門,廢話不說了,我們直奔主題我們先了解下一個簡單的系統(tǒng)是如何為用戶提供服務(wù)的企業(yè)用戶上傳它的應(yīng)用代碼或其他代碼托管方式,我們生成用戶應(yīng)用的鏡像,或者用戶直接上傳鏡像或 在CAAS系統(tǒng)出現(xiàn)前企業(yè)應(yīng)用架構(gòu)基本被IAAS/SAAS/PAAS等模式壟斷,直到docker的出現(xiàn)為我們打開了另一個扇大門,廢話不說了,我們直奔...

    Berwin 評論0 收藏0
  • php+nodeJs+thrift協(xié)議,實(shí)現(xiàn)zookeeper節(jié)點(diǎn)數(shù)據(jù)自動發(fā)現(xiàn)

    摘要:可以在主進(jìn)程中拋出一個子進(jìn)程,子進(jìn)程中實(shí)現(xiàn)的自動發(fā)現(xiàn),子進(jìn)程偵察到節(jié)點(diǎn)數(shù)據(jù)變化時,主動通知主進(jìn)程。架構(gòu)的整體思路是子進(jìn)程實(shí)現(xiàn)的自動發(fā)現(xiàn),主進(jìn)程維護(hù)一個節(jié)點(diǎn)數(shù)據(jù)的共享變量,其他服務(wù)要想使用節(jié)點(diǎn)數(shù)據(jù)時,從主進(jìn)程中獲取。 php是當(dāng)下最流行的web服務(wù)器端語言,zookeeper是大型分布式協(xié)同工具,本文在這里介紹一種架構(gòu)實(shí)現(xiàn)php服務(wù)器對于zookeeper數(shù)據(jù)變化的自動監(jiān)聽 一.問題背景...

    MingjunYang 評論0 收藏0
  • 騰訊開源百萬級服務(wù)發(fā)現(xiàn)和治理中心北極星

    摘要:第三種是以為代表的服務(wù)網(wǎng)格,通過劫持業(yè)務(wù)請求的方式實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和治理。服務(wù)網(wǎng)格對于上述服務(wù)發(fā)現(xiàn)和治理功能,北極星提供統(tǒng)一的控制面和數(shù)據(jù)面。騰訊業(yè)務(wù)線眾多,開發(fā)語言和框架也眾多,北極星數(shù)據(jù)面支持多語言和兩種模式。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overf...

    Neilyo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<