最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Consul的搭建和.Net5的注冊(cè)和獲取方法(Win10簡(jiǎn)單版)

 更新時(shí)間:2022年01月11日 15:51:07   作者:王月半子  
Consul?是一個(gè)用來實(shí)現(xiàn)分布式系統(tǒng)服務(wù)發(fā)現(xiàn)與配置的開源工具。接下來通過本文給大家介紹win10下Consul的搭建和.Net5的注冊(cè)和獲取方法,感興趣的朋友一起看看吧

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簡(jiǎn)單版)的文章就介紹到這了,更多相關(guān)Consul搭建.Net5的注冊(cè)獲取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

遵化市| 沙河市| 东阿县| 和田县| 河池市| 上饶县| 克山县| 通城县| 桐庐县| 会东县| 石家庄市| 平远县| 大港区| 尉氏县| 白银市| 庐江县| 惠来县| 疏勒县| 柳林县| 含山县| 商都县| 阿巴嘎旗| 女性| 保亭| 民和| 柳河县| 桐庐县| 师宗县| 惠州市| 汉川市| 建瓯市| 滨海县| 偏关县| 北川| 安吉县| 辽阳市| 广西| 临沧市| 南乐县| 墨脱县| 湖北省|