記一次使用Consul進行服務註冊和服務發現

2022-02-26 12:50:40 字數 1589 閱讀 7393

因為consul對.net core的支撐和對ocelot的高度相容性,所以,.net core使用的服務註冊與發現的元件大多數使用的consul。

首先。我有乙個測試服務a。這個服務會進行服務註冊。用於對外提供服務。

服務a :

首先,nuget安裝consul

新增乙個擴充套件類consulextensions 

public static class consulextensions

);var registration = new agentserviceregistration()

:",//健康檢查位址

timeout = timespan.fromseconds(5)//超時時間}};

//服務註冊

consulclient.agent.serviceregister(registration).wait();

////應用程式終止時,手動取消註冊

//);}}

在starup裡面註冊consul服務

"

consulsetting

":

啟動服務,在consul裡面就能看見這個服務已經註冊進去了

現在再開始進入測試服務b,這個服務用於服務發現,並呼叫測試服務a的介面。

public

class

public

async taskgetasync()

);var services = consulclient.health.service("

testservice

", null, true, null).result.response;//

健康的服務

訂單服務位址列表

if (!serviceurls.any())

//每次隨機訪問乙個服務例項

var client = new restclient(serviceurls[new random().next(0

, serviceurls.length)]);

var request = new restrequest("

/api/test/getone

", method.get);

var response = await

client.executeasync(request);

return

response.content;}}

我這裡使用restsharp來進行http請求。

訪問服務,testservice已經正常響應資料。

記一次muse ui 使用

vue init webpack test musenpm i muse ui snpm i babel plugin import less less loader d然後,將.babelrc的 plugins 裡面新增一段 裡面的 plugins import 在使用的時候出現過乙個問題,專案本...

記一次vue splitpane使用

splitpane 分割面板元件 介紹,是乙個可以拖動選單寬度,可以生成想要 的選單寬度和內容寬度的一種布局方式。v on resize resize methods else if newwidth this.stepboxwidth this.stepboxwidth json.parse js...

記一次的使用

將jsp拆分frame框架,因為採用了第一種方式,一直在考慮用jquery非同步請求獲取資料,總是但不到效果,終於在js寫吐的時候選擇了第二種方式。參考網上的使用,大多是下面這個樣子,如果涉及靜態頁面之間定位,是沒有問題的 href 為目標頁面 通過target定位到frame views main...