Consul的搭建和.Net5的注冊(cè)和獲取方法(Win10簡單版)
Consul 是一個(gè)用來實(shí)現(xiàn)分布式系統(tǒng)服務(wù)發(fā)現(xiàn)與配置的開源工具。它內(nèi)置了服務(wù)注冊(cè)與發(fā)現(xiàn)框架、分布一致性協(xié)議實(shí)現(xiàn)、健康檢查、Key/Value存儲(chǔ)、多數(shù)據(jù)中心方案,也可以作為配置中心。
Consul的下載就不說了,解壓包后吧安裝路勁放到系統(tǒng)環(huán)境變量Path里面去,consul的啟動(dòng)命令。
consul agent -dev
驗(yàn)證啟動(dòng)成功網(wǎng)址:localhost:8500
啟動(dòng)后就要給consul注冊(cè)了
全局僅一次的注冊(cè)放在StartUp里,怎么封裝先不說,具體實(shí)現(xiàn)是這樣的
//找到Consul ConsulClient client = new ConsulClient(c => { c.Address = new Uri("http://localhost:8500/"); c.Datacenter = "dcl"; }); string ip = Configuration["ip"]; int port = Convert.ToInt32(Configuration["port"]); string tag = Configuration["tag"]; client.Agent.ServiceRegister(new AgentServiceRegistration { ID = $"Steven:{Guid.NewGuid()}", Name = "StevenGroup", Address = ip, Port = port, Tags = new string[] { tag }, Check = new AgentServiceCheck { Interval = TimeSpan.FromSeconds(10),//間隔固定的時(shí)間訪問一次,https://localhost:44308/api/Health HTTP = $"http://{ip}:{port}/Heart",//健康檢查地址 Timeout = TimeSpan.FromSeconds(5) } }); Console.WriteLine("注冊(cè)成功");
我這里是通過控制臺(tái)傳參數(shù)進(jìn)去給IP和Port的
多個(gè)實(shí)例注冊(cè)后
值得一提的是在注冊(cè)中的Name并不是標(biāo)識(shí),而是分組名稱。。。。。
這樣就注冊(cè)完事兒了,接下來說怎么去獲取地址
ConsulClient client = new ConsulClient(c => { c.Address = new Uri("http://localhost:8500/"); c.Datacenter = "dcl"; }); var response = client.Agent.Services().Result.Response; Uri uri = new Uri("http://StevenGroup/weatherforecasta"); string groupName = uri.Host; AgentService agentService = null; var dic = response.Where(s => s.Value.Service.Equals(groupName, StringComparison.OrdinalIgnoreCase)).Reverse().ToArray(); agentService = dic[0].Value;
應(yīng)該很好懂,主要是取出來,至于去取哪一個(gè)作為你的轉(zhuǎn)發(fā)項(xiàng),那就看你怎么分配了。
失敗重試的邏輯我沒寫。就這樣吧,這篇的目的就是讓你的Consul先能跑起來。
到此這篇關(guān)于Consul的搭建和.Net5的注冊(cè)和獲取方法(Win10簡單版)的文章就介紹到這了,更多相關(guān)Consul搭建.Net5的注冊(cè)獲取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
uni-app結(jié)合.NET?7實(shí)現(xiàn)微信小程序訂閱消息推送
本文主要介紹了uni-app結(jié)合.NET?7實(shí)現(xiàn)微信小程序訂閱消息推送,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02.NET實(shí)現(xiàn)可交互的WINDOWS服務(wù)的實(shí)例代碼
那么來看一下如何才能實(shí)現(xiàn)一個(gè)可交互的服務(wù)呢。步驟與實(shí)現(xiàn)基本的服務(wù)一樣2013-03-03C#頁碼導(dǎo)航顯示及算法實(shí)現(xiàn)代碼
C#頁碼導(dǎo)航算法要求:頁數(shù)小于等于1時(shí)不顯示;頁數(shù)大于10時(shí),自動(dòng)縮短,需要的朋友可以了解下2012-12-12ASP.NET MVC 開發(fā)微信支付H5的實(shí)現(xiàn)示例(外置瀏覽器支付)
這篇文章主要介紹了ASP.NET MVC 開發(fā)微信支付H5的實(shí)現(xiàn)示例(外置瀏覽器支付),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Asp.net(C#)讀取數(shù)據(jù)庫并生成JS文件制作首頁圖片切換效果(附demo源碼下載)
這篇文章主要介紹了Asp.net(C#)讀取數(shù)據(jù)庫并生成JS文件制作首頁圖片切換效果的方法,涉及asp.net數(shù)據(jù)庫操作及JavaScript幻燈片生成的相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04如何在ASP.NET Core中使用ViewComponent
這篇文章主要介紹了如何在ASP.NET Core中使用ViewComponent,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04