/// <summary>
 /// 设置zookeeper缓存依赖配置
 /// </summary>
 /// <param name="connectionString">zookeeper连接信息</param>
 public void SetDefaultZKCacheDependencyOption(string connectionString)
 {
     _zkOption = new ZookeeperClientOptions()
     {
         ConnectionString = connectionString,
     };
 }
Esempio n. 2
0
        private async Task <bool> Check(string conn)
        {
            ZookeeperClient zookeeperClient = null;

            try
            {
                var options = new ZookeeperClientOptions(conn)
                {
                    ConnectionTimeout = TimeSpan.FromMilliseconds(_timeout)
                };
                zookeeperClient = new ZookeeperClient(options);
                return(zookeeperClient.WaitForKeeperState(Event.KeeperState.SyncConnected, TimeSpan.FromMilliseconds(_timeout)));
            }
            catch (Exception ex)
            {
                _logger.LogError("服务注册中心连接失败,原因:" + ex.Message);
                return(false);
            }
            finally
            {
                if (zookeeperClient != null)
                {
                    zookeeperClient.Dispose();
                }
            };
        }
Esempio n. 3
0
        private async Task Check(MonitorEntry entry)
        {
            ZookeeperClient zookeeperClient = null;

            try
            {
                var options = new ZookeeperClientOptions(entry.Connection)
                {
                    ConnectionTimeout = TimeSpan.FromMilliseconds(_timeout)
                };
                zookeeperClient = new ZookeeperClient(options);
                entry.Health    = true;
            }
            catch (Exception)
            {
                entry.Health = false;
            }
            finally
            {
                if (zookeeperClient != null)
                {
                    zookeeperClient.Dispose();
                }
            };
        }
Esempio n. 4
0
 private async Task Check(IEnumerable <MonitorEntry> entries)
 {
     foreach (var entry in entries)
     {
         ZookeeperClient zookeeperClient = null;
         try
         {
             var options = new ZookeeperClientOptions(entry.Connection)
             {
                 ConnectionTimeout = TimeSpan.FromMilliseconds(_timeout),
             };
             zookeeperClient      = new ZookeeperClient(options);
             entry.UnhealthyTimes = 0;
             entry.Health         = true;
         }
         catch (Exception ex)
         {
             _logger.LogError("服务注册中心连接失败,原因:" + ex.Message);
             entry.UnhealthyTimes++;
             entry.Health = false;
         }
         finally
         {
             if (zookeeperClient != null)
             {
                 zookeeperClient.Dispose();
             }
         };
     }
 }
Esempio n. 5
0
 public ZKCacheDependency(ZookeeperClientOptions option)
 {
     if (option == null || string.IsNullOrWhiteSpace(option.ConnectionString))
     {
         throw new ArgumentException("无效的zookeeper配置参数,请检查配置!");
     }
     _zkClient = new ZookeeperClient(option);
 }
 /// <summary>
 /// 设置zookeeper缓存依赖配置
 /// </summary>
 /// <param name="connectionString">zookeeper连接信息</param>
 /// <param name="basePath">基本路径</param>
 /// <param name="connTimeout">连接超时时间</param>
 public void SetDefaultZKCacheDependencyOption(string connectionString, string basePath, TimeSpan connTimeout)
 {
     _zkOption = new ZookeeperClientOptions()
     {
         ConnectionString  = connectionString,
         BasePath          = basePath,
         ConnectionTimeout = connTimeout
     };
 }
 /// <summary>
 /// 设置zookeeper缓存依赖配置
 /// </summary>
 /// <param name="connectionString">zookeeper连接信息</param>
 /// <param name="basePath">基本路径</param>
 /// <param name="connTimeout">连接超时时间</param>
 /// <param name="operaTimeout">操作超时时间</param>
 /// <param name="isReadonly">是否只读</param>
 public void SetDefaultZKCacheDependencyOption(string connectionString, string basePath, TimeSpan connTimeout, TimeSpan operaTimeout, bool isReadonly)
 {
     _zkOption = new ZookeeperClientOptions()
     {
         ConnectionString  = connectionString,
         BasePath          = basePath,
         ConnectionTimeout = connTimeout,
         OperatingTimeout  = operaTimeout,
         ReadOnly          = isReadonly
     };
 }
 /// <summary>
 /// 设置zookeeper缓存依赖配置
 /// </summary>
 /// <param name="connectionString">zookeeper连接信息</param>
 /// <param name="basePath">基本路径</param>
 /// <param name="connTimeout">连接超时时间</param>
 /// <param name="operaTimeout">操作超时时间</param>
 /// <param name="isReadonly">是否只读</param>
 /// <param name="sessionId">会话Id</param>
 /// <param name="sessionPwd">会话密码</param>
 /// <param name="sessionTimeout">会话超时时间</param>
 public void SetDefaultZKCacheDependencyOption(string connectionString, string basePath, TimeSpan connTimeout, TimeSpan operaTimeout, bool isReadonly, long sessionId, byte[] sessionPwd, TimeSpan sessionTimeout)
 {
     _zkOption = new ZookeeperClientOptions()
     {
         ConnectionString  = connectionString,
         BasePath          = basePath,
         ConnectionTimeout = connTimeout,
         OperatingTimeout  = operaTimeout,
         ReadOnly          = isReadonly,
         SessionId         = sessionId,
         SessionPasswd     = sessionPwd,
         SessionTimeout    = sessionTimeout
     };
 }
        public void Init()
        {
            zkOptions = new ZookeeperClientOptions
            {
                ConnectionString = "47.93.242.4:2181"
            };

            zkClient = new ZookeeperClient(zkOptions);

            //注册事件
            RegisterEvent();

            //初始化组件
            InitComponents();

            Console.WriteLine("zooKeeper wait..");
            CoordinatorScheduler.Instance.Wait(zkOptions.OperatingTimeout);
        }
        private void CreateZookeeperClient(string connStr)
        {
            var zookeeperClientOptions = new ZookeeperClientOptions(connStr)
            {
                ConnectionTimeout = TimeSpan.FromMilliseconds(_registryCenterOptions.ConnectionTimeout),
                OperatingTimeout  = TimeSpan.FromMilliseconds(_registryCenterOptions.OperatingTimeout),
                SessionTimeout    = TimeSpan.FromMilliseconds(_registryCenterOptions.SessionTimeout),
            };

            try
            {
                var zookeeperClient = new ZookeeperClient(zookeeperClientOptions);
                _zookeeperClients.GetOrAdd(connStr, zookeeperClient);
            }
            catch (Exception e)
            {
                Logger.LogWarning($"无法链接服务注册中心{connStr},原因:{e.Message}");
            }
        }
 /// <summary>
 /// 创建一个新的ZooKeeper客户端。
 /// </summary>
 /// <param name="options">客户端选项。</param>
 public ZookeeperClient(ZookeeperClientOptions options)
 {
     Options   = options;
     ZooKeeper = CreateZooKeeper();
 }