91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何將HttpClientFactory與Steeltoe結合來完成服務發現

發布時間:2022-01-14 09:18:14 來源:億速云 閱讀:96 作者:柒染 欄目:大數據

這篇文章主要為大家分析了如何將HttpClientFactory與Steeltoe結合來完成服務發現的相關知識點,內容詳細易懂,操作細節合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“如何將HttpClientFactory與Steeltoe結合來完成服務發現”的知識吧。

前言

用HttpClientFactory實現了簡單的熔斷降級。

下面就來簡單說說用HttpClientFactory來實現服務發現。由于標題已經好明顯的說了Steeltoe

因此這里會要求有Spring Clound的相關環境,也默認各位對這里有些許了解,所以不會涉及搭建過程的。

下面就開始正文了。

定義Service

這里的Service,其實可以比較簡單的理解成對注冊到Eureka的服務進行調用,然后進行后續處理。

如何將HttpClientFactory與Steeltoe結合來完成服務發現

在上面的Service中,都是常規的不能再常規的HttpClient的用法!似乎也沒有看到任何和服務發現相關的東西呀。

確實,就上面的代碼,完成不了服務發現,因為我們的主角,HttpClientFactory還沒有出場!

先定義好這個Service,是因為我們這里要用另一種client方式(Typed Client)。

下面就去Startup進行相關的配置了。

在Startup進行配置

在進行配置之前,我們要先添加Steeltoe.Discovery.ClientCore的引用。

<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="2.1.0-rc1" />

再按照Steeltoe的配置說明,在appsettings.json中添加下面的配置

如何將HttpClientFactory與Steeltoe結合來完成服務發現

最后就是在ConfigureServices方法里面進行操作了。

如何將HttpClientFactory與Steeltoe結合來完成服務發現

這里注冊HttpClient,涉及到了兩個點。一個是Typed Client,另一個是outgoing request middleware

Typed Client 主要是AddTypedClient<IMyService, MyService>(),表明注冊的這個HttpClient是給這個類型用的。

DiscoveryHttpMessageHandler表明,使用這個HttpClient的時候,會使用這個Handler.

另外,這里指定的BaseAddress是http://bservicetest/api/values/。

這個是已經注冊到Eureka的另外一個測試服務,我們就是要發現它,然后從這個服務里面取到結果。

然后,自然就是控制器了。

Controller和日志使用

Controller就是很簡單的了,不需要多說。

如何將HttpClientFactory與Steeltoe結合來完成服務發現

這里還加了一個日志,是為了方便發布后查看日志,所以添加了NLog來輸出日志。

添加一個nlog.config,內容大致如下。

如何將HttpClientFactory與Steeltoe結合來完成服務發現

然后在Program添一行使用NLog的代碼。

如何將HttpClientFactory與Steeltoe結合來完成服務發現

運行效果

發布之后,可以看到Eureka上面已經成功注冊了我們的這個ClientTest服務

如何將HttpClientFactory與Steeltoe結合來完成服務發現

其中,上圖兩個箭頭的地方就是我們用到的服務,CLIENTTEST就是我們剛才發布的。BSERVICETEST是另一個測試服務。

CLIENTTEST就是會調用BSERVICETEST這個測試服務拿數據。

下面請求看看效果。

如何將HttpClientFactory與Steeltoe結合來完成服務發現

從動圖來看,是已經達到預期了,由于BSERVICETEST有兩個實例,所以也可以看到上面的結果是,兩個實例在隨機返回結果。

最后看看日志

如何將HttpClientFactory與Steeltoe結合來完成服務發現

請求也確實是到了我們的BSERVICETEST,而不是直接通過這個service的直接地址去訪問的。

關于“如何將HttpClientFactory與Steeltoe結合來完成服務發現”就介紹到這了,更多相關內容可以搜索億速云以前的文章,希望能夠幫助大家答疑解惑,請多多支持億速云網站!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹棱县| 新乡县| 平武县| 慈溪市| 宁乡县| 肇东市| 洛隆县| 北安市| 蒲江县| 大田县| 高雄市| 罗定市| 石嘴山市| 义乌市| 韶关市| 陇南市| 准格尔旗| 济南市| 汝南县| 卢氏县| 开江县| 铜鼓县| 巢湖市| 繁峙县| 太谷县| 乃东县| 苍南县| 故城县| 南华县| 县级市| 龙门县| 德惠市| 锦屏县| 甘南县| 禄丰县| 靖江市| 尼玛县| 鄂伦春自治旗| 彰化市| 阜阳市| 常德市|