当前位置:首页 > 计算机理论 >
《分布式实时处理系统:原理、架构与实现》电子书封面

分布式实时处理系统:原理、架构与实现

  • 发布时间:2020年06月10日 08:59:49
  • 作者:卢誉声
  • 大小:18.4 MB
  • 类别:分布式系统电子书
  • 格式:PDF
  • 版本:完整版
  • 评分:7.4

    分布式实时处理系统:原理、架构与实现 PDF 完整版

      给大家带来的一篇关于分布式系统相关的电子书资源,介绍了关于分布式、系统、原理、架构方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小18.4 MB,卢誉声编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.8。

      内容介绍

      《分布式实时处理系统:原理、架构与实现》全书分为3篇:第一篇详细讲解本书将要开发的分布式实时计算系统所涉及的相关技术,特别针对C++11的新特性着重介绍。第二篇剖析分布式计算系统编程细节,其中对每个重要的概念、模型和函数都加以阐述。第三篇主要关注实战用例,将编写数个极具实践价值的应用程序,为开发者提供参考。通过阅读本书,读者不仅能开发出一套基于C/C++实现的分布式实时计算系统,而且还可以以此学习和了解服务器编程接口设计以及UNIX服务器开发的多个重要主题,对未来实际应用与开发提供参考。

      目录

      • 目录
      • 本书赞誉
      • 序一
      • 序二
      • 序三
      • 前言
      • 第1章 分布式计算概述 1
      • 1.1 分布式概念 1
      • 1.2 分布式计算及其原理 2
      • 1.3 分布式系统特性 3
      • 1.3.1 容错性 3
      • 1.3.2 高可扩展性 4
      • 1.3.3 开放性 5
      • 1.3.4 并发处理能力 5
      • 1.3.5 透明性 6
      • 1.4 通用分布式计算系统 6
      • 1.4.1 Apache Hadoop 6
      • 1.4.2 Apache Spark 8
      • 1.4.3 Apache Storm 9
      • 1.5 分布式存储系统 10
      • 1.5.1 分布式存储概念 10
      • 1.5.2 分布式存储系统特点 12
      • 1.5.3 分布式存储系统分类 12
      • 1.5.4 常见分布式存储系统 13
      • 1.6 本章小结 14
      • 第2章 分布式系统通信基础 15
      • 2.1 时代的浪潮 15
      • 2.1.1 集中式通信网 16
      • 2.1.2 去中心化 16
      • 2.2 可靠的数据链路 17
      • 2.2.1 数据分组 17
      • 2.2.2 帧同步 18
      • 2.2.3 差错控制 18
      • 2.2.4 链路管理 18
      • 2.2.5 问题与解决方案 19
      • 2.3 分层架构 19
      • 2.4 网络层 22
      • 2.4.1 寻找路径 22
      • 2.4.2 网络分层 23
      • 2.4.3 TCP/IP概述 23
      • 2.4.4 IP协议 24
      • 2.5 传输层 30
      • 2.5.1 数据自动分包 30
      • 2.5.2 端到端的传输 30
      • 2.5.3 数据的可靠传输 30
      • 2.6 应用层 35
      • 2.6.1 ping 35
      • 2.6.2 telnet 36
      • 2.6.3 OSPF 36
      • 2.6.4 DNS 36
      • 2.6.5 HTTP协议 37
      • 2.7 基于消息协议的公告牌 38
      • 2.7.1 需求描述 38
      • 2.7.2 制定协议 38
      • 2.8 分布式通信举例——MapReduce 39
      • 2.9 本章小结 41
      • 第3章 通信系统高层抽象 42
      • 3.1 RPC介绍 42
      • 3.2 RESTful 44
      • 3.2.1 资源和表现层 45
      • 3.2.2 状态转移 45
      • 3.2.3 RESTful总结 46
      • 3.3 消息队列 46
      • 3.4 序列化 49
      • 3.5 使用Thrift实现公告牌服务 50
      • 3.5.1 Apache Thrift介绍 51
      • 3.5.2 安装Apache Thrift 51
      • 3.5.3 编写Thrift文件 52
      • 3.5.4 实现服务器 53
      • 3.5.5 实现客户端 54
      • 3.6 本章小结 56
      • 第4章 走进C++高性能编程 57
      • 4.1 基于C++的留言板系统 58
      • 4.1.1 基于Socket的通信 58
      • 4.1.2 C++中的内存与资源管理 64
      • 4.2 来自服务器的天书 69
      • 4.2.1 编码 69
      • 4.2.2 C++98的编码缺陷 72
      • 4.2.3 C++11编码支持 73
      • 4.3 繁忙的服务器 75
      • 4.3.1 分身乏术 75
      • 4.3.2 fork——分身术 76
      • 4.3.3 进程间通信 79
      • 4.3.4 轻量级分身——线程 85
      • 4.3.5 C++11线程 86
      • 4.3.6 竞争问题与解决方案 88
      • 4.3.7 多线程优化 95
      • 4.3.8 异步I/O 99
      • 4.4 消失不见的内存 105
      • 4.4.1 内存分配与内存碎片 106
      • 4.4.2 tcmalloc 108
      • 4.4.3 内存池 110
      • 4.5 本章小结 112
      • 第5章 分布式实时处理系统 113
      • 5.1 Hadoop与MapReduce 113
      • 5.1.1 HDFS 114
      • 5.1.2 MapReduce模型 115
      • 5.2 Storm实时处理系统 129
      • 5.2.1 历史 129
      • 5.2.2 计算模型 130
      • 5.2.3 总体架构 133
      • 5.2.4 Storm元数据 133
      • 5.2.5 Storm与Hadoop比较 138
      • 5.3 有保证的消息处理 139
      • 5.3.1 完全处理与元组树 139
      • 5.3.2 元组的唯一标识 139
      • 5.3.3 确认和失败 141
      • 5.3.4 高效实现 143
      • 5.4 本章小结 144
      • 第6章 实时处理系统编程接口设计 145
      • 6.1 总体架构设计 145
      • 6.1.1 Hurricane与Storm比较 145
      • 6.1.2 总体架构 146
      • 6.1.3 任务接口 148
      • 6.2 消息源接口设计 149
      • 6.3 消息处理器接口设计 150
      • 6.4 数据收集器设计 151
      • 6.5 元组接口设计 154
      • 6.6 序列化接口设计 160
      • 6.7 本章小结 161
      • 第7章 服务组件设计与实现 162
      • 7.1 Executor设计与实现 162
      • 7.1.1 事件驱动的消息队列 162
      • 7.1.2 动态装载技术 167
      • 7.1.3 Executor实现 169
      • 7.2 Task设计与实现 171
      • 7.3 本章小结 172
      • 第8章 管理服务设计与实现 173
      • 8.1 President功能与设计 173
      • 8.2 President实现 174
      • 8.2.1 简单的网络通信实现 175
      • 8.2.2 Topology装载实现 182
      • 8.2.3 Manager管理调度实现 184
      • 8.2.4 序列化实现 193
      • 8.3 本章小结 198
      • 第9章 实时处理系统编程接口实现 199
      • 9.1 消息源接口实现 200
      • 9.1.1 消息源执行器 200
      • 9.1.2 WordCount实现实例 205
      • 9.2 消息处理单元接口实现 207
      • 9.2.1 消息处理单元执行器 207
      • 9.2.2 事件处理 212
      • 9.2.3 WordCount实现实例 215
      • 9.3 数据收集器实现 218
      • 9.3.1 分发策略 218
      • 9.3.2 传输层实现 224
      • 9.4 本章小结 226
      • 第10章 可靠消息处理 227
      • 10.1 基本概念 227
      • 10.1.1 完全处理 227
      • 10.1.2 失败与重发 229
      • 10.2 接口设计 229
      • 10.3 具体实现 233
      • 10.3.1 简单实现 233
      • 10.3.2 高效实现 235
      • 10.4 本章小结 237
      • 第11章 通信系统设计与实现 238
      • 11.1 I/O多路复用方案解析 239
      • 11.1.1 基本网络编程接口 239
      • 11.1.2 非阻塞的服务器程序 241
      • 11.1.3 使用select()接口的基于事件驱动的服务器模型 242
      • 11.1.4 使用epoll实现异步事件通知模型 245
      • 11.2 基础工具 249
      • 11.2.1 线程工具 250
      • 11.2.2 日志工具 254
      • 11.3 传输层实现 263
      • 11.3.1 Reactor模式 263
      • 11.3.2 定义抽象TP传输层 264
      • 11.3.3 实现基于epoll的TP传输层 269
      • 11.3.4 实现基于IOCP的TP传输层 290
      • 11.4 应用层HTTP实现 307
      • 11.4.1 HttpContext 307
      • 11.4.2 HttpRequest 311
      • 11.4.3 HttpResponse 313
      • 11.4.4 HttpConnection 315
      • 11.4.5 HttpServer 317
      • 11.4.6 总结 319
      • 11.5 跨平台分割编译 320
      • 11.5.1 Makefile 320
      • 11.5.2 Kake 323
      • 11.6 与实时处理系统集成 325
      • 11.6.1 修改NetListener 325
      • 11.6.2 修改NetConnector 327
      • 11.7 本章小结 330
      • 第12章 事务性Topology实现 331
      • 12.1 Exact-once语义解决方案 331
      • 12.2 设计细节 333
      • 12.2.1 构造事务性Topology 333
      • 12.2.2 消息处理单元 334
      • 12.3 事务性Topology API 337
      • 12.3.1 消息处理单元 337
      • 12.3.2 事务性消息源 339
      • 12.4 本章小结 339
      • 第13章 多语言接口 340
      • 13.1 C语言通用接口 340
      • 13.1.1 元组接口 342
      • 13.1.2 消息源接口 346
      • 13.1.3 消息处理单元接口 349
      • 13.1.4 计算拓扑接口 352
      • 13.2 Python接口 354
      • 13.2.1 ctypes 354
      • 13.2.2 元组接口 356
      • 13.2.3 消息源接口 359
      • 13.2.4 消息处理单元接口 360
      • 13.2.5 计算拓扑接口 361
      • 13.2.6 应用示例 364
      • 13.3 JavaScript接口 365
      • 13.3.1 V8引擎 366
      • 13.3.2 Node.js 366
      • 13.3.3 V8的互操作接口 367
      • 13.3.4 任务接口 368
      • 13.3.5 消息源接口 369
      • 13.3.6 消息处理单元接口 370
      • 13.3.7 计算拓扑接口 371
      • 13.3.8 应用示例 373
      • 13.4 Java接口 375
      • 13.4.1 任务接口 375
      • 13.4.2 消息源接口 376
      • 13.4.3 消息处理单元接口 377
      • 13.4.4 计算拓扑接口 377
      • 13.4.5 本地代码 380
      • 13.4.6 应用示例 382
      • 13.5 Swift接口 384
      • 13.5.1 应用范围 385
      • 13.5.2 任务接口 385
      • 13.5.3 消息源接口 386
      • 13.5.4 消息处理单元接口 387
      • 13.5.5 计算拓扑接口 388
      • 13.6 本章小结 390
      • 第14章 Squared设计与实现——实现高级抽象元语 391
      • 14.1 Storm Trident介绍 391
      • 14.1.1 Squared示例 391
      • 14.1.2 DRPC示例 394
      • 14.2 Squared实现 396
      • 14.2.1 SquaredTopology和Spout 396
      • 14.2.2 SquaredBolt 401
      • 14.2.3 Stream 405
      • 14.2.4 状态存储 410
      • 14.2.5 DRPC实现 412
      • 14.2.6 操作与处理节点 416
      • 14.2.7 流操作 419
      • 14.3 本章小结 423
      • 第15章 实战:日志流处理 425
      • 15.1 日志流处理设计方案 425
      • 15.2 实现Topology 427
      • 15.2.1 编写消息源 427
      • 15.2.2 编写索引消息处理单元 428
      • 15.2.3 编写统计消息处理单元 429
      • 15.3 本章小结 431
      • 第16章 实战:频繁组合查找 432
      • 16.1 背景介绍 432
      • 16.1.1 数据挖掘概念 432
      • 16.1.2 关联规则和频繁项集 433
      • 16.1.3 啤酒与尿布 435
      • 16.2 频繁二项集挖掘方法 435
      • 16.2.1 频繁二项集 435
      • 16.2.2 算法设计思路 438
      • 16.2.3 Hurricane实现思路 439
      • 16.3 编写Spout 439
      • 16.4 编写Bolt 441
      • 16.4.1 SplitBolt 441
      • 16.4.2 PairCountBolt 442
      • 16.4.3 PairTotalCountBolt 443
      • 16.4.4 ConfidenceComputeBolt 444
      • 16.4.5 SupportComputeBolt 445
      • 16.4.6 FilterBolt 447
      • 16.5 编写Topology 448
      • 16.6 本章小结 449
      • 第17章 实战:在AWS和阿里云上部署Hurricane实时处理系统 450
      • 17.1 AWS部署 450
      • 17.1.1 搭建虚拟私有云 452
      • 17.1.2 配置安全组 455
      • 17.1.3 加载EC2实例 456
      • 17.1.4 弹性IP地址管理 461
      • 17.2 阿里云部署 464
      • 17.2.1 创建虚拟私有云 464
      • 17.2.2 管理安全组 467
      • 17.2.3 创建ECS 468
      • 17.2.4 SSH登录 471
      • 17.3 Hurricane分布式部署与管理 471
      • 17.3.1 分布式部署原理 472
      • 17.3.2 分布式安装配置 472
      • 17.3.3 分布式启动 476
      • 17.4 部署分布式实时处理系统 477
      • 17.5 未来之路 478
      • 17.6 本章小结 479

      学习笔记

      Java编程redisson实现分布式锁代码示例

      最近由于工作很忙,很长时间没有更新博客了,今天为大家带来一篇有关Redisson实现分布式锁的文章,好了,不多说了,直接进入主题。 1. 可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。 public void testReentrantLock(RedissonClient redisson){ RLock lock = redisson.getLock("anyLock"); try{ // 1. 最常见的使用方法 //lock.lock(); // 2. 支持过期解锁功能,10秒钟以后自动解锁, 无需调用unlock方法手动解锁 //lock.lock(10, TimeUnit.SECONDS); // 3. 尝试加锁,最多等待3秒,上锁以后10秒自动解锁 boolean res = lock.tryLock(3, 10, TimeUnit.SECONDS); if(res){ //成功 // do your business } } catch……

      分布式服务Dubbo+Zookeeper安全认证实例

      前言 由于之前的服务都是在内网,Zookeeper集群配置都是走的内网IP,外网不开放相关端口。最近由于业务升级,购置了阿里云的服务,需要对外开放Zookeeper服务。 问题 Zookeeper+dubbo,如何设置安全认证?不想让其他服务连接Zookeeper,因为这个Zookeeper服务器在外网。 查询官方文档: Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。 流程说明: •服务提供者启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址 •服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。……

      浅谈Java(SpringBoot)基于zookeeper的分布式锁实现

      通过zookeeper实现分布式锁 1、创建zookeeper的client 首先通过CuratorFrameworkFactory创建一个连接zookeeper的连接CuratorFramework client public class CuratorFactoryBean implements FactoryBeanCuratorFramework, InitializingBean, DisposableBean { private static final Logger LOGGER = LoggerFactory.getLogger(ContractFileInfoController.class); private String connectionString; private int sessionTimeoutMs; private int connectionTimeoutMs; private RetryPolicy retryPolicy; private CuratorFramework client; public CuratorFactoryBean(String connectionString) { this(connectionString, 500, 500); } public CuratorFactoryBean(String connectionString, int sessionTimeoutMs, int connectionTimeoutMs) { this.connectionString = connectionString; this.sessionTimeoutMs = sessionTimeoutMs; this……

      java语言描述Redis分布式锁的正确实现方式

      分布式锁一般有三种实现方式:1.数据库乐观锁;2.基于Redis的分布式锁;3.基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。 可靠性 首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节点正常运……

      spring boot整合redis实现shiro的分布式session共享的方法

      我们知道,shiro是通过SessionManager来管理Session的,而对于Session的操作则是通过SessionDao来实现的,默认的情况下,shiro实现了两种SessionDao,分别为CachingSessionDAO和MemorySessionDAO,当我们使用EhCache缓存时,则是使用的CachingSessionDAO,不适用缓存的情况下,就会选择基于内存的SessionDao.所以,如果我们想实现基于Redis的分布式Session共享,重点在于重写SessionManager中的SessionDao。我们的重写代码如下: package com.chhliu.springboot.shiro.cache; import java.io.Serializable; import java.util.Collection; import java.util.concurrent.TimeUnit; import org.apache.shiro.session.Session; import org.apache.shiro.session.UnknownSessionException; import org.apache.shiro.session.mgt.eis.Abstra……

      以上就是本次介绍的分布式系统电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:Head First C#

      下一篇:实战Elasticsearch、Logstash、Kibana

      展开 +

      收起 -

      下载地址:百度网盘下载
      分布式系统相关电子书
      微服务分布式构架开发实战
      微服务分布式构架开发实战 超清影印版

      基于开源且稳定的第三方工具,介绍如何构建一个庞大且复杂的分布式系统,建立起对微服务分布式架构的认知,以便为探求更深层次的知识点做好铺垫

      立即下载
      分布式系统常用技术及案例分析
      分布式系统常用技术及案例分析 高清版

      《分布式系统常用技术及案例分析》 全面介绍在设计分布式系统时所要考虑的技术方案,内容丰富、案例新颖,相关理论与技术实践较为前瞻。《分布式系统常用技术及案例分析》不仅仅介绍

      立即下载
      高伸缩性系统:Erlang/OTP大型分布式容错设计
      高伸缩性系统:Erlang/OTP大型分布式容错设计 清晰版

      《高伸缩性系统:Erlang/OTP大型分布式容错设计》 是一本罕见的站在核心设计者而非普通开发者角度介绍 Erlang/OTP系统的权威书籍。两位作者均是深耕分布式计算领域超过20年的专家。《高伸缩

      立即下载
      自己动手写分布式搜索引擎
      自己动手写分布式搜索引擎 高质量版

      猎兔检索技术工程师数十年技术性积累与升化,解读分布式搜索引擎的基础算法与原理。ElasticSearch分布式集群服务器社会经验的小结,领着用户迅速新手入门分布式搜索引擎开发设计。这书详

      立即下载
      分布式服务框架:原理与实践
      分布式服务框架:原理与实践 扫描版 立即下载
      用Mesos框架构建分布式应用
      用Mesos框架构建分布式应用 高清完整版

      Apache Mesos是先进的集群管理器,既可以作为灵活的部署系统,也可以作为强大的执行平台。它不仅为分布式应用程序提供了良好的资源隔离,而且突破性地实现了资源的灵活共享,极大地提高

      立即下载
      大型分布式网站架构设计与实践
      大型分布式网站架构设计与实践 全书影印版 立即下载
      分布式消息中间件实践
      分布式消息中间件实践 全书扫描版 立即下载
      Akka实战:快速构建高可用分布式应用
      Akka实战:快速构建高可用分布式应用 影印版

      本书一共分为10章,全面介绍了Akka的基础架构、Actor模型、常用组件、分布式&集群、微服务等。下面是各个章节的简介及阅读说明。

      立即下载
      读者留言
      萧煜祺

      萧煜祺 提供上传

      资源
      21
      粉丝
      19
      喜欢
      107
      评论
      5

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com