舉報

會員
分布式實時處理系統:原理、架構與實現
最新章節:
17.6 本章小結
本書是一本由淺入深并詳細講解編寫一套全新的基于C/C++的實時處理系統的編程實戰書。本書從基礎知識開始,到實時數據系統的架構設計,到代碼的實際編寫,逐步實現一個完整的實時數據處理系統。本書把這套全新的高性能分布式實時處理系統命名為Hurricane,該單詞與Storm涵義類似,但略有不同,其中維基百科對Hurricane的解釋是“Astormthathasverystrongfastwindsandthatmovesoverwater”,即“在水面高速移動的颶風(storm)”。同時,為了支持高性能的實時處理系統,我們必須提供高性能的網絡層,能夠支持大量的并發,因此本書設計實現了一套跨平臺的網絡庫Meshy,并將其作為Hurricane實時處理系統的傳輸層。
- 17.6 本章小結 更新時間:2019-01-03 10:51:21
- 17.5 未來之路
- 17.4 部署分布式實時處理系統
- 17.3.3 分布式啟動
- 17.3.2 分布式安裝配置
- 17.3.1 分布式部署原理
- 17.3 Hurricane分布式部署與管理
- 17.2.4 SSH登錄
- 17.2.3 創建ECS
- 17.2.2 管理安全組
- 17.2.1 創建虛擬私有云
- 17.2 阿里云部署
- 17.1.4 彈性IP地址管理
- 17.1.3 加載EC2實例
- 17.1.2 配置安全組
- 17.1.1 搭建虛擬私有云
- 17.1 AWS部署
- 第17章 實戰:在AWS和阿里云上部署Hurricane實時處理系統
- 16.6 本章小結
- 16.5 編寫Topology
- 16.4.6 FilterBolt
- 16.4.5 SupportComputeBolt
- 16.4.4 ConfidenceComputeBolt
- 16.4.3 PairTotalCountBolt
- 16.4.2 PairCountBolt
- 16.4.1 SplitBolt
- 16.4 編寫Bolt
- 16.3 編寫Spout
- 16.2.3 Hurricane實現思路
- 16.2.2 算法設計思路
- 16.2.1 頻繁二項集
- 16.2 頻繁二項集挖掘方法
- 16.1.3 啤酒與尿布
- 16.1.2 關聯規則和頻繁項集
- 16.1.1 數據挖掘概念
- 16.1 背景介紹
- 第16章 實戰:頻繁組合查找
- 15.3 本章小結
- 15.2.3 編寫統計消息處理單元
- 15.2.2 編寫索引消息處理單元
- 15.2.1 編寫消息源
- 15.2 實現Topology
- 15.1 日志流處理設計方案
- 第15章 實戰:日志流處理
- 14.3 本章小結
- 14.2.7 流操作
- 14.2.6 操作與處理節點
- 14.2.5 DRPC實現
- 14.2.4 狀態存儲
- 14.2.3 Stream
- 14.2.2 SquaredBolt
- 14.2.1 SquaredTopology和Spout
- 14.2 Squared實現
- 14.1.2 DRPC示例
- 14.1.1 Squared示例
- 14.1 Storm Trident介紹
- 第14章 Squared設計與實現——實現高級抽象元語
- 13.6 本章小結
- 13.5.5 計算拓撲接口
- 13.5.4 消息處理單元接口
- 13.5.3 消息源接口
- 13.5.2 任務接口
- 13.5.1 應用范圍
- 13.5 Swift接口
- 13.4.6 應用示例
- 13.4.5 本地代碼
- 13.4.4 計算拓撲接口
- 13.4.3 消息處理單元接口
- 13.4.2 消息源接口
- 13.4.1 任務接口
- 13.4 Java接口
- 13.3.8 應用示例
- 13.3.7 計算拓撲接口
- 13.3.6 消息處理單元接口
- 13.3.5 消息源接口
- 13.3.4 任務接口
- 13.3.3 V8的互操作接口
- 13.3.2 Node.js
- 13.3.1 V8引擎
- 13.3 JavaScript接口
- 13.2.6 應用示例
- 13.2.5 計算拓撲接口
- 13.2.4 消息處理單元接口
- 13.2.3 消息源接口
- 13.2.2 元組接口
- 13.2.1 ctypes
- 13.2 Python接口
- 13.1.4 計算拓撲接口
- 13.1.3 消息處理單元接口
- 13.1.2 消息源接口
- 13.1.1 元組接口
- 13.1 C語言通用接口
- 第13章 多語言接口
- 12.4 本章小結
- 12.3.2 事務性消息源
- 12.3.1 消息處理單元
- 12.3 事務性Topology API
- 12.2.2 消息處理單元
- 12.2.1 構造事務性Topology
- 12.2 設計細節
- 12.1 Exact-once語義解決方案
- 第12章 事務性Topology實現
- 11.7 本章小結
- 11.6.2 修改NetConnector
- 11.6.1 修改NetListener
- 11.6 與實時處理系統集成
- 11.5.2 Kake
- 11.5.1 Makefile
- 11.5 跨平臺分割編譯
- 11.4.6 總結
- 11.4.5 HttpServer
- 11.4.4 HttpConnection
- 11.4.3 HttpResponse
- 11.4.2 HttpRequest
- 11.4.1 HttpContext
- 11.4 應用層HTTP實現
- 11.3.4 實現基于IOCP的TP傳輸層
- 11.3.3 實現基于epoll的TP傳輸層
- 11.3.2 定義抽象TP傳輸層
- 11.3.1 Reactor模式
- 11.3 傳輸層實現
- 11.2.2 日志工具
- 11.2.1 線程工具
- 11.2 基礎工具
- 11.1.4 使用epoll實現異步事件通知模型
- 11.1.3 使用select( )接口的基于事件驅動的服務器模型
- 11.1.2 非阻塞的服務器程序
- 11.1.1 基本網絡編程接口
- 11.1 I/O多路復用方案解析
- 第11章 通信系統設計與實現
- 10.4 本章小結
- 10.3.2 高效實現
- 10.3.1 簡單實現
- 10.3 具體實現
- 10.2 接口設計
- 10.1.2 失敗與重發
- 10.1.1 完全處理
- 10.1 基本概念
- 第10章 可靠消息處理
- 9.4 本章小結
- 9.3.2 傳輸層實現
- 9.3.1 分發策略
- 9.3 數據收集器實現
- 9.2.3 WordCount實現實例
- 9.2.2 事件處理
- 9.2.1 消息處理單元執行器
- 9.2 消息處理單元接口實現
- 9.1.2 WordCount實現實例
- 9.1.1 消息源執行器
- 9.1 消息源接口實現
- 第9章 實時處理系統編程接口實現
- 8.3 本章小結
- 8.2.4 序列化實現
- 8.2.3 Manager管理調度實現
- 8.2.2 Topology裝載實現
- 8.2.1 簡單的網絡通信實現
- 8.2 President實現
- 8.1 President功能與設計
- 第8章 管理服務設計與實現
- 7.3 本章小結
- 7.2 Task設計與實現
- 7.1.3 Executor實現
- 7.1.2 動態裝載技術
- 7.1.1 事件驅動的消息隊列
- 7.1 Executor設計與實現
- 第7章 服務組件設計與實現
- 6.7 本章小結
- 6.6 序列化接口設計
- 6.5 元組接口設計
- 6.4 數據收集器設計
- 6.3 消息處理器接口設計
- 6.2 消息源接口設計
- 6.1.3 任務接口
- 6.1.2 總體架構
- 6.1.1 Hurricane與Storm比較
- 6.1 總體架構設計
- 第6章 實時處理系統編程接口設計
- 5.4 本章小結
- 5.3.4 高效實現
- 5.3.3 確認和失敗
- 5.3.2 元組的唯一標識
- 5.3.1 完全處理與元組樹
- 5.3 有保證的消息處理
- 5.2.5 Storm與Hadoop比較
- 5.2.4 Storm元數據
- 5.2.3 總體架構
- 5.2.2 計算模型
- 5.2.1 歷史
- 5.2 Storm實時處理系統
- 5.1.2 MapReduce模型
- 5.1.1 HDFS
- 5.1 Hadoop與MapReduce
- 第5章 分布式實時處理系統
- 4.5 本章小結
- 4.4.3 內存池
- 4.4.2 tcmalloc
- 4.4.1 內存分配與內存碎片
- 4.4 消失不見的內存
- 4.3.8 異步I/O
- 4.3.7 多線程優化
- 4.3.6 競爭問題與解決方案
- 4.3.5 C++11線程
- 4.3.4 輕量級分身——線程
- 4.3.3 進程間通信
- 4.3.2 fork——分身術
- 4.3.1 分身乏術
- 4.3 繁忙的服務器
- 4.2.3 C++11編碼支持
- 4.2.2 C++98的編碼缺陷
- 4.2.1 編碼
- 4.2 來自服務器的天書
- 4.1.2 C++中的內存與資源管理
- 4.1.1 基于Socket的通信
- 4.1 基于C++的留言板系統
- 第4章 走進C++高性能編程
- 3.6 本章小結
- 3.5.5 實現客戶端
- 3.5.4 實現服務器
- 3.5.3 編寫Thrift文件
- 3.5.2 安裝Apache Thrift
- 3.5.1 Apache Thrift介紹
- 3.5 使用Thrift實現公告牌服務
- 3.4 序列化
- 3.3 消息隊列
- 3.2.3 RESTful總結
- 3.2.2 狀態轉移
- 3.2.1 資源和表現層
- 3.2 RESTful
- 3.1 RPC介紹
- 第3章 通信系統高層抽象
- 2.9 本章小結
- 2.8 分布式通信舉例——MapReduce
- 2.7.2 制定協議
- 2.7.1 需求描述
- 2.7 基于消息協議的公告牌
- 2.6.5 HTTP協議
- 2.6.4 DNS
- 2.6.3 OSPF
- 2.6.2 telnet
- 2.6.1 ping
- 2.6 應用層
- 2.5.3 數據的可靠傳輸
- 2.5.2 端到端的傳輸
- 2.5.1 數據自動分包
- 2.5 傳輸層
- 2.4.4 IP協議
- 2.4.3 TCP/IP概述
- 2.4.2 網絡分層
- 2.4.1 尋找路徑
- 2.4 網絡層
- 2.3 分層架構
- 2.2.5 問題與解決方案
- 2.2.4 鏈路管理
- 2.2.3 差錯控制
- 2.2.2 幀同步
- 2.2.1 數據分組
- 2.2 可靠的數據鏈路
- 2.1.2 去中心化
- 2.1.1 集中式通信網
- 2.1 時代的浪潮
- 第2章 分布式系統通信基礎
- 1.6 本章小結
- 1.5.4 常見分布式存儲系統
- 1.5.3 分布式存儲系統分類
- 1.5.2 分布式存儲系統特點
- 1.5.1 分布式存儲概念
- 1.5 分布式存儲系統
- 1.4.3 Apache Storm
- 1.4.2 Apache Spark
- 1.4.1 Apache Hadoop
- 1.4 通用分布式計算系統
- 1.3.5 透明性
- 1.3.4 并發處理能力
- 1.3.3 開放性
- 1.3.2 高可擴展性
- 1.3.1 容錯性
- 1.3 分布式系統特性
- 1.2 分布式計算及其原理
- 1.1 分布式概念
- 第1章 分布式計算概述
- 前言
- 序三
- 序二
- 序一
- 本書贊譽
- 版權信息
- 封面
- 封面
- 版權信息
- 本書贊譽
- 序一
- 序二
- 序三
- 前言
- 第1章 分布式計算概述
- 1.1 分布式概念
- 1.2 分布式計算及其原理
- 1.3 分布式系統特性
- 1.3.1 容錯性
- 1.3.2 高可擴展性
- 1.3.3 開放性
- 1.3.4 并發處理能力
- 1.3.5 透明性
- 1.4 通用分布式計算系統
- 1.4.1 Apache Hadoop
- 1.4.2 Apache Spark
- 1.4.3 Apache Storm
- 1.5 分布式存儲系統
- 1.5.1 分布式存儲概念
- 1.5.2 分布式存儲系統特點
- 1.5.3 分布式存儲系統分類
- 1.5.4 常見分布式存儲系統
- 1.6 本章小結
- 第2章 分布式系統通信基礎
- 2.1 時代的浪潮
- 2.1.1 集中式通信網
- 2.1.2 去中心化
- 2.2 可靠的數據鏈路
- 2.2.1 數據分組
- 2.2.2 幀同步
- 2.2.3 差錯控制
- 2.2.4 鏈路管理
- 2.2.5 問題與解決方案
- 2.3 分層架構
- 2.4 網絡層
- 2.4.1 尋找路徑
- 2.4.2 網絡分層
- 2.4.3 TCP/IP概述
- 2.4.4 IP協議
- 2.5 傳輸層
- 2.5.1 數據自動分包
- 2.5.2 端到端的傳輸
- 2.5.3 數據的可靠傳輸
- 2.6 應用層
- 2.6.1 ping
- 2.6.2 telnet
- 2.6.3 OSPF
- 2.6.4 DNS
- 2.6.5 HTTP協議
- 2.7 基于消息協議的公告牌
- 2.7.1 需求描述
- 2.7.2 制定協議
- 2.8 分布式通信舉例——MapReduce
- 2.9 本章小結
- 第3章 通信系統高層抽象
- 3.1 RPC介紹
- 3.2 RESTful
- 3.2.1 資源和表現層
- 3.2.2 狀態轉移
- 3.2.3 RESTful總結
- 3.3 消息隊列
- 3.4 序列化
- 3.5 使用Thrift實現公告牌服務
- 3.5.1 Apache Thrift介紹
- 3.5.2 安裝Apache Thrift
- 3.5.3 編寫Thrift文件
- 3.5.4 實現服務器
- 3.5.5 實現客戶端
- 3.6 本章小結
- 第4章 走進C++高性能編程
- 4.1 基于C++的留言板系統
- 4.1.1 基于Socket的通信
- 4.1.2 C++中的內存與資源管理
- 4.2 來自服務器的天書
- 4.2.1 編碼
- 4.2.2 C++98的編碼缺陷
- 4.2.3 C++11編碼支持
- 4.3 繁忙的服務器
- 4.3.1 分身乏術
- 4.3.2 fork——分身術
- 4.3.3 進程間通信
- 4.3.4 輕量級分身——線程
- 4.3.5 C++11線程
- 4.3.6 競爭問題與解決方案
- 4.3.7 多線程優化
- 4.3.8 異步I/O
- 4.4 消失不見的內存
- 4.4.1 內存分配與內存碎片
- 4.4.2 tcmalloc
- 4.4.3 內存池
- 4.5 本章小結
- 第5章 分布式實時處理系統
- 5.1 Hadoop與MapReduce
- 5.1.1 HDFS
- 5.1.2 MapReduce模型
- 5.2 Storm實時處理系統
- 5.2.1 歷史
- 5.2.2 計算模型
- 5.2.3 總體架構
- 5.2.4 Storm元數據
- 5.2.5 Storm與Hadoop比較
- 5.3 有保證的消息處理
- 5.3.1 完全處理與元組樹
- 5.3.2 元組的唯一標識
- 5.3.3 確認和失敗
- 5.3.4 高效實現
- 5.4 本章小結
- 第6章 實時處理系統編程接口設計
- 6.1 總體架構設計
- 6.1.1 Hurricane與Storm比較
- 6.1.2 總體架構
- 6.1.3 任務接口
- 6.2 消息源接口設計
- 6.3 消息處理器接口設計
- 6.4 數據收集器設計
- 6.5 元組接口設計
- 6.6 序列化接口設計
- 6.7 本章小結
- 第7章 服務組件設計與實現
- 7.1 Executor設計與實現
- 7.1.1 事件驅動的消息隊列
- 7.1.2 動態裝載技術
- 7.1.3 Executor實現
- 7.2 Task設計與實現
- 7.3 本章小結
- 第8章 管理服務設計與實現
- 8.1 President功能與設計
- 8.2 President實現
- 8.2.1 簡單的網絡通信實現
- 8.2.2 Topology裝載實現
- 8.2.3 Manager管理調度實現
- 8.2.4 序列化實現
- 8.3 本章小結
- 第9章 實時處理系統編程接口實現
- 9.1 消息源接口實現
- 9.1.1 消息源執行器
- 9.1.2 WordCount實現實例
- 9.2 消息處理單元接口實現
- 9.2.1 消息處理單元執行器
- 9.2.2 事件處理
- 9.2.3 WordCount實現實例
- 9.3 數據收集器實現
- 9.3.1 分發策略
- 9.3.2 傳輸層實現
- 9.4 本章小結
- 第10章 可靠消息處理
- 10.1 基本概念
- 10.1.1 完全處理
- 10.1.2 失敗與重發
- 10.2 接口設計
- 10.3 具體實現
- 10.3.1 簡單實現
- 10.3.2 高效實現
- 10.4 本章小結
- 第11章 通信系統設計與實現
- 11.1 I/O多路復用方案解析
- 11.1.1 基本網絡編程接口
- 11.1.2 非阻塞的服務器程序
- 11.1.3 使用select( )接口的基于事件驅動的服務器模型
- 11.1.4 使用epoll實現異步事件通知模型
- 11.2 基礎工具
- 11.2.1 線程工具
- 11.2.2 日志工具
- 11.3 傳輸層實現
- 11.3.1 Reactor模式
- 11.3.2 定義抽象TP傳輸層
- 11.3.3 實現基于epoll的TP傳輸層
- 11.3.4 實現基于IOCP的TP傳輸層
- 11.4 應用層HTTP實現
- 11.4.1 HttpContext
- 11.4.2 HttpRequest
- 11.4.3 HttpResponse
- 11.4.4 HttpConnection
- 11.4.5 HttpServer
- 11.4.6 總結
- 11.5 跨平臺分割編譯
- 11.5.1 Makefile
- 11.5.2 Kake
- 11.6 與實時處理系統集成
- 11.6.1 修改NetListener
- 11.6.2 修改NetConnector
- 11.7 本章小結
- 第12章 事務性Topology實現
- 12.1 Exact-once語義解決方案
- 12.2 設計細節
- 12.2.1 構造事務性Topology
- 12.2.2 消息處理單元
- 12.3 事務性Topology API
- 12.3.1 消息處理單元
- 12.3.2 事務性消息源
- 12.4 本章小結
- 第13章 多語言接口
- 13.1 C語言通用接口
- 13.1.1 元組接口
- 13.1.2 消息源接口
- 13.1.3 消息處理單元接口
- 13.1.4 計算拓撲接口
- 13.2 Python接口
- 13.2.1 ctypes
- 13.2.2 元組接口
- 13.2.3 消息源接口
- 13.2.4 消息處理單元接口
- 13.2.5 計算拓撲接口
- 13.2.6 應用示例
- 13.3 JavaScript接口
- 13.3.1 V8引擎
- 13.3.2 Node.js
- 13.3.3 V8的互操作接口
- 13.3.4 任務接口
- 13.3.5 消息源接口
- 13.3.6 消息處理單元接口
- 13.3.7 計算拓撲接口
- 13.3.8 應用示例
- 13.4 Java接口
- 13.4.1 任務接口
- 13.4.2 消息源接口
- 13.4.3 消息處理單元接口
- 13.4.4 計算拓撲接口
- 13.4.5 本地代碼
- 13.4.6 應用示例
- 13.5 Swift接口
- 13.5.1 應用范圍
- 13.5.2 任務接口
- 13.5.3 消息源接口
- 13.5.4 消息處理單元接口
- 13.5.5 計算拓撲接口
- 13.6 本章小結
- 第14章 Squared設計與實現——實現高級抽象元語
- 14.1 Storm Trident介紹
- 14.1.1 Squared示例
- 14.1.2 DRPC示例
- 14.2 Squared實現
- 14.2.1 SquaredTopology和Spout
- 14.2.2 SquaredBolt
- 14.2.3 Stream
- 14.2.4 狀態存儲
- 14.2.5 DRPC實現
- 14.2.6 操作與處理節點
- 14.2.7 流操作
- 14.3 本章小結
- 第15章 實戰:日志流處理
- 15.1 日志流處理設計方案
- 15.2 實現Topology
- 15.2.1 編寫消息源
- 15.2.2 編寫索引消息處理單元
- 15.2.3 編寫統計消息處理單元
- 15.3 本章小結
- 第16章 實戰:頻繁組合查找
- 16.1 背景介紹
- 16.1.1 數據挖掘概念
- 16.1.2 關聯規則和頻繁項集
- 16.1.3 啤酒與尿布
- 16.2 頻繁二項集挖掘方法
- 16.2.1 頻繁二項集
- 16.2.2 算法設計思路
- 16.2.3 Hurricane實現思路
- 16.3 編寫Spout
- 16.4 編寫Bolt
- 16.4.1 SplitBolt
- 16.4.2 PairCountBolt
- 16.4.3 PairTotalCountBolt
- 16.4.4 ConfidenceComputeBolt
- 16.4.5 SupportComputeBolt
- 16.4.6 FilterBolt
- 16.5 編寫Topology
- 16.6 本章小結
- 第17章 實戰:在AWS和阿里云上部署Hurricane實時處理系統
- 17.1 AWS部署
- 17.1.1 搭建虛擬私有云
- 17.1.2 配置安全組
- 17.1.3 加載EC2實例
- 17.1.4 彈性IP地址管理
- 17.2 阿里云部署
- 17.2.1 創建虛擬私有云
- 17.2.2 管理安全組
- 17.2.3 創建ECS
- 17.2.4 SSH登錄
- 17.3 Hurricane分布式部署與管理
- 17.3.1 分布式部署原理
- 17.3.2 分布式安裝配置
- 17.3.3 分布式啟動
- 17.4 部署分布式實時處理系統
- 17.5 未來之路
- 17.6 本章小結 更新時間:2019-01-03 10:51:21