`
邢邢色色
  • 浏览: 226080 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ZooKeeper学习之配置【3】网络配置

阅读更多

下面这些配置对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学习笔记.pdf

    由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:**配置维护、组服务、分布式消息队列**、**分布式通知/协调**等。ZooKeeper在实现这些服务时,首先它设计一种新的**数据...

    Docker搭建Zookeeper&Kafka集群的实现

    因为使用的笔记本,所以每次连接网络IP都会改变,还要总是修改配置文件的,过于繁琐,不方便测试。(通过Docker虚拟网络的方式可以避免此问题,当时实验的时候没有了解到) Docker 安装 如果已经安装Docker请忽略此...

    【spring-boot-seckill分布式秒杀系统 v1.0】从0到1构建的java秒杀系统源码+安装说明

    spring-boot-seckill分布式秒杀系统是一个用SpringBoot开发的从0到1构建的分布式秒杀系统,项目案例基本成型,逐步完善中。...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。

    Java思维导图xmind文件+导出图片

    从0开始搭建3个节点额度zookeeper集群 深入分析Zookeeper在disconf配置中心的应用 基于Zookeeper Watcher 核心机制深入源码分析 Zookeeper集群升级、迁移 基于Zookeeper实现分布式服务器动态上下线感知 深入...

    Hadoop实战

    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 ...

    Hadoop实战中文版.PDF

    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学习技术栈梳理思维导图.xmind

    关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...

    statsd搭建和配置手册1

    使用systemd管理statsd服务创建 /usr/lib/systemd/system/statsd.service 文件,内容如下:[Unit]Descr

    java8源码-learning:学习

    网络 操作系统 Linux相关 数据结构与算法 数据结构 算法 数据库 MySQL Redis 数据库扩展 代办...... 系统设计 常用框架 Spring/SpringBoot ZooKeeper 数据通信/中间件 RPC 消息队列 权限认证 分布式 & 微服务 API ...

    java8源码-javaGuide:【Java学习】一份涵盖大部分Java程序员所需要掌握的核心知识。https://javaguide.cn

    网络 操作系统 Linux相关 数据结构与算法 数据结构 算法 数据库 MySQL Redis 数据库扩展 代办...... 系统设计 常用框架 Spring/SpringBoot ZooKeeper 数据通信/中间件 RPC 消息队列 权限认证 分布式 & 微服务 API ...

    Hadoop实战(陆嘉恒)译

    Hadoop技术本身比较复杂,而且还涉及Pig、ZooKeeper、Hive、HBase等一系列技术,学习门槛比较高,对于初学者和基础不太扎实的读者而言,有一本适合系统学习的Hadoop图书显得十分重要。本书即是专门为这两类读者量身...

    一个适合新手学习的电商项目

    注:本项目为开源项目,不能用于商业应用,仅供学习。 ### 使用工具: maven(构建项目),svn(版本控制工具),myeclipse(集成开发环境),nginx(反向代理), FastDFS (图片服务器),tomcat(web服务器),zookeeper...

    Hadoop实战中文版

    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分布式并行计算四合一框架

    Fourinone(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,... 三、网络波动状况下的策略处理,设置抢救期,抢救期内网络稳定下来不判定结点死亡  本软件由www.gg265.net www.fmrpg.com站长提供

    fourinone-3.04.25

    三、网络波动状况下的策略处理,设置抢救期,抢救期内网络稳定下来不判定结点死亡 fourinone-3.04.25最新版升级内容: 1、编译和运行环境升级为jdk7.0版本; 2、计算中止和超时中止的支持,比如多台计算机工人同时...

    spring-boot-seckill分布式秒杀系统-其他

    spring-boot-seckill分布式秒杀系统是一个用SpringBoot开发的从0到1构建的分布式秒杀系统,项目案例基本成型,逐步完善中。...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。

    java8源码-javaGuide:java面试整理

    网络 操作系统 Linux相关 数据结构与算法 数据结构 算法 数据库 MySQL Redis 数据库扩展 代办...... 系统设计 常用框架 Spring/SpringBoot ZooKeeper 数据通信/中间件 RPC 消息队列 权限认证 分布式 & 微服务 API ...

    spring-boot-seckill分布式秒杀系统 v1.0

    授权方式: 开源软件 界面语言: ...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。 spring-boot-seckill分布式秒杀系统截图 相关阅读 同类推荐: 站长常用源码

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ 16-tomcat的3种运行模式和执行器(线程池).avi │ 17-tomcat中连接器.avi │ 18-禁用AJP连接器.avi │ 19-tomcat中JVM参数优化.avi │ ├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt ...

Global site tag (gtag.js) - Google Analytics