1. 程式人生 > >ZooKeeper學習之配置【3】網路配置

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學習配置3網路配置

下面這些配置對client與server之間的連線和超時時間進行了限制。 globalOutstandingLimit 這個配置指定了等待處理的最大請求數量的限制(zookeeper.globalOutstandingLimit)。 client傳送請求的速度可能會比server端處理的速度快,會導致請求

ZooKeeper學習配置1基本配置

本文開始陸續的詳細講解所有的配置選項,大部分配置項一般都有一個預設的值,很多都應該根據實際情況進行優化。因為ZooKeeper的設計很容易使用,有一些在不明白具體的配置項就開始使用,一開始工作得還好,但後續很可能會出問題。所以你需要花些時間來深入學習配置項,你會發現你將可以得到更好的效能,並能更容易的診斷問

openCV學習1---VS2017+openCV3.4.1配置教程

我先安裝“VS2017”,後使用的vs2017自帶了包管理外掛NuGet,安裝的"opencv",而後出現了各種錯誤,再調節後,放棄了, 而後參考(2)安裝“opencv”後,出現了一下這個錯誤: 錯誤LNK1112模組計算機型別“x64”與目標計算機型別“x86

Linux學習命令1

active acc 同時 計算機 用戶名 幫助 理解 否則 解釋 Linux學習之命令【1】 一·命令總覽?????? 1.基本簡單命令??????? ?1.0 pwd1.1 echo ?????????1.2 dat

C++學習 boost學習-noncopyable

(轉自:https://blog.csdn.net/skdkjzz/article/details/45888727) 用法: 1 私有派生於noncopyable的類都不能複製和賦值 2 原理是:noncopyable內部禁止了賦值和複製 3 該類可以被很好被複用,減少工作量,不用

linux網路配置

1. IP address IP address(Internet Protocol address),即網路協議地址。這個地址就是給因特網上的每一個主機或路由器的每一個介面分配一個在全世界範圍是唯一的32個二進位制(0、1)組成的識別符號。IP地址的結構使我們可以在因特網上很方便地進行

第三章 必須知道的一些基礎知識[DDT書本學習 小甲魚]3

3.9 閒聊資料型別 字串: 單引號 雙引號 三引號 數值: 整數 浮點 布林 複數型別3.9.1 整型(整數) Python3的整型和長整型無縫結合 不再區分 長度取決於記憶體 優點-利於大數計算3.9.2 浮點型(小數) 科學記數法 E記法 也可以是e 原始碼例項 a=0.000000000025 pri

java版資料結構與演算法分析學習前言

一.資料結構和演算法概述?【框範圍】 基礎資料結構主要包括表【陣列+連結串列】、棧、佇列【散列表】、樹、圖、堆。高階資料結構包括伸展樹、紅黑樹、確定性跳躍表、AA樹、treap樹、k-d樹、配對堆。

第六章 函數[DDT書本學習 小甲魚]3

地圖 函數對象 輸入 第六章 例子 版本 什麽 map 需要 6.5 lambda表達式 諧音:懶不嗒?lam-b-da 匿名函數 代碼 def my(x): teturn 2*x+1 e=my(5) print(e) --------------------- 11

第七章 字典和集合[DDT書本學習 小甲魚]3

rec type pop list 今天 指向 typeerror pro upd 4.copy() 復制字典a={1:"one",2:"two",3:"three"}b=a.copy()print(id(a))print(id(b))a[1]="four"print(a

Qt學習1:QT顯示中文問題

最近,公司專案的GUI介面使用的是Qt,研究了近兩個月的Qt發現中文顯示確實是一個問題,這個問題中主要存在兩方面的問題: 【1】中文顯示; 【2】中文亂碼; 其中【1】問題出現的情景是:Qt的

第八章 永久存儲[DDT書本學習 小甲魚]3

寫入文本 切換 遞歸 分別是 recent 並且 ati etc sts 8.2 文件系統:介紹一個高大上的東西 Python自身帶有很多使用的模塊。 比如random模塊的randint()函數生成隨機數,不能直接調用,要引入。 import random random

3caffe的python介面學習:生成配置檔案

caffe是C++語言寫的,可能很多人不太熟悉,因此想用更簡單的指令碼語言來實現。caffe提供matlab介面和python介面,這兩種語言就非常簡單,而且非常容易進行視覺化,使得學習更加快速,理解更加深入。 如何配置CAFFE的python介面? 如何將圖片轉換成LMDB檔案? 如何

Laravel系列CMS系統學習 — 角色、權限配置2

yguard 自動 guard 管理員權限 dcom divide ref pen hide 一、RBAC分析 基於角色的權限訪問控制(Role-Based Access Control),這裏存在這麽幾個玩意兒:角色、權限,用戶 表:roles、permissio

Tomcat學習筆記3--- Server.xml配置檔案詳解

本文主要講如何配置Tomcat伺服器。 首先展示一個BS結構圖: 1 server 一個server就表示一個Tomcat例項。 1)port 指定一個埠,這個埠負責監聽關閉tomcat的請求; 2)shutdown 指定向埠傳送的命令字串。 2 service 一個service就是處理請求的服務,裡邊包含

深度學習 卷積神經網路 CNN

1.CNN的應用 如果你能訓練人工智慧機器人唱歌,幹嘛還訓練它聊天?在 2017 年 4 月,研究人員使用 WaveNet 模型的變體生成了歌曲。原始論文和演示可以在 此處 找到。 瞭解 Facebook 的 創新 CNN 方法(Facebook) ,

Qt 學習路---安裝篇QT5.7.1+VS2013軟體開發環境配置

參考:https://blog.csdn.net/liushuiwen101423/article/details/70882534 安裝任務:完成Qt5.7.1載入到VS2013環境下,程式設計執行Qt應用程式,有詳細步驟,最後完成一個空白視窗UI執行顯示1.基本配置PC

深度學習3keras:儲存keras學習好的深度神經網路模型引數為二進位制和txt檔案

http://blog.csdn.net/linmingan/article/details/50906141 由於工程需要,儲存為hdf5的keras權值在c/c++中的讀取比較不方便。因此將keras中的權值剝離出來,並儲存為二進位制檔案或者txt檔案。在進行程式碼的編

Python學習對象和類型&&運算符

str pop python學習 十六進制 更強 ring span 整數相除 一定的 [對象和類型] 學生的屬性: 小明 對象 姓名:男 性別: 年齡: 身高: 體重: 籍貫: 五種基本對象類型 字符串 (string),簡

spring boot框架學習重要註解3註解方式讀取外部資源配置文件

凱哥java java註解 本節主要內容:1:是用非註解方式怎麽獲取配置文件中的配置項2:使用註解實戰獲取外部properties文件配置項聲明:本文是《凱哥陪你學系列-框架學習之spring boot框架學習》中spring boot框架學習學前掌握之重要註解(3)-通過註解方式讀取外部資源配置文件