/// <summary> /// 服务注销 /// </summary> /// <param name="serviceNode"></param> public void DeRegister(ServiceRegistryConfig serviceNode) { //1,创建客户端连接 var consulclient = new ConsulClient(config => { //1.1建立客户端与服务端的连接 config.Address = new Uri(serviceNode.Address); }); //2.注销服务 consulclient.Agent.ServiceDeregister(serviceNode.Id); //3 关闭连接 consulclient.Dispose(); }
/// <summary> /// 注销服务 /// </summary> /// <param name="serviceRegistry"></param> public void Deregister(ServiceRegistryConfig serviceRegistry) { //1.创建consul客户端连接 var consulClient = new ConsulClient(configuration => { //1.1 建立客户端和服务端连接 configuration.Address = new Uri(serviceRegistry.RegistryAddress); }); //2.注销服务 consulClient.Agent.ServiceDeregister(serviceRegistry.Id); //3.关闭连接 consulClient.Dispose(); }
/// <summary> /// 注册服务 /// </summary> /// <param name="serviceNode"></param> public void Register(ServiceRegistryConfig serviceNode) { //1.创建服务客户端 var consulclient = new ConsulClient(config => { //1.1 建立客户端与服务端的连接 config.Address = new Uri(serviceNode.Address); }); //2.获取服务内部地址 //3.创建consul服务注册对象 var registeration = new AgentServiceRegistration() { Address = serviceNode.Address, ID = serviceNode.Id, Name = serviceNode.Name, Port = serviceNode.Port, Tags = serviceNode.Tags, Check = new AgentServiceCheck { //3.1 consul健康检查超时时间 Timeout = TimeSpan.FromSeconds(10), //3.2 服务停止5秒后注销服务 DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5), //3.3 consul健康检查地址 HTTP = serviceNode.HealthCheckAddress, // 3.4 健康检查时间间隔 Interval = TimeSpan.FromSeconds(10) }, }; //4.注册服务 consulclient.Agent.ServiceRegister(registeration).Wait(); //5.关闭连接 consulclient.Dispose(); }
/// <summary> /// 注册服务 /// </summary> /// <param name="serviceRegistry"></param> public void Register(ServiceRegistryConfig serviceRegistry) { //1.创建consul客户端连接 var consulClient = new ConsulClient(configuration => { //1.1 建立客户端和服务端连接 configuration.Address = new Uri(serviceRegistry.RegistryAddress); }); //2.创建consul服务注册对象 var registration = new AgentServiceRegistration() { ID = serviceRegistry.Id, Name = serviceRegistry.Name, Address = serviceRegistry.Address, Port = serviceRegistry.Port, // 安全检查,心跳机制,每隔一段请求一次保证安全 Check = new AgentServiceCheck { // 3.1 consul健康检查超时间 Timeout = TimeSpan.FromSeconds(10), // 3.2 服务停止5秒后注销服务 DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5), // 3.3 consul健康检查地址,微服务心跳检测地址 HTTP = serviceRegistry.HealthCheckAddress, // 3.4 consul健康检查间隔时间 Interval = TimeSpan.FromSeconds(10) } }; //3.注册服务 consulClient.Agent.ServiceRegister(registration).Wait(); //4.关闭连接 consulClient.Dispose(); }