下面这些配置对client与server之间的连接和超时时间进行了限制。
globalOutstandingLimit
这个配置指定了等待处理的最大请求数量的限制(zookeeper.globalOutstandingLimit)。
client发送请求的速度可能会比server端处理的速度快,会导致请求在server端排队,最终(在若干秒内)会使server的内存耗尽。为了避免这一点,如果等待的请求数量达到了globalOutstandingLimit,server端会拒绝client的请求。但是这个限制不是hard限制。每一个client至少能有一个outstanding请求,否则连接会开始出现超时。所以,当达到globalOutstandingLimit之后,只有在没有任何的pending请求时,server才会从client连接读取数据。
为了决定某一台确定的server的限制,可以简单的用这个配置项的值除以server的数量。现在没有一种聪明的方式来决定这个值来进行限制,总的说来,这个配置项的值就是outstanding请求的上限。实际上,负载无法在server间进行均衡,总有一些server的负载会高一些,即使没有达到上限。
默认的限制为1000个请求。通常不需要改变这个配置,如果有很多client会发送非常大的请求,你需要调低这个值,但是在实践中通常不需要改变这个值。
maxClientCnxns
决定了每个IP地址可以发起的socket连接个最大个数。
ZooKeeper使用了flow control和limit来避免连接过载。建立连接消耗的资源远远超过普通的操作消耗的资源。一瞬间过多的请求会造成拒绝服务的问题,所以加上了这个限制,当某个IP的连接超过了这个限制,server会拒绝连接。默认值为60。
clientPortAddress
默认server会监听所有的网络接口提供client来连接。有一些服务器会有多个网络接口,通常一些为内网接口一些为外网接口。如果不想开放外网接口,可以将此配置项设为内网接口。
minSessionTimeout
这是session过期的最小超时时间,单位为毫秒。当client发起连接时,它会请求一个特定的超时时间,但是实际的超时时间并能小于这个配置项。
开发者喜欢立即并准确的检测到client端的失败。但不幸的是,系统不能实时的检测到,实际上是使用心跳和超时来做的。超时的使用依赖于client端和server端的网络延迟和可靠性。超时时间必须至少等于网络的round trip time,但是偶尔会有丢包的情况,在这种情况下接收响应的时间会增加,因为会发送发送丢失的包。
默认minSessionTimeout是tickTime的2倍。把这个值设置得过低的话会导致错误的检测client的失败。设置得太高的话会导致检测client的失败的延迟。
maxSessionTimeout
这是最大的session超时时间,单位为毫秒。当client发起连接时,它会请求一个特定的超时时间,但是实际的超时时间并能大于这个配置项。
尽管这个配置不会影响系统性能,但会限制client消耗系统资源的时间。默认是tickTime的20倍。
相关推荐
由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:**配置维护、组服务、分布式消息队列**、**分布式通知/协调**等。ZooKeeper在实现这些服务时,首先它设计一种新的**数据...
因为使用的笔记本,所以每次连接网络IP都会改变,还要总是修改配置文件的,过于繁琐,不方便测试。(通过Docker虚拟网络的方式可以避免此问题,当时实验的时候没有了解到) Docker 安装 如果已经安装Docker请忽略此...
spring-boot-seckill分布式秒杀系统是一个用SpringBoot开发的从0到1构建的分布式秒杀系统,项目案例基本成型,逐步完善中。...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。
从0开始搭建3个节点额度zookeeper集群 深入分析Zookeeper在disconf配置中心的应用 基于Zookeeper Watcher 核心机制深入源码分析 Zookeeper集群升级、迁移 基于Zookeeper实现分布式服务器动态上下线感知 深入...
206第11章 Hive及Hadoop群 20711.1 Hive 20711.1.1 安装与配置Hive 20811.1.2 查询的示例 21011.1.3 深入HiveQL 21311.1.4 Hive小结 22111.2 其他Hadoop相关的部分 22111.2.1 HBase 22111.2.2 ZooKeeper 22111.2.3 ...
Hive及Hadoop群 20711.1 Hive 20711.1.1 安装与配置Hive 20811.1.2 查询的示例 21011.1.3 深入HiveQL 21311.1.4 Hive小结 22111.2 其他Hadoop相关的部分 22111.2.1 HBase 22111.2.2 ZooKeeper ...
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...
使用systemd管理statsd服务创建 /usr/lib/systemd/system/statsd.service 文件,内容如下:[Unit]Descr
网络 操作系统 Linux相关 数据结构与算法 数据结构 算法 数据库 MySQL Redis 数据库扩展 代办...... 系统设计 常用框架 Spring/SpringBoot ZooKeeper 数据通信/中间件 RPC 消息队列 权限认证 分布式 & 微服务 API ...
网络 操作系统 Linux相关 数据结构与算法 数据结构 算法 数据库 MySQL Redis 数据库扩展 代办...... 系统设计 常用框架 Spring/SpringBoot ZooKeeper 数据通信/中间件 RPC 消息队列 权限认证 分布式 & 微服务 API ...
Hadoop技术本身比较复杂,而且还涉及Pig、ZooKeeper、Hive、HBase等一系列技术,学习门槛比较高,对于初学者和基础不太扎实的读者而言,有一本适合系统学习的Hadoop图书显得十分重要。本书即是专门为这两类读者量身...
注:本项目为开源项目,不能用于商业应用,仅供学习。 ### 使用工具: maven(构建项目),svn(版本控制工具),myeclipse(集成开发环境),nginx(反向代理), FastDFS (图片服务器),tomcat(web服务器),zookeeper...
Hive及Hadoop群 11.1 Hive 11.1.1 安装与配置Hive 11.1.2 查询的示例 11.1.3 深入HiveQL 11.1.4 Hive小结 11.2 其他Hadoop 相关的部分 11.2.1 HBase 11.2.2 ZooKeeper 11.2.3 Cascading 11.2.4 Cloudera ...
Fourinone(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,... 三、网络波动状况下的策略处理,设置抢救期,抢救期内网络稳定下来不判定结点死亡 本软件由www.gg265.net www.fmrpg.com站长提供
三、网络波动状况下的策略处理,设置抢救期,抢救期内网络稳定下来不判定结点死亡 fourinone-3.04.25最新版升级内容: 1、编译和运行环境升级为jdk7.0版本; 2、计算中止和超时中止的支持,比如多台计算机工人同时...
spring-boot-seckill分布式秒杀系统是一个用SpringBoot开发的从0到1构建的分布式秒杀系统,项目案例基本成型,逐步完善中。...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。
网络 操作系统 Linux相关 数据结构与算法 数据结构 算法 数据库 MySQL Redis 数据库扩展 代办...... 系统设计 常用框架 Spring/SpringBoot ZooKeeper 数据通信/中间件 RPC 消息队列 权限认证 分布式 & 微服务 API ...
授权方式: 开源软件 界面语言: ...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。 spring-boot-seckill分布式秒杀系统截图 相关阅读 同类推荐: 站长常用源码
│ 16-tomcat的3种运行模式和执行器(线程池).avi │ 17-tomcat中连接器.avi │ 18-禁用AJP连接器.avi │ 19-tomcat中JVM参数优化.avi │ ├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt ...