分布式实时处理系统:原理、架构与实现_第1页
分布式实时处理系统:原理、架构与实现_第2页
分布式实时处理系统:原理、架构与实现_第3页
分布式实时处理系统:原理、架构与实现_第4页
分布式实时处理系统:原理、架构与实现_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式实时处理系统:原理、架构与实现读书笔记模板01思维导图读书笔记目录分析内容摘要精彩摘录作者介绍目录0305020406思维导图实时处理系统系统实时处理架构高性能实时基础知识小结第章系统接口设计消息数据实时处理消息源处理服务器关键字分析思维导图内容摘要内容摘要本书是一本由浅入深并详细讲解编写一套全新的基于C/C++的实时处理系统的编程实战书。本书从基础知识开始,到实时数据系统的架构设计,到代码的实际编写,逐步实现一个完整的实时数据处理系统。本书把这套全新的高性能分布式实时处理系统命名为Hurricane,该单词与Storm涵义类似,但略有不同,其中维基百科对Hurricane的解释是“Astormthathasverystrongfastwindsandthatmovesoverwater”,即“在水面高速移动的飓风(storm)”。同时,为了支持高性能的实时处理系统,我们必须提供高性能的络层,能够支持大量的并发,因此本书设计实现了一套跨平台的络库Meshy,并将其作为Hurricane实时处理系统的传输层。读书笔记读书笔记表达清晰,内容串联的非常紧凑。太杂乱了,每个方面介绍一下,不够深入,特别大部分文字在注释每行代码,代码结构乱。读完试读部分,首先是松了一口气:幸好没有买[发呆],然后想起上学时我们老师评价我们课本的一句话:这叫书吗?。前半部分写消息系统的风格非常喜欢,有基础有深入,后面讲hurricane系统好像欢了个人,要是能够延续前半部分的风格就好了,非常喜欢前半部分。如果没有读过系统源码或者使用过harricane分布式系统,理解起来有些吃力,一行一行的分析源码更是看的云里雾里。前后感觉不是一个人写的,风格有点不同。虽然主体是介绍分布式实时处理系统的,而且还是c++的例子,但对高性能分布式的基本概念和优化方式都做了详细分析,可以为系统性能优化提供思路[强]。感觉就像上各种教程的集合,连tcpip都要说吗?restfulapi大家不知道吗?当作入门玩具书看吧。精彩摘录精彩摘录一般有两种解决方案:一种是利用消息队列,将节点之间的依赖变成节点之间的消息传递;第二种是利用分布式存储系统,我们可以将节点的执行结果暂时存放在数据库中,其他节点等待或从数据库中获取数据。分布式系统的特性包括容错性、高可扩展性、开放性、并发处理能力和透明性如果一套系统可以将需要海量计算能力才能处理的问题拆分成许多小块,然后将这些小块分配给同一套系统中不同的计算节点进行处理,最后如有必要将分开计算的结果合并得到最终结果,那么就将这种系统称为分布式系统。路由算法分为两类:一类称为链路状态算法,另一类称为距离向量算法。Hadoop由两个重要模块组成。一个是Hadoop分布式文件系统(HadoopDistributedFileSystem)分布式技术大体分为分布式存储技术和分布式计算技术Spark的计算模型依然是任务式的,如果我们需要处理实时流入又需要实时反馈的数据,Spark的模型依然无法很好地满足我们的需求。②多节点之间的通信方式。目录分析1.1分布式概念1.2分布式计算及其原理1.3分布式系统特性1.4通用分布式计算系统第1章分布式计算概述1.6本章小结1.5分布式存储系统第1章分布式计算概述1.3分布式系统特性1.3.1容错性1.3.2高可扩展性1.3.3开放性1.3.4并发处理能力1.3.5透明性1.4通用分布式计算系统1.4.1ApacheHadoop1.4.2ApacheSpark1.4.3ApacheStorm1.5分布式存储系统1.5.1分布式存储概念1.5.2分布式存储系统特点1.5.3分布式存储系统分类1.5.4常见分布式存储系统2.1时代的浪潮2.2可靠的数据链路2.3分层架构2.4络层2.5传输层12345第2章分布式系统通信基础2.6应用层2.7基于消息协议的公告牌2.8分布式通信举例——MapReduce2.9本章小结第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.4络层2.4.1寻找路径2.4.2络分层2.4.3TCP/IP概述2.4.4IP协议2.5传输层2.5.1数据自动分包2.5.2端到端的传输2.5.3数据的可靠传输2.6应用层2.6.1ping2.6.2telnet2.6.3OSPF2.6.4DNS2.6.5HTTP协议2.7基于消息协议的公告牌2.7.1需求描述2.7.2制定协议3.1RPC介绍3.2RESTful3.3消息队列3.4序列化第3章通信系统高层抽象3.6本章小结3.5使用Thrift实现公告牌服务第3章通信系统高层抽象3.2RESTful3.2.1资源和表现层3.2.2状态转移3.2.3RESTful总结3.5使用Thrift实现公告牌服务3.5.1ApacheThrift介绍3.5.2安装ApacheThrift3.5.3编写Thrift文件3.5.4实现服务器3.5.5实现客户端4.1基于C++的留言板系统4.2来自服务器的天书4.3繁忙的服务器4.4消失不见的内存4.5本章小结12345第4章走进C++高性能编程4.1基于C++的留言板系统4.1.1基于Socket的通信4.1.2C++中的内存与资源管理4.2来自服务器的天书4.2.1编码4.2.2C++98的编码缺陷4.2.3C++11编码支持4.3繁忙的服务器4.3.1分身乏术4.3.2fork——分身术4.3.3进程间通信4.3.4轻量级分身——线程4.3.5C++11线程4.3.6竞争问题与解决方案4.3.7多线程优化4.3.8异步I/O4.4消失不见的内存4.4.1内存分配与内存碎片4.4.2tcmalloc4.4.3内存池5.1Hadoop与MapReduce5.2Storm实时处理系统5.3有保证的消息处理5.4本章小结第5章分布式实时处理系统5.1Hadoop与MapReduce5.1.1HDFS5.1.2MapReduce模型5.2Storm实时处理系统5.2.1历史5.2.2计算模型5.2.3总体架构5.2.4Storm元数据5.2.5Storm与Hadoop比较5.3有保证的消息处理5.3.1完全处理与元组树5.3.2元组的唯一标识5.3.3确认和失败5.3.4高效实现6.1总体架构设计6.2消息源接口设计6.3消息处理器接口设计6.4数据收集器设计6.5元组接口设计12345第6章实时处理系统编程接口设计6.7本章小结6.6序列化接口设计第6章实时处理系统编程接口设计6.1总体架构设计6.1.1Hurricane与Storm比较6.1.2总体架构6.1.3任务接口7.1Executor设计与实现7.3本章小结7.2Task设计与实现第7章服务组件设计与实现7.1Executor设计与实现7.1.1事件驱动的消息队列7.1.2动态装载技术7.1.3Executor实现8.1President功能与设计8.3本章小结8.2President实现第8章管理服务设计与实现8.2President实现8.2.1简单的络通信实现8.2.2Topology装载实现8.2.3Manager管理调度实现8.2.4序列化实现9.1消息源接口实现9.2消息处理单元接口实现9.3数据收集器实现9.4本章小结第9章实时处理系统编程接口实现9.1消息源接口实现9.1.1消息源执行器9.1.2WordCount实现实例9.2消息处理单元接口实现9.2.1消息处理单元执行器9.2.2事件处理9.2.3WordCount实现实例9.3数据收集器实现9.3.1分发策略9.3.2传输层实现10.2接口设计10.1基本概念第10章可靠消息处理10.4本章小结10.3具体实现第10章可靠消息处理10.1基本概念10.1.1完全处理10.1.2失败与重发10.3具体实现10.3.1简单实现10.3.2高效实现11.1I/O多路复用方案解析11.2基础工具11.3传输层实现11.4应用层HTTP实现11.5跨平台分割编译12345第11章通信系统设计与实现11.7本章小结11.6与实时处理系统集成第11章通信系统设计与实现11.1I/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.1Reactor模式11.3.2定义抽象TP传输层11.3.3实现基于epoll的TP传输层11.3.4实现基于IOCP的TP传输层11.4应用层HTTP实现11.4.1HttpContext11.4.2HttpRequest11.4.3HttpResponse11.4.4HttpConnection11.4.5HttpServer11.4.6总结11.5跨平台分割编译11.5.1Makefile11.5.2Kake11.6与实时处理系统集成11.6.1修改NetListener11.6.2修改NetConnector12.1Exact-once语义解决方案12.2设计细节12.3事务性TopologyAPI12.4本章小结第12章事务性Topology实现12.2设计细节12.2.1构造事务性Topology12.2.2消息处理单元12.3事务性TopologyAPI12.3.1消息处理单元12.3.2事务性消息源13.1C语言通用接口13.2Python接口13.3JavaScript接口13.4Java接口第13章多语言接口13.6本章小结13.5Swift接口第13章多语言接口13.1C语言通用接口13.1.1元组接口13.1.2消息源接口13.1.3消息处理单元接口13.1.4计算拓扑接口13.2Python接口13.2.1ctypes13.2.2元组接口13.2.3消息源接口13.2.4消息处理单元接口13.2.5计算拓扑接口13.2.6应用示例13.3JavaScript接口13.3.1V8引擎13.13.3.3V8的互操作接口13.3.4任务接口13.3.5消息源接口13.3.6消息处理单元接口13.3.7计算拓扑接口13.3.8应用示例13.4Java接口13.4.1任务接口13.4.2消息源接口13.4.3消息处理单元接口13.4.4计算拓扑接口13.4.5本地代码13.4.6应用示例13.5Swift接口13.5.1应用范围13.5.2任务接口13.5.3消息源接口13.5.4消息处理单元接口13.5.5计算拓扑接口14.1StormTrident介绍14.3本章小结14.2Squared实现第14章Squared设计与实现——实现高级抽象元语14.1StormTrident介绍14.1.1Squared示例14.1.2DRPC示例14.2Squared实现14.2.1SquaredTopology和Spout14.2.2SquaredBolt14.2.3Stream14.2.4状态存储14.2.5DRPC实现14.2.6操作与处理节点14.2.7流操作15.1日志流处理设计方案15.3本章小结15.2实现Topology第15章实战:日志流处理15.2实现Topology15.2.1编写消息源15.2.2编写索引消息处理单元15.2.3编写统计消息处理单元16.1背景介绍16.2频繁二项集挖掘方法16.3编写Spout16.4编写Bolt第16章实战:频繁组合查找16.6本章小结16.5编写Topology第16章实战:频繁组合查找16.1背景介绍16.1.1数据挖掘概念16.1.2关联规则和频繁项集16.1.3啤酒与尿布

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论