Esempio n. 1
0
 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);
        }
Esempio n. 3
0
 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)
             }
         });
     }
 }
Esempio n. 4
0
 public ServiceCenterService(ILogger logger)
 {
     _consulConfig = SingletonUtil.Singleton <ConsulSetting> .Instance;
     _logger       = logger;
     _client       = SingletonUtil.Singleton <ConsulClientProvider> .Instance.GetConsulClient();
 }