计算机类教材 > 大数据

Kafka基础架构与设计

书号:9787113288297 套系名称:无

作者:智酷道捷内容与产品中心 出版日期:2022-03-01

定价:42.00 页码 / 开本:无 /16

策划编辑:汪敏 责任编辑:汪敏 包宁

适用专业:计算机类 适用层次:高等职业(专科)

最新印刷时间:

资源下载
教学课件 教学素材
习题答案 教学案例(暂无)
教学设计 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书主要内容包括Kafka入门与基础、Kafka的生产者、Kafka的消费者、深入Kafka消费者、Kafka的再均衡与分区分配、Kafka的日志与事务、Spark基础以及Kafka与Spark的集成及应用等。
    本书由多名一线研发工程师联合编写,结构清晰、案例丰富、通俗易懂、实用性强,适合作为高等院校计算机相关专业的程序设计教材,也可作为社会培训学校的培训教材。
    
  • Kafka是由Apache软件基金会开发的一个开源流处理平台,它是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。这些动作(浏览网页、搜索和其他行为)是现今用户上网的常用操作,是了解人们社会行为的关键因素,而动作流数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决的。对于像Hadoop一样要求实时处理数据的日志数据和离线分析系统,Kafka是一个可行的解决方案。
    本书以“理论+实战”的方式编写,共包含40多个实例。首先从Kafka的基本概念入手,主要从生产端、消费端、服务端三个方面进行全面阐述,内容包括Kafka入门与基础、Kafka的生产者、Kafka的消费者、深入Kafka消费者、Kafka的再均衡与分区分配、Kafka的日志与事务、Spark基础以及Kafka与Spark的集成及应用等。虽然Kafka的内核是使用Scala语言编写的,但是本书基本以Java语言作为主要的示例语言,以方便绝大多数读者的理解。
    本书的每一个知识点都配有同步教学视频,视频和图书完全同步,能帮助读者快速而全面地了解每一个知识点的内容。本书还免费提供所有案例的源代码、教学PPT、教学设计及其他资源,还有和每章内容配合使用的8套作业及难易程度不同的3套试卷,这些资源不仅能方便读者学习,更能为读者以后的工作提供便利。扫描书中的二维码即可获得上述资源。
    通过阅读本书,你将:
    ? 可以安装、配置和运行Kafka;
    ? 可以使用Kafka生产者和消费者来生产消息和消费消息;
    ? 可以构建序列化器和反序列化器;
    ? 可以掌握Kafka的分区策略;
    ? 可以掌握Kafka的日志存储方式、幂等性和事务;
    ? 可以掌握SparkStreaming的编程;
    ? 可以掌握SparkStreaming、StructStreaming与Kafka的集成方法。
    本书由北京智酷道捷教育科技有限公司组织多名一线研发工程师和重庆文理学院数学与大数据学院的罗章涛老师联合编写。全书共8章,其中,罗章涛编写了第1~3章(共计12万
    字),北京智酷道捷教育科技有限公司的研发工程师编写了第4~8章(共计28万字)。本书结构清晰、案例丰富、通俗易懂、实用性强,适合作为高等院校计算机相关专业的程序设计教材,也可作为社会培训学校的培训教材。
    本书配套有教学课件等文档,读者可从中国铁道出版社有限公司网站(http:// www.tdpress.com/51eds)下载。
    由于时间有限,书中难免有疏漏及不足之后,敬请广大读者批评指正!
    
    编者    
    2021年11月
    
  • 目 录
    第1章  Kafka入门与基础1
    1.1Kafka初识1
    1.1.1Kafka的官方解释1
    1.1.2Kafka的整体架构2
    1.1.3消息系统2
    1.1.4常见的消息系统3
    1.1.5Kafka的设计理念4
    1.1.6Kafka的设计要点5
    1.1.7Kafka的应用场景5
    1.2Kafka的基本术语5
    1.2.1Kafka的主要术语5
    1.2.2Kafka的第一类基本术语6
    1.2.3Kafka的第二类基本术语9
    1.3Kafka的安装与部署12
    1.3.1Kafka的环境准备12
    1.3.2Kafka在Linux上的安装12
    1.3.3Kafka集群安装的操作步骤13
    1.4Kafka的集群规划20
    1.4.1Kafka的集群考虑20
    1.4.2Kafka服务端的主要参数20
    小结20
    习题21
     第2章  Kafka的生产者22
    2.1Kafka生产者初识22
    2.1.1主题的基本操作22
    2.1.2Kafka发送消息的流程26
    2.1.3Kafka的内部流程27
    2.1.4生产者的基本操作27
    2.2生产者的基本开发28
    2.2.1Kafka生产者客户端支持的语言28
    2.2.2Kafka生产者的开发流程28
    2.2.3Kafka生产者分区策略30
    2.3生产者发送消息的方式33
    2.3.1Kafka消息发送的方式33
    2.3.2Kafka的异常34
    2.3.3Kafka的生产者重要配置40
    2.4生产者的多线程开发41
    2.4.1Kafka的多线程使用场景41
    2.4.2Kafka的多线程开发方式41
    小结46
    习题46
     第3章  Kafka的消费者47
    3.1生产者的自定义组件47
    3.1.1消息的发送流程47
    3.1.2Kafka的自定义组件开发48
    3.2Kafka消费者初识57
    3.2.1Kafka消费者概述57
    3.2.2消费者与分区的关系58
    3.2.3消费者的基本操作58
    3.2.4消费者offset62
    3.3消费者开发入门63
    3.4消费者的自定义组件68
    小结71
    习题71
     第4章  深入Kafka消费者72
    4.1序列化和反序列化72
    4.1.1认识Protobuf72
    4.1.2Protobuf的安装和序列化方法73
    4.1.3Protobuf开发序列化和反序列化器76
    4.2Kafka自动提交81
    4.2.1Kafka的位移提交以及版本存在的问题81
    4.2.2Kafka的消息重复和消息丢失81
    4.2.3Kafka消费的位移管理82
    4.2.4Kafka的位移提交方式83
    4.3Kafka手动提交85
    4.3.1Kafka的手动提交方式和参数85
    4.3.2Kafka的同步提交88
    4.3.3同步提交和异步提交的差异94
    4.3.4Kafka的异步提交94
    4.4Kafka控制消费者96
    小结98
    习题98
     第5章  Kafka的再均衡与分区分配99
    5.1Kafka特定位移消费99
    5.1.1Kafka的消费者位移重置99
    5.1.2Kafka的指定偏移量开发流程100
    5.2Kafka的再均衡104
    5.2.1Kafka的再均衡和触发条件105
    5.2.2Kafka再均衡的generation和监听器105
    5.3Kafka的分区策略108
    5.3.1Kafka的分区分配策略109
    5.3.2Kafka的RangAssignor109
    5.3.3Kafka的RoundRobinAssignor110
    5.3.4Kafka的StickyAssignor111
    5.3.5Kafka的自定义分区策略113
    小结118
    习题118
     第6章  Kafka的日志与事务120
    6.1Kafka日志存储120
    6.1.1Kafka的日志120
    6.1.2Kafka的日志格式120
    6.1.3日志文件的存储关系123
    6.1.4Kafka的日志回滚125
    6.1.5Kafka的日志查找126
    6.1.6Kafka的日志清理128
    6.2Kafka的可靠性130
    6.2.1Kafka的可靠性机制130
    6.2.2LEO和HW的更新机制131
    6.2.3Kafka的HW与LEO更新流程132
    6.3Kafka的幂等性133
    6.3.1Kafka的消息语义133
    6.3.2Kafka的幂等性原理134
    6.4Kafka的事务135
    6.4.1Kafka的事务概念135
    6.4.2生产者和消费者并存的事务场景140
    小结142
    习题142
     第7章  Spark基础144
    7.1Spark基础知识144
    7.1.1Spark应用144
    7.1.2Spark的核心抽象145
    7.1.3Spark的核心抽象与各组件关系146
    7.1.4理解RDD编程147
    7.1.5Spark的术语150
    7.1.6Spark的运行原理151
    7.1.7WordCount任务划分152
    7.1.8Spark的运行架构152
    7.1.9Spark的下载155
    7.1.10Spark的源码编译155
    7.2SparkStreaming157
    7.2.1SparkStreaming基础157
    7.2.2Scala连接MySQL159
    小结163
    习题163
     第8章  Kafka与Spark的集成及应用165
    8.1Kafka集成SparkStreaming165
    8.1.1Kafka与SparkStreaming的集成方式165
    8.1.2SparkStreaming获取Kafka数据的方式166
    8.1.3SparkStreaming与Kafka的集成169
    8.2Kafka集成StructStreaming178
    8.2.1StructStreaming和SparkStreaming的对比178
    8.2.2StructStreaming基于sparksql引擎179
    8.2.3StructStreaming编程模型179
    8.2.4Micro Batch和Continuous Processing180
    8.2.5StructStreaming基础182
    8.2.6StructStreaming的Output Modes185
    8.2.7StructStreaming与Kafka188
    小结193
    习题193
    练一练参考答案195
    习题参考答案219
    
  •       智酷道捷是中关村智酷双创人才服务股份有限公司下属高科技教育企业。旨在打造“产、学、研、用”双创一 体化深度融合的智能化泛 IT 产教综合服务平台。是一家专注于面向 高校提供“产、学、研、用”一体化双创实践性教学解决方案,面向 高新技术职业技能持续培育的创新型科技教育企业。公司专注于前沿 技术——基于云计算、大数据、以及智能化控制等高新技术开发的全新资源与服务平台。公司借鉴发达国家先进的技术应用教学经验并结合中国国情,创新提出“双创双元、双元双通”理论模型,通过“工程实践中心”这一创新载体,整合高校教育与产业实践应用,基于云平台的大数据反馈和自适应机制,打造形成以产业应用需求为引领,以岗位技能能力图表为核心线索的智能化课程研发体系,将产业应用需求、高校教育过程以及课程研发机制、产教协同育人进行一体化联动和融合,实现双创实践性应用人才智能化、生态化、个性化、本地化培育,为地方企业和高校提供优质的实践性课程与人才服务。
  • 本书的每一个知识点都配有同步教学视频,视频和图书完全同步,能帮助读者快速而全面地了解每一个知识点的内容。本书还免费提供所有案例的源代码、教学PPT、教学设计及其他资源,还有和每章内容配合使用的8套作业及难易程度不同的3套试卷,这些资源不仅能方便读者学习,更能为读者以后的工作提供便利。