kafka指南 第2版 数据库 (美)格温·沙皮拉 等
kafka核心作者jay kre作序,由kafka项目一线开发人员共同执笔打造,通过详细的示例,帮助你排除疑难杂症,快速掌握大数据核心技术
¥
80.95
6.8折
¥
119.8
全新
库存11件
作者(美)格温·沙皮拉 等
出版社人民邮电出版社
ISBN9787115601421
出版时间2022-11
版次2
装帧平装
开本16
页数344页
字数483千字
定价119.8元
货号xhwx_1202770731
上书时间2024-12-07
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
主编:
本书版出版时,有超过30%的财富世界500强公司使用kafka。5年后,这个比例已经达到70%。毋庸置疑,作为大数据时代的核心技术,kafka已然成为所有动态数据台的事实基础。本书为使用kafka的软件工程师、架构师和运维工程师勾勒出一条完整的学曲线,并强调剖析和应用实践。
来自confluent和linkedin的一线kafka开发人员将为你解释如何部署生产级kafka集群、编写可靠的事件驱动微服务,以及使用kafka构建可伸缩的流处理应用程序。通过详细的示例,你将了解kafka的设计原则、可靠保证,以及架构细节,包括复制协议、控制器和存储层。
部署和配置kafka的良好实践
kafka生产者和消费者如何读写消息
确保可靠传递数据的模式和用例要求
用kafka构建数据管道和应用程序
用kafka在生产环境中执行监控、调优和维护任务
kafka的关键运维指标
kafka针对流处理系统的交付能力
目录:
本书赞誉xvii
第2版序x
版序x
前言i
章初识kafka1
1.1发布与订阅消息系统1
1.1.1如何开始2
1.1.2独立的队列系统3
1.2kafka登场3
1.2.1消息和批次4
1.2.2模式4
1.2.3主题和分区4
1.2.4生产者和消费者5
1.2.5broker和集群6
1.2.6多集群7
1.3为什么选择kafka8
1.3.1多个生产者8
1.3.2多个消费者8
1.3.3基于磁盘的数据保留9
1.3.4伸缩9
1.3.5高能9
1.3.6台特9
1.4数据生态系统9
1.5起源故事11
1.5.1linkedin的问题11
1.5.2kafka的诞生12
1.5.3走向开源12
1.5.4商业化13
1.5.5命名13
1.6开始kafka之旅13
第2章安装kafka14
2.1环境配置14
2.1.1选择作系统14
2.1.2安装java14
2.1.3安装zookeeper15
2.2安装broker17
2.3配置broker18
2.3.1常规配置参数18
2.3.2主题的默认配置20
2.4选择硬件24
2.4.1磁盘吞吐量25
2.4.2磁盘容量25
2.4.3内存25
2.4.4网络25
2.4.5cpu26
2.5云端的kafka26
2.5.1微软azure26
2.5.2aws26
2.6配置kafka集群27
2.6.1需要多少个broker27
2.6.2broker配置28
2.6.3作系统调优28
2.7生产环境的注意事项31
2.7.1垃圾回收器选项31
2.7.2数据中心布局32
2.7.3共享zookeeper32
2.8小结33
第3章kafka生产者——向kafka写入数据34
3.1生产者概览35
3.2创建kafka生产者36
3.3发送消息到kafka37
3.3.1同步发送消息38
3.3.2异步发送消息39
3.4生产者配置39
3.4.1client.id40
3.4.2acks40
3.4.3消息传递时间41
3.4.4linger.ms43
3.4.5buffer.memory43
3.4.6pression.type43
3.4.7batch.size43
3.4.8max.in.flight.requests.per.connection43
3.4.9max.request.size44
3.4.10receive.buffer.bytes和send.buffer.bytes44
3.4.11enable.idempotence44
3.5序列化器45
3.5.1自定义序列化器45
3.5.2使用avro序列化数据47
3.5.3在kafka中使用avro记录48
3.6分区51
3.7标头52
3.853
3.9配额和节流54
3.10小结56
第4章kafka消费者——从kafka读取数据57
4.1kafka消费者相关概念57
4.1.1消费者和消费者群组57
4.1.2消费者群组和分区再均衡60
4.1.3群组固定成员62
4.2创建kafka消费者63
4.3订阅主题63
4.4轮询64
4.5配置消费者66
4.5.1fetch.min.bytes66
4.5.2fetch.max.wait.ms66
4.5.3fetch.max.bytes66
4.5.4max.poll.records67
4.5.5max.partition.fetch.bytes67
4.5.6session.timeout.ms和heartbeat.interval.ms67
4.5.7max.poll.interval.ms67
4.5.8default.api.timeout.ms68
4.5.9request.timeout.ms68
4.5.10auto.offset.reset68
4.5.11enable.auto.mit68
4.5.12partition.assignment.strategy68
4.5.13client.id69
4.5.14client.rack69
4.5.15group.instance.id70
4.5.16receive.buffer.bytes和send.buffer.bytes70
4.5.17offsets.retention.minutes70
4.6提交和偏移量70
4.6.1自动提交71
4.6.2提交当前偏移量72
4.6.3异步提交73
4.6.4同步和异步组合提交74
4.6.5提交特定的偏移量75
4.7再均衡器76
4.8从特定偏移量位置读取记录78
4.9如何退出79
4.10反序列化器80
4.10.1自定义反序列化器81
4.10.2在消费者里使用avro反序列器83
4.11独立的消费者:为什么以及怎样使用不属于任何群组的消费者83
4.12小结84
第5章编程式管理kafka85
5.1adminclient概览85
5.1.1异步和终一致api86
5.1.2配置参数86
5.1.3扁的结构86
5.1.4额外的话86
5.2adminclient生命周期:创建、配置和关闭87
5.2.1client.dns.lookup87
5.2.2request.timeout.ms88
5.3基本的主题管理作88
5.4配置管理91
5.5消费者群组管理92
5.5.1查看消费者群组93
5.5.2修改消费者群组94
5.6集群元数据95
5.7的管理作96
5.7.1为主题添加分区96
5.7.2从主题中删除消息96
5.7.3首领选举97
5.7.4重新分配副本98
5.8测试99
5.9小结101
第6章深入kafka102
6.1集群的成员关系102
6.2控制器103
6.3复制105
6.4处理请求107
6.4.1生产请求109
6.4.2获取请求109
6.4.3其他请求111
6.5物理存储112
6.5.1分层存储113
6.5.2分区的分配114
6.5.3文件管理115
6.5.4文件格式115
6.5.5索引117
6.5.6压实117
6.5.7压实的工作118
6.5.8被删除的事件119
6.5.9何时会压实主题119
6.6小结120
第7章可靠的数据传递121
7.1可靠保证121
7.2复制122
7.3broker配置123
7.3.1复制系数123
7.3.2不的首领选举125
7.3.3少同步副本126
7.3.4保持副本同步126
7.3.5持久化到磁盘126
7.4在可靠的系统中使用生产者127
7.4.1发送确认127
7.4.2配置生产者的重试参数128
7.4.3额外的错误处理129
7.5在可靠的系统中使用消费者129
7.5.1消费者的可靠配置130
7.5.2手动提交偏移量130
7.6验证系统可靠132
7.6.1验证配置132
7.6.2验证应用程序133
7.6.3在生产环境中监控可靠133
7.7小结134
第8章一次语义135
8.1幂等生产者135
8.1.1幂等生产者的工作136
8.1.2幂等生产者的局限137
8.1.3如何使用幂等生产者138
8.2事务138
8.2.1事务的应用场景139
8.2.2事务可以解决哪些问题139
8.2.3事务是如何保证一次的140
8.2.4事务不能解决哪些问题141
8.2.5如何使用事务143
8.2.6事务id和隔离145
8.2.7事务的工作146
8.3事务的能148
8.4小结148
第9章构建数据管道149
9.1构建数据管道时需要虑的问题150
9.1.1及时150
9.1.2可靠150
9.1.3高吞吐量和动态吞吐量151
9.1.4数据格式151
9.1.5转换152
9.1.6安全152
9.1.7故障处理153
9.1.8耦合和灵活153
9.2何时使用connect api或客户端api154
9.3kafkaconnect154
9.3.1运行connect155
9.3.2连接器示例:文件数据源和文件数据池157
9.3.3连接器示例:从mysql到elasticsearch159
9.3.4单一消息转换164
9.3.5深入理解connect167
9.4connect之外的选择169
9.4.1其他数据存储系统的数据摄入框架169
9.4.2基于图形界面的etl工具169
9.4.3流式处理框架170
9.5小结170
0章跨集群数据镜像171
10.1跨集群镜像的应用场景171
10.2多集群架构172
10.2.1跨数据中心通信的一些现实情况173
10.2.2星型架构173
10.2.3双活架构175
10.2.4主备架构176
10.2.5延展集群180
10.3mirrormaker181
10.3.1配置mirrormaker183
10.3.2多集群复制拓扑184
10.3.3保护mirrormaker185
10.3.4在生产环境中部署mirrormaker186
10.3.5mirrormaker调优189
10.4其他跨集群镜像方案190
10.4.1uber的ureplicator190
10.4.2linkedin的brooklin191
10.4.3confluent的跨数据中心镜像解决方案191
10.5小结193
1章保护kafka194
11.1锁住kafka194
11.2安全协议196
11.3身份验证197
11.3.1ssl198
11.3.2sasl201
11.3.3重新认证210
11.3.4安全更新不停机211
11.4加密212
11.5授权214
11.5.1aclauthorizer214
11.5.2自定义授权217
11.5.3安全方面的虑219
11.6审计219
11.7保护zookeeper220
11.7.1sasl220
11.7.2ssl221
11.7.3授权221
11.8保护台222
11.9小结223
2章管理kafka225
12.1主题作225
12.1.1创建新主题226
12.1.2列出集群中的所有主题227
12.1.3列出主题详情227
12.1.4增加分区228
12.1.5减少分区229
12.1.6删除主题229
12.2消费者群组230
12.2.1列出并描述消费者群组信息230
12.2.2删除消费者群组231
12.2.3偏移量管理232
12.3动态配置变更233
12.3.1覆盖主题的默认配置233
12.3.2覆盖客户端和用户的默认配置234
12.3.3覆盖broker的默认配置235
12.3.4查看被覆盖的配置236
12.3.5移除被覆盖的配置236
12.4生产和消费236
12.4.1控制台生产者237
12.4.2控制台消费者238
12.5分区管理241
12.5.1首领选举241
12.5.2修改分区的副本242
12.5.3转储志片段246
12.5.4副本验证248
12.6其他工具248
12.7不安全的作249
12.7.1移动集群控制器249
12.7.2移除待删除的主题249
12.7.3手动删除主题250
12.8小结250
3章监控kafka251
13.1指标基础251
13.1.1指标来自哪里251
13.1.2需要哪些指标252
13.1.3应用程序健康检测253
13.2服务级别目标254
13.2.1服务级别定义254
13.2.2哪些指标是好的sli255
13.2.3将slo用于告警255
13.3broker的指标256
13.3.1诊断集群问题257
13.3.2非同步分区的艺术257
13.3.3broker指标261
13.3.4主题的指标和分区的指标268
13.3.5java虚拟机监控269
13.3.6作系统监控270
13.3.7志272
13.4客户端监控272
13.4.1生产者指标272
13.4.2消费者指标274
13.4.3配额276
13.5滞后监控277
13.6端到端监控277
13.7小结278
4章流式处理279
14.1什么是流式处理280
14.2流式处理相关概念282
14.2.1拓扑282
14.2.2时间282
14.2.3284
14.2.4流和表284
14.2.5时间窗285
14.2.6处理保证287
14.3流式处理设计模式287
14.3.1单事件处理287
14.3.2使用本地288
14.3.3多阶段处理和重分区289
14.3.4使用外部查找:流和表的连接290
14.3.5表与表的连接291
14.3.6流与流的连接291
14.3.7乱序事件292
14.3.8重新处理293
14.3.9交互式查询294
14.4streams示例294
14.4.1字数统计294
14.4.2股票市场统计296
14.4.3填充点击事件流298
14.5streams架构概览300
14.5.1构建拓扑300
14.5.2优化拓扑301
14.5.3测试拓扑301
14.5.4扩展拓扑302
14.5.5在故障中存活下来304
14.6流式处理应用场景305
14.7如何选择流式处理框架306
14.8小结307
附录a在其他作系统中安装kafka309
附录b其他kafka工具314
内容简介:
本书全面介绍kafka的技术和应用。内容包括如何安装和配置kafka、如何使用kafka api、kafka的设计原则和可靠保证,以及kafka的一些架构细节,如复制协议、控制器和存储层。本书列举了一些非常流行的kafka应用场景,比如基于事件驱动的微服务系统的消息线、流式处理应用程序和大规模数据管道。通过学本书,你不仅能够深入理解这项大数据核心技术,还能够将所学知识付诸实践,在生产环境中更好地运行kafka,并基于它构建稳健的高能应用程序。
本书既适用于使用kafka api开发应用程序的工程师和大数据台开发人员,也适用于在生产环境中与kafka打交道的运维工程师、站点可靠工程师和系统管理员,还适用于为所在公司设计和构建数据基础架构的数据架构师和数据工程师。
作者简介:
【作者介绍】
格温沙皮拉(gwen hapira)是kafka项目的mitter和pmc成员,也是confluent的工程主管,云原生kafka团队,致力于打造更具弹和可伸缩的kafka云服务。
托德帕利诺(todd palino)是linkedin的站点可靠工程师,他开发了kafka消费者监控工具burrow。
拉吉尼西瓦拉姆(rajini ivaram)是kafka项目的mitter和pmc成员。她在confluent为kafka设计和开发跨集群复制和安全功能。
克里特佩蒂(krit petty)是linkedin的kafka站点可靠工程经理,曾负责将linkedin的大规模kafka集群迁移到微软的azure云。
【译者介绍】
薛命灯,于厦门大学软件学院,十余年软件开发和架构经验,infoq社区编辑。另译有硅谷生产微服务等书。公众号codedeep。
— 没有更多了 —
以下为对购买帮助不大的评价