Beispiel #1
0
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var key = GetCacheKey(e.Route.ServiceDescriptor);
            Lazy <AddressEntry> value;

            _concurrent.TryRemove(key, out value);
        }
Beispiel #2
0
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var path = _configInfo.CommandPath;

            if (!path.EndsWith("/"))
            {
                path += "/";
            }
            var zooKeeperClients = _zookeeperClientProvider.GetZooKeeperClients().Result;

            try
            {
                foreach (var zooKeeperClient in zooKeeperClients)
                {
                    var nodePath = $"{path}{e.Route.ServiceDescriptor.Id}";
                    if (zooKeeperClient.StrictExistsAsync(nodePath).Result)
                    {
                        zooKeeperClient.DeleteAsync(nodePath).Wait(_configInfo.ConnectionTimeout);
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex is NoNodeException || ex.InnerException is NoNodeException)
                {
                    _logger.LogDebug(ex.Message, ex);
                }
                else
                {
                    throw ex;
                }
            }
        }
Beispiel #3
0
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var key          = GetCacheKey(e.Route.ServiceDescriptor);
            var addressEntry = _concurrent.GetOrAdd(key, k => new Lazy <AddressEntry>(() => new AddressEntry(e.Route.Address))).Value;

            addressEntry.SetAddresses(e.Route.Address.ToArray());
        }
Beispiel #4
0
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var key  = GetCacheKey(e.Route.ServiceDescriptor);
            var item = _unHealths.Where(p => e.Route.Address.Select(addr => addr.ToString()).Contains(p.Item2.ToString())).ToList();

            item.ForEach(p => _unHealths.Remove(p));
            _concurrent.TryRemove(key, out ConsistentHash <AddressModel> value);
        }
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var clients = _consulClientFactory.GetClients().Result;

            foreach (var client in clients)
            {
                client.KV.Delete($"{_configInfo.CommandPath}{e.Route.ServiceDescriptor.Id}").Wait();
            }
        }
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var path = _configInfo.CommandPath;

            if (!path.EndsWith("/"))
            {
                path += "/";
            }
            _zooKeeper.deleteAsync($"{path}{e.Route.ServiceDescriptor.Id}").Wait();
        }
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var path = _configInfo.CommandPath;

            if (!path.EndsWith("/"))
            {
                path += "/";
            }
            var nodePath = $"{path}{e.Route.ServiceDescriptor.Id}";

            if (_zooKeeper.existsAsync(nodePath).Result != null)
            {
                _zooKeeper.deleteAsync(nodePath).Wait();
            }
        }
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var path = _configInfo.CommandPath;

            if (!path.EndsWith("/"))
            {
                path += "/";
            }
            var zooKeepers = _zookeeperClientProvider.GetZooKeepers().Result;

            foreach (var zooKeeper in zooKeepers)
            {
                var nodePath = $"{path}{e.Route.ServiceDescriptor.Id}";
                if (zooKeeper.Item2.existsAsync(nodePath).Result != null)
                {
                    zooKeeper.Item2.deleteAsync(nodePath).Wait();
                }
            }
        }
Beispiel #9
0
        private void ServiceRouteManager_Add(object sender, ServiceRouteEventArgs e)
        {
            var key = GetKey(e.Route.ServiceRouteDescriptor);

            if (_container.IsRegisteredWithKey <RedisContext>(e.Route.ServiceRouteDescriptor.Id))
            {
                var redisContext = _container.ResolveKeyed <RedisContext>(e.Route.ServiceRouteDescriptor.Id);
                _concurrent.GetOrAdd(key, e.Route);
                ConsistentHash <RedisEndPoint> hash;
                redisContext.dicHash.TryGetValue("redis", out hash);
                if (hash != null)
                {
                    foreach (var node in e.Route.Address)
                    {
                        var hashNode = node as RedisEndPoint;
                        var addr     = string.Format("{0}:{1}", hashNode.Host, hashNode.Port);
                        hash.Remove(addr);
                        hash.Add(hashNode, addr);
                    }
                }
            }
        }
Beispiel #10
0
 private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
 {
     _consul.KV.Delete($"{_configInfo.CommandPath}{e.Route.ServiceDescriptor.Id}").Wait();
 }
Beispiel #11
0
        private void ServiceRouteManager_Add(object sender, ServiceRouteEventArgs e)
        {
            var key = GetCacheKey(e.Route.ServiceDescriptor);

            _concurrent.GetOrAdd(key, e.Route);
        }
Beispiel #12
0
        private void ServiceRouteManager_Removed(object sender, ServiceRouteEventArgs e)
        {
            var key = GetCacheKey(e.Route.ServiceDescriptor);

            _concurrent.TryRemove(key, out ConsistentHash <AddressModel> value);
        }