public static async Task DeRegister(ConsulSetting consulSetting) { using (var client = new ConsulClient(cfg => { cfg.Address = new Uri($"{consulSetting.Url}"); cfg.Datacenter = "dc1"; })) { await client.Agent.ServiceDeregister(consulSetting.ServiceId); } }
public static ConsulSetting GetConsulSetting(this Configuration configuration) { if (_consulSetting != null) { return(_consulSetting); } _consulSetting = configuration.GetSetting <ConsulSetting>("Consul"); if (_consulSetting == null) { throw new ArgumentNullException("The consul config has error!"); } if (_consulSetting.Local == null) { throw new ArgumentNullException("The consul local config has error!"); } return(_consulSetting); }
public static async Task Register(ConsulSetting consulSetting) { using (var client = new ConsulClient(cfg => { cfg.Address = new Uri($"{consulSetting.Url}"); cfg.Datacenter = "dc1"; })) { await client.Agent.ServiceRegister(new AgentServiceRegistration() { ID = Guid.NewGuid().ToString(), Name = consulSetting.ServiceName, Address = consulSetting.Ip, Port = consulSetting.ClientPort, Check = new AgentServiceCheck { DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5), Interval = TimeSpan.FromSeconds(10), HTTP = $"http://{consulSetting.Ip}:{consulSetting.ClientPort}/api/health", Timeout = TimeSpan.FromSeconds(5) } }); } }
public ServiceCenterService(ILogger logger) { _consulConfig = SingletonUtil.Singleton <ConsulSetting> .Instance; _logger = logger; _client = SingletonUtil.Singleton <ConsulClientProvider> .Instance.GetConsulClient(); }