编辑推荐
适读人群:软件开发人员,相关的技术人员和非技术人员
对于数据驱动型公司,设计和构建流式数据架构能够实现实时或近实时应用,提升整个组织的效率。《流式架构:Kafka与MapRStreams数据流处理》简明的指南讲述了流设计中的关键因素(聚焦于消息层的关键特性)、新的消息技术ApacheKafka和MapRStreams、流架构是如何支持微服务的,以及当下可供选择的流技术:ApacheSparkStreaming、ApacheFlink、ApacheStorm和ApacheApex,适合架构师、大数据科学家及IT工程师阅读。
内容简介
所有连续的事件流都可以称为数据流。对连续数据流设计和构建流式数据架构,能够实现实时或近实时应用,提升整个组织的效率。《流式架构:Kafka与MapR Streams数据流处理》以ApacheKafka和MapRStreams为例,重点讲解如何确定使用流数据的时机、如何为多用户系统设计流式架构、为什么要求消息传递层具备某些特定功能,以及为什么需要微服务,并且描述了目前*符合流式设计需求的消息传递和流分析工具,适合架构师、大数据科学家及IT工程师阅读。
作者简介
TedDunning,MapRTechnologies首席应用架构师,开源社区的活跃成员。现任ApacheFoundation孵化器的VP,是大量项目的冠军得主和导师,也是ApacheZooKeeper和Drill项目的贡献者和PMC成员。
EllenFriedman,解决方案咨询师,著名演讲者和作家,目前主要撰写大数据方面的著作。她是ApacheDrill和ApacheMahout项目的贡献者。
译者简介
唐李洋,博士,研究方向为云计算、并行计算、数据挖掘与分析等。曾经在Cisco从事过数据架构方面的设计与分析工作。
目录
目录
第1章为什么使用流1
飞机、火车和汽车:车联网和物联网3
流数据:这才是现实世界6
什么时候需要流8
不止是实时:流架构的更多优势11
流架构的最佳实践13
医疗数据流案例14
流数据:架构设计的核心17
第2章流式架构19
狭义视角:实时应用20
通用流式架构的关键问题21
消息传递技术的重要性24
实时分析工具28
ApacheStorm30
ApacheSparkStreaming31
ApacheFlink32
ApacheApex33
流分析功能比较33
小结36
第3章流架构:微服务的理想平台37
为什么需要微服务38
微服务需要哪些支撑41
关于微服务的更多详情42
设计流架构:以在线视频服务为例45
新设计:支持消息传递的基础设施47
通用微架构的重要性49
命名问题50
为什么使用分布式文件和NoSQL数据库52
视频服务的新设计52
小结:综合平台视角54
第4章使用Kafka进行流传输57
Kafka的动机57
Kafka的创新58
Kafka的基本概念60
排序61
持久化62
KafkaAPI62
KafkaProducerAPI63
KafkaConsumerAPI66
遗留API70
Kafka实用程序71
负载均衡71
镜像72
Kafka的陷阱73
产品环境下的Kafka73
主题和分区的数目有限74
手动均衡分区负载75
没有固有的序列化机制76
镜像的不足77
小结78
第5章MapRStreams79
MapRStreams的创新79
MapR流系统的历史和情境82
MapRStreams的工作原理84
配置MapRStreams86
地理分布式复制89
MapRStreams的陷阱91
第6章基于流数据的欺诈检测..93
刷卡速度94
快速响应决策:“这是欺诈吗”95
多用途流数据98
欺诈检测器的向上扩展99
小结101
第7章地理分布式数据流103
利益相关者104
设计目标106
设计选择106
我们的设计108
数据108
控制谁能访问流数据109
基于流的地理分布式复制的优势.110
第8章总结113
流式架构的优势115
过渡到流架构116
小结119
附录A附加资源121
作者简介125
前言/序言
使用和处理连续数据流的能力,是一项极具竞争力的优势。因此,能够利用流数据,逐渐成为构建数据驱动型组织的一个重要条件。流数据的广泛使用引发了如何进行更好的系统设计才能有效处理流数据的思考,涉及从多个数据源提取数据,以及各种不同的使用场景,包括流分析和持久化问题。流架构设计的最佳实践层出不穷,甚至会让我们目瞪口呆——流系统设计的范畴已经远远超出服务于特定的实时或近实时应用。使用新的方法进行流设计,能够极大地提升整个组织的效率。
目标读者
如果你已经在使用流数据,并且希望设计出一种能够实现最佳性能的体系结构,或者正要探索流数据的价值,那么这《流式架构:Kafka与MapR Streams数据流处理》应该对你很有帮助。《流式架构:Kafka与MapR Streams数据流处理》提供了很多真实案例,帮助你理解如何将这些方法应用到不同场景。此外,《流式架构:Kafka与MapR Streams数据流处理》还为开发人员提供了示例程序的链接。
《流式架构:Kafka与MapR Streams数据流处理》适合非技术或技术出身的读者,包括商业分析师、架构师、团队领导、数据科学家及开发人员。
内容梗概
《流式架构:Kafka与MapR Streams数据流处理》内容包括:
--如何确定使用流数据的时机
--在多用户系统中如何更好地设计流架构
--为什么这种设计要求消息传递层具备某些特定的功能
--为什么流式架构支持微服务
--最符合流设计需求的消息传递和流分析工具的描述
第1~3章阐述了流和微服务架构的基本知识。如果你已经对流数据的业务目标很熟悉,可以直接从第2章开始读,第2章描述了我们推荐的适合流系统的架构。
我们不仅解释了流架构最佳实践所需的能力,还介绍了一些目前能够满足这些要求的技术。第4章详细讲述ApacheKafka,并提供了示例代码链接。第5章介绍另一种更适合消息传递的技术,即MapRStreams,它使用ApacheKafkaAPI,但提供的功能更多。
后面的章节深入介绍了利用流数据的真实案例,并对这一激动人心的领域做出了前景展望。
相关补充资料(示例代码、练习等)在这里下载:https://www.mapr.com/blog/getting-started-sample-programs-apache-kafka-09以及https://www.mapr.com/blog/getting-started-sample-programsmapr-streams。
《流式架构:Kafka与MapR Streams数据流处理》的目的是帮助你完成工作。一般来说,如果书中有示例代码,你可以在自己的程序和文档中使用这些示例代码。只要不是大批量复制这些代码,都不必联系我们请求许可。例如,借用书中若干块代码编写程序,不需要许可;而将O’eilly书中的例子制作成CD售卖或发行,则需要许可。引用书中的示例代码回答某个问题,不需要许可;而在产品文档中大量使用示例代码,则需要许可。
我们非常希望你能在引用《流式架构:Kafka与MapR Streams数据流处理》内容时标明出处,但并不强求。出处一般包含有书名、作者、出版商和ISBN。例如:“StreamingArchitecture:NewDesignsUsingApacheKafkaandMapRStreams
byTedDunningandEllenFriedman(O’eilly).Copyright2016TedDunningandEllenFriedman,978-1-491-95392-1”
如果你觉得示例代码的使用可能超越了合理使用范围,或者需要获得许可,请随时联系我们:permissions@oreilly.com。
SafariBooksOnlineSafariBooksOnline
SafariBooksOnline是应需而变的数字图书馆。它同时以图书和视频的形式出版世界顶级技术和商务作家的专业作品
技术专家、软件开发者、Web设计师、商务人士和创意精英都可以将Safari在线图书作为他们的调研、解决问题、学习和认证的主要资料来源。
SafariBooksOnline对于组织团体、政府机构和个人提供各种产品组合和灵活的定价策略。用户可通过一个功能完备的数据库检索系统访问O’ReillyMedia、PrenticeHallProfessional、Addison-WesleyProfessional、MicrosoftPress、Sam、Que、PeachpitPress、FocalPress、CiscoPress、JohnWiley&Sons、Syngress、MorganKaufmann、IBMRedbooks、Packt、AdobePress、FTPress、Apress、Manning、NewRiders、McGarw-Hill、Jones&Bartlett、CourseTechnology及其他数十家出版社的上千种图书、培训视频和正式出版前的书稿。要了解更多关于SafariBooksOnline的信息,请访问我们的网站。
联系方式
请将对《流式架构:Kafka与MapR Streams数据流处理》的评价和发现的问题通过如下地址告知出版者。
美国:
O’eillyMedia,Inc.
1005GravensteinHighwayNorth
Sebastopol,CA95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室
(100035)
奥莱利技术咨询(北京)有限公司
我们在http://bit.ly/streaming-architecture上列出了勘误表、示例和所有额外的信息。
要评论或者询问关于《流式架构:Kafka与MapR Streams数据流处理》的任何技术问题,请发邮件到bookquestions@oreilly.com。
要了解O’eilly更多的图书、课程、会议和新闻,请访问我们的网站http://www.oreilly.com。
我们的Facebook账号:http://facebook.com/oreilly
我们的Twitter账号:http://twitter.com/oreillymedia
我们的YouTube网址:http://www.youtube.com/oreillymedia
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),您即可享受以下服务:
·提交勘误:您对书中内容的修改意见可在提交勘误处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
·交流互动:在页面下方读者评论处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/31722