Consul服务发现与注册
Posted zxp6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Consul服务发现与注册相关的知识,希望对你有一定的参考价值。
consul 启动
dos命令
consul路径\consul agent -dev
服务注册
dotnet 项目文件的bin目录dll文件 --urls="http://*:5726" --ip="127.0.0.1" --port=5726
urls发布的地址端口
ip控制台接收的参数
port控制台接收的参数
consul控制台固定端口 http://localhost:8500/
注册服务代码如下:
string ip = configuration["ip"] ?? "Localhost"; int port = string.IsNullOrWhiteSpace(configuration["port"]) ? 44344 : int.Parse(configuration["port"]); IConsulClient client = new ConsulClient(obj => obj.Address = new Uri("http://127.0.0.1:8500");//注册地址 obj.Datacenter = "dc1";//注册内容名称 ); Task<WriteResult> result = client.Agent.ServiceRegister(new AgentServiceRegistration() ID = "apiserviceTest_" + Guid.NewGuid(),//服务编号,不能重复 Name = "apiserviceTest",//服务的名字--将来调用时用的就是这个 Address = ip, Port = port, Tags = new string[] ,//可以用来设置权重 Check = new AgentServiceCheck() DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务停止多久后反注册 Interval = TimeSpan.FromSeconds(10),//健康检查时间间隔,或者称为心跳间隔 HTTP = $"http://ip:port/api/Value",//健康检查地址, Timeout = TimeSpan.FromSeconds(5) );
注册启动接受参数 如接受ip port等
public static void Main(string[] args) ///允许控制台命令 var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddCommandLine(args) .Build(); CreateHostBuilder(args) .Build() .Run();
以上是关于Consul服务发现与注册的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud(13)——服务注册与发现工具Consul