Consul的搭建和.Net5的注冊和獲取方法(Win10簡單版)
Consul 是一個用來實現(xiàn)分布式系統(tǒng)服務發(fā)現(xiàn)與配置的開源工具。它內(nèi)置了服務注冊與發(fā)現(xiàn)框架、分布一致性協(xié)議實現(xiàn)、健康檢查、Key/Value存儲、多數(shù)據(jù)中心方案,也可以作為配置中心。
Consul的下載就不說了,解壓包后吧安裝路勁放到系統(tǒng)環(huán)境變量Path里面去,consul的啟動命令。
consul agent -dev
驗證啟動成功網(wǎng)址:localhost:8500
啟動后就要給consul注冊了
全局僅一次的注冊放在StartUp里,怎么封裝先不說,具體實現(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),//間隔固定的時間訪問一次,https://localhost:44308/api/Health
HTTP = $"http://{ip}:{port}/Heart",//健康檢查地址
Timeout = TimeSpan.FromSeconds(5)
}
});
Console.WriteLine("注冊成功");我這里是通過控制臺傳參數(shù)進去給IP和Port的
多個實例注冊后


值得一提的是在注冊中的Name并不是標識,而是分組名稱。。。。。
這樣就注冊完事兒了,接下來說怎么去獲取地址
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;應該很好懂,主要是取出來,至于去取哪一個作為你的轉發(fā)項,那就看你怎么分配了。
失敗重試的邏輯我沒寫。就這樣吧,這篇的目的就是讓你的Consul先能跑起來。
到此這篇關于Consul的搭建和.Net5的注冊和獲取方法(Win10簡單版)的文章就介紹到這了,更多相關Consul搭建.Net5的注冊獲取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
uni-app結合.NET?7實現(xiàn)微信小程序訂閱消息推送
本文主要介紹了uni-app結合.NET?7實現(xiàn)微信小程序訂閱消息推送,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
.NET實現(xiàn)可交互的WINDOWS服務的實例代碼
那么來看一下如何才能實現(xiàn)一個可交互的服務呢。步驟與實現(xiàn)基本的服務一樣2013-03-03
ASP.NET MVC 開發(fā)微信支付H5的實現(xiàn)示例(外置瀏覽器支付)
這篇文章主要介紹了ASP.NET MVC 開發(fā)微信支付H5的實現(xiàn)示例(外置瀏覽器支付),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
Asp.net(C#)讀取數(shù)據(jù)庫并生成JS文件制作首頁圖片切換效果(附demo源碼下載)
這篇文章主要介紹了Asp.net(C#)讀取數(shù)據(jù)庫并生成JS文件制作首頁圖片切換效果的方法,涉及asp.net數(shù)據(jù)庫操作及JavaScript幻燈片生成的相關技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
如何在ASP.NET Core中使用ViewComponent
這篇文章主要介紹了如何在ASP.NET Core中使用ViewComponent,幫助大家更好的理解和學習使用.net技術,感興趣的朋友可以了解下2021-04-04

