原创 Zookeeper詳解(二):Zookeeper安裝和運行

安裝環境:CentOS 7   內存1GBJDK版本:1.8.0_112爲JDK配置如下環境變量:編輯/etc/profile.d/jdk.sh#!/bin/bash JAVA_HOME=/usr/local/jdk1.8.0_112 e

原创 Zookeeper詳解(一):分佈式與Zookeeper

分佈式在分佈式框架中,分佈式應用面臨的最大的問題就是數據一致性。那麼Zookeeper就是一個比較好的解決方案。在分佈式框架中起到協調作用。什麼是Zookeeperzookeeper是高性能的分佈式協作服務和分佈式數據一致性解決方案,由雅虎

原创 Zookeeper詳解(三):Zookeeper中的Znode特性

數據模型ZK擁有一個命名空間就像一個精簡的文件系統,不同的是它的命名空間中的每個節點擁有它自己或者它下面子節點相關聯的數據。ZK中必須使用絕對路徑也就是使用“/”開頭。Znode:ZK目錄樹中每個節點對應一個Znode。每個Znode維護這

原创 我的友情鏈接

馬哥Linux培訓MSExchange OrgDavid Linux吟—技術交流 老男孩Linux曾垂鑫的技術專欄九叔-微軟私有云周平的微軟技術交流平臺學無止境徐庭的博客-IT技術分享愛維Linux謝睿的工作博客VMCloud強生的博客夏明

原创 TCP/IP之(四)Delay ack 和 Nagle算法

Delay ack(延遲確認)正常情況下服務器收到一個請求時就會立即回覆ACK確認給客戶端,然後客戶端再發送下一個包,服務器再進行回覆。有時候服務器回覆的ACK包有長度,但實際內容長度爲0,這也沒關係屬於正常的。不過一次發送一次確認效率比較

原创 Kafka(二)Kafka集羣搭建

環境描述服務器名稱系統配置Srv01.contoso.comCentOS 7、Kafka_2.11-1.1.0IP:172.16.48.163Srv02.contoso.comCentOS 7、Kafka_2.11-1.1.0IP:172.

原创 消息隊列(三)RocketMQ如何存儲消息

Rocket的消息是有consume queue和commit log組成。Consume QueueConsume queue是消息的邏輯隊列,相當於字典目錄,用來指定消息在物理文件(commit log)上的位置,我們可以在配置中指定c

原创 Zookeeper詳解(六):Zookeeper的應用場景

Zookeeper是一個發佈/訂閱模式的分佈式數據管理與協調框架,結合Watcher事件通知,可以搭建分佈式框架中的很多核心功能。數據發佈和訂閱也就是常用的配置管理,將數據信息發佈到一個或者多個ZK節點上,應用程序監聽這些節點當有數據變化時

原创 Zookeeper詳解(十):Python連接和操作Zookeeper

Python對Zookeeper的基本操作#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from kazoo.client import KazooClient de

原创 Kafka(一)Kafka是什麼及基本概念

kafka是用於構建實時數據管道和數據流的應用程序。具有實時橫向擴展、高吞吐量、支持大量堆積具有容錯性和速度快等特點。它是一個高性能分佈式消息系統。通常一個分佈式流數據平臺它具有三個特點:發佈和訂閱功能,類似於消息系統以容錯的方式記錄流處理

原创 Zookeeper詳解(七):Zookeeper集羣啓動過程和Leader選舉

Zookeeper集羣啓動過程預啓動統一由QuorumPeerMain作爲啓動類讀取zoo.cfg配置文件創建並啓動歷史文件清理器DatadirCleanupManager判斷當前是集羣模式還是單機模式初始化創建ServerCnxnFact

原创 Zookeeper詳解(八):Zookeeper數據存儲

zookeeper日誌有三類:快照(雖然不是日誌但是它是數據)、事務日誌(記錄每次操作)、zookeeper自己系統日誌。第三個不屬於數據類所以這裏不做說明。快照數據Zookeeper在運行時會在內存中維護一個完整的數據,就像內存數據庫一樣

原创 Kafka(六)Kafka基本客戶端命令操作

主題管理創建主題如果配置了auto.create.topics.enable=true(這也是默認值)這樣當生產者向一個沒有創建的主題發送消息就會自動創建,其分區數量和副本數量也是有默認配置來控制的。# 我們這裏創建一個3個分區每個分區有2

原创 KeepAlive

TCP的keepalivekeepalive是設置在操作系統級別,作用於到本機的連接。在一定時間內對遠程主機發送TCP探測報文用於探測對方是否存活。上圖2個場景是最常見的,但是針對於keepalive的問題是一樣的。無非就是客戶端和最終的W

原创 Kafka(五)Kafka分區與副本

Kafka分區和副本都是由副本管理器所管理的,引入副本就是爲了提高可用性,整個集羣中如何判斷代理是否存活?一個存活的代理必須與Zookeeper保持連接,通過Zookeeper的心跳機制來實現的作爲一個Follower副本,該副本不能落後L