原创 ZooKeeper:06---基礎語法(版本號:cversion、dataVsersion、aclVersion)

一、版本號 每⼀個znode都有⼀個版本號,它隨着每次數據變化⽽⾃增 兩個API操作可以有條件地執⾏:setData和delete。這兩個調⽤以版本號作爲轉⼊參數,只有當轉⼊參數的版本號與服務器上的版本號⼀致時調⽤纔會成功 應用場景 當

原创 ZooKeeper:01---ZooKeeper入門概述、分佈式協作的難點

一、簡介 在計算機誕⽣之後很長的⼀段時間⾥,⼀個應⽤服務是在⼀個獨⽴的單處理器計算機上運⾏⼀段程序。時⾄今⽇,應⽤服務已經發⽣了很⼤的變化。在⼤數據和雲計算盛⾏的今天,應⽤服務由很多個獨⽴的程序組成,這些獨⽴的程序則運⾏在形形⾊⾊、千變萬

原创 ZooKeeper:04---基礎語法(節點:znode)

一、節點概述 ZooKeeper操作和維護⼀個⼩型的數據節點,這些節點被稱爲znode,採⽤類似於⽂件系統的層級樹狀結構進⾏管理 下圖描述了⼀個znode樹的結構,根節點包含4個⼦節點,其中三個⼦節點擁有下⼀級節點,葉⼦節點存儲了數據信息

原创 架構師進階:02---集羣專題之(ZooKeeper集羣)

前言: 本文有些概念可能有錯誤,因爲ZooKeeper本人還不太熟悉,等學習熟悉之後再回來補充 一、ZooKeeper集羣結構與原理 最典型集羣模式: Master/Slave模式(主備模式)。在這種模式中,通常Master服務器作爲主服

原创 ZooKeeper:03---zkServer.sh、zkCli.sh、zkCleanup.sh、zkEnv.sh、zkSnapShotToolkit.sh、zkTxnLogToolkit.sh

在源碼包的bin/目錄下包含一系列的腳本,其中: .sh:在Linux系統下使用的腳本工具(本文介紹的) .cmd:在Windows系統下使用的腳本工具 官網文檔請參閱:https://zookeeper.apache.org/doc

原创 ZooKeeper:02---ZooKeeper的下載、安裝與部署

一、ZooKeeper的下載、目錄分析 ZooKeeper的安裝需要java環境,因此我們需要先安裝jdk sudo apt-get install openjdk-8-jdk ZooKeeper的下載 下面的網址爲:http://

原创 Linux(程序設計):39---strace系統調用檢測工具

一、什麼是監視調試 有時,通過監視用戶空間中應用程序的運行情況,可以捕捉到一些小問題。監視程序同時也有助於確認驅動程序工作是否正常 例如,查看scull的read實現如何響應不同數據量的read請求,就可以判斷它是否工作正常 有許多方法可

原创 Linux(入門基礎):121---性能監控命令(nmon、glances)

一、nmon 安裝如下 centos安裝 wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz mkdir nmon16e_mpginc tar ‐

原创 架構師進階:01---集羣專題之(Redis集羣)

前言 本文主要對Redis的單點模式、主從模式、Sentinel模式、cluster模式做一個簡單介紹,並且每一個都進行演示案例 相關的細節請參閱文章中給出的鏈接,幾乎涵蓋了所有Redis在集羣方面的知識點(語法方面) 一、Redis集羣

原创 Linux(服務、軟件管理):51---網絡工具命令(curl、scp)

一、curl 由於當前的線上服務較多地使用了RESTful風格的API,所以集成測試就需要進行HTTP調用,查看返回的結果是否符合預期,curl命令當然是首選的測試方法 在Linux中curl是一個利用URL規則在命令行下工作的文件傳輸工

原创 ZooKeeper:05---基礎語法(監視與通知:watch)

一、通過一個例子引出監視的概念 ZooKeeper通常以遠程服務的⽅式被訪問,如果每次訪問znode時,客戶端都需要獲得節點中的內容,這樣的代價就⾮常⼤。因爲這樣會導致更⾼的延遲,⽽且ZooKeeper需要做更多的操作 演示說明 考慮下

原创 Linux(入門基礎):120---網絡信息監控命令(sar、iptraf、lsof、netstat)

一、sar sar是一個多功能的監控工具,使用簡單,不需要管理員權限,可以輸出每秒的網卡存取速度,適合線上排查問題時使用 比如說雲服務器會對服務器做限速,有時候傳輸文件會發現速率提不上去卻找不到原因,可以通過這個命令查看發現原來是雲服務器

原创 Linux(muduo網絡庫):19---muduo簡介之(使用教程:TCP網絡編程本質論、echo服務的實現、七步實現finger服務)

本節主要介紹muduo網絡庫的使用,其設計與實現將在後面系列文章講解 muduo只支持Linux 2.6.x下的併發非阻塞TCP網絡編程,它的核心是每個IO線程一個事件循環,把IO事件分發到回調函數上 陳碩先生編寫muduo網絡庫的目的之

原创 Linux(muduo網絡庫):20---muduo簡介之(muduo性能測評:吞吐量、事件處理效率、延遲)

性能對比原則:採用對方的性能測試方案,用muduo實現功能相同 或類似的程序,然後放到相同的軟硬件環境中對比。 注意這裏的測試只是簡單地比較了平均值;其實在嚴肅的性能對比 中至少還應該考慮分佈和百分位數(percentile)的值(htt

原创 Linux(muduo網絡庫):18---muduo簡介之(muduo庫的由來、編譯安裝、目錄結構、代碼結構、線程模型)

一、由來 2010年3月陳碩先生寫了一篇《學之者生,用之者死——ACE歷史與簡評》(文章參閱:https://blog.csdn.net/Solstice/article/details/5364096),其中提到“我心目中理想的網絡庫