consul安装使用(consul 0.7.2.6)
1.安装consul
2.代码引用consul
3. consulConfig 读取配置文件:ip,port,servicename
4.//向Consul注册服务
//心跳检测设置
var httpCheck = new AgentServiceCheck()
{
DeregisterCriticalServiceAfter = TimeSpan.FromMinutes(3), //心跳检测失败多久后注销
Interval = TimeSpan.FromSeconds(10), //间隔多久心跳检测一次
HTTP = $"http://{localIP}:{localPort}/Vxxxx/Health/Check", //心跳检查地址,本服务提供的地址
Timeout = TimeSpan.FromSeconds(10) //心跳检测超时时间
};
//服务名
var serviceName = consulConfig.ServiceName;
//注册信息
var registration = new AgentServiceRegistration()
{
ID = $"{localIP}:{localPort}", //服务ID,唯一
Name = serviceName, //服务名(如果服务搭集群,它们的服务名应该是一样的,但是ID不一样)
Address = $"{localIP}", //服务地址
Port = localPort, //服务端口
Tags = new string[] { }, //服务标签,一般可以用来设置权重等本地服务特有信息
Checks = new[] { httpCheck }, //心跳检测设置
};
//向Consul注册服务
consulClient.Agent.ServiceRegister(registration).Wait();
//关闭程序后注销到Consul
appLifetime.ApplicationStopped.Register(() =>
{
consulClient.Agent.ServiceDeregister(registration.ID).Wait();
});