正版包邮 Apache Kafka源码剖析+Netty实战

正版包邮 Apache Kafka源码剖析+Netty实战 pdf epub mobi txt 电子书 下载 2025

承接 住宅 自建房 室内改造 装修设计 免费咨询 QQ:624617358 一级注册建筑师 亲自为您回答、经验丰富,价格亲民。无论项目大小,都全力服务。期待合作,欢迎咨询!QQ:624617358
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 蓝墨水图书专营店
出版社: 电子工业出版社
ISBN:9787121313455
商品编码:15066529215

具体描述

Apache Kafka源码剖析 +Netty实战

书号:


9787115453686 9787121313455


Apache Kafka源码剖析

 著内容简介:

本书以 Kafka 0.10.0 版本源码为基础,针对 Kafka的架构设计到实现细节进行详细阐述。本书共5 章,从 Kafka 的应用场景、源码环境搭建开始逐步深入,对 Kafka 的核心概念进行分析介绍,对 Kafka 生产者、消费者、服务端的源码进行深入的剖析,·后介绍 Kafka 常用的管理脚本实现,让读者不仅从宏观设计上了解 Kafka,而且能够深入到 Kafka 的细节设计之中。在源码分析的过程中,还穿插了笔者工作积累的经验分析和对 Kafka 设计的理解,希望能够让读者可以举一反三,不仅知其然,而且知其所以然。  本书旨在为读者阅读 Kafka 源码提供帮助和指导,让读者更加深入地了解 Kafka 的运行原理、设计理念,让读者在设计分布式系统时可以参考 Kafka 的**设计。本书的内容对于读者全面提升自己的技术能力有很大帮助。

作者简介

徐郡明,武汉大学硕士,目前就职于航天科技集团旗下某研究所,主要负责政企云平台基础架构的设计和研发工作,有多年Kafka应用和设计经验。长期关注大数据处理相关技术以及Kafka的发展。


第1章 快速入门
1.1 Kafka简介
1.2 以Kafka为中心的解决方案
1.3 Kafka核心概念
1.4 搭建Kafka源码环境
本章小结

第2章 生产者
2.1  KafkaProducer使用示例
2.2 KafkaProducer分析
2.2.1 ProducerInterceptors&ProducerInterceptor
2.2.2 Kafka集群元数据
2.2.3 Serializer&Deserializer
2.2.4 Partitioner
2.3 RecordAccumulator分析
2.3.1 MemoryRecords
2.3.2 RecordBatch
2.3.3 BufferPool
2.3.4 RecordAccumulator
2.4 Sender分析
2.4.1 创建请求
2.4.2 KSelector
2.4.3 InFlightRequests
2.4.4 MetadataUpdater
2.4.5 NetworkClient
本章小结

第3章 消费者
3.1 KafkaConsumer使用示例
3.2 传递保证语义(Delivery guarantee semantic)
3.3 Consumer Group Rebalance设计
3.4 KafkaConsumer分析
3.4.1 ConsumerNetworkClient
3.4.2 SubscriptionState
3.4.3 ConsumerCoordinator
3.4.4 PartitionAssignor分析
3.4.5 Heartbeat分析
3.4.6 Rebalance实现
3.4.7 offset操作
3.4.8 Fetcher
3.4.9 KafkaConsumer分析总结
本章小结

第4章 Kafka服务端
4.1 网络层
4.1.1 Reactor模式
4.1.2 SocketServer
4.1.3 AbstractServerThread
4.1.4 Acceptor
4.1.5 Processor
4.1.6 RequestChannel
4.2 API层
4.2.1 KafkaRequestHandler
4.2.2 KafkaApis
4.3 日志存储
4.3.1 基本概念
4.3.2 FileMessageSet
4.3.3 ByteBufferMessageSet
4.3.4 OffsetIndex
4.3.5 LogSegment
4.3.6 Log
4.3.7 LogManager
4.4 DelayedOperationPurgatory组件
4.4.1 TimingWheel
4.4.2 SystemTimer
4.4.3 DelayedOperation
4.4.4 DelayedOperationPurgatory
4.4.5 DelayedProduce
4.4.6 DelayedFetch
4.5 副本机制
4.5.1 副本
4.5.2 分区
4.5.3 ReplicaManager
4.6 KafkaController
4.6.1 ControllerChannelManager
4.6.2 ControllerContext
4.6.3 ControllerBrokerRequestBatch
4.6.4 PartitionStateMachine
4.6.5 PartitionLeaderSelector
4.6.6 ReplicaStateMachine
4.6.7 ZooKeeper Listener
4.6.8 KafkaController初始化与故障转移
4.6.9 处理ControlledShutdownRequest
4.7 GroupCoordinator
4.7.1 GroupMetadataManager
4.7.2 GroupCoordinator分析
4.8 身份认证与权限控制
4.8.1 配置SASL/PLAIN认证
4.8.2 身份认证
4.8.3 权限控制
4.9 Kafka监控
4.9.1 JMX简介
4.9.2 Metrics简介
4.9.3 Kafka中的Metrics
4.9.4 Kafka的监控功能
4.9.5 监控KSelector的指标

第5章 Kafka Tool
5.1 kafka-server-start脚本
5.2 kafka-topics脚本
5.2.1 创建Topic
5.2.2 修改Topic
5.3 kafka-preferred-replica-election脚本
5.4 kafka-reassign-partitions脚本
5.5 kafka-console-producer脚本
5.6 kafka-console-consumer脚本
5.7 kafka-consumer-groups脚本
5.8 DumpLogSegments
5.9 kafka-producer-perf-test脚本
5.10 kafka-consumer-perf-test脚本
5.11 kafka-mirror-maker脚本
本章小结



Netty实战

Netty之父Trustin Lee作序推荐 含有大量即用型的优质示例 附带行业一线公司的案例研究 极实用的Netty技术书
本书是为想要或者正在使用Java 从事高性能网络编程的人而写的,循序渐进地介绍了Netty各个方面的内容。 
  本书共分为4 个部分:,部分详细地介绍Netty 的相关概念以及核心组件,第二部分介绍自定义协议经常用到的编解码器,第三部分介绍Netty 对于应用层高级协议的支持,会覆盖常见的协议及其在实践中的应用,第四部分是几个案例研究。此外,附录部分会还简单地介绍Maven,以及如何通过使用Maven 编译和运行本书中的示例。 
  阅读本书不需要读者精通Java 网络和并发编程。如果想要更加深入地理解本书背后的理念以及Netty 源码本身,可以系统地学习一下Java 网络编程、NIO、并发和异步编程以及相关的设计模式。 

目录:,部分 Netty的概念及体系结构 
第1 章 Netty——异步和事件驱动 3 
1.1 Java 网络编程 4 
1.1.1 Java NIO 5 
1.1.2 选择器 6 
1.2 Netty 简介 6 
1.2.1 谁在使用Netty 7 
1.2.2 异步和事件驱动 8 
1.3 Netty 的核心组件 9 
1.3.1 Channel 9 
1.3.2 回调 9 
1.3.3 Future 10 
1.3.4 事件和ChannelHandler 11 
1.3.5 把它们放在一起 12 
1.4 小结 13 
第2 章 你的,款Netty应用程序 14 
2.1 设置开发环境 14 
2.1.1 获取并安装Java 开发工具包 14 
2.1.2 下载并安装IDE 15 
2.1.3 下载和安装Apache Maven 15 
2.1.4 配置工具集 16 
2.2 Netty 客户端/服务器概览 16 
2.3 编写Echo 服务器 17 
2.3.1 ChannelHandler 和业务逻辑 17 
2.3.2 引导服务器 18 
2.4 编写Echo 客户端 21 
2.4.1 通过ChannelHandler 实现客户端逻辑 21 
2.4.2 引导客户端 22 
2.5 构建和运行Echo 服务器和客户端 24 
2.5.1 运行构建 24 
2.5.2 运行Echo 服务器和客户端 27 
2.6 小结 29 
第3 章 Netty 的组件和设计 30 
3.1 Channel、EventLoop 和ChannelFuture 30 
3.1.1 Channel 接口 31 
3.1.2 EventLoop 接口 31 
3.1.3 ChannelFuture 接口 32 
3.2 ChannelHandler 和ChannelPipeline 32 
3.2.1 ChannelHandler 接口 32 
3.2.2 ChannelPipeline 接口 33 
3.2.3 更加深入地了解ChannelHandler 34 
3.2.4 编码器和解码器 35 
3.2.5 抽象类SimpleChannelInboundHandler 35 
3.3 引导 36 
3.4 小结 37 
第4 章 传输 38 
4.1 案例研究:传输迁移 38 
4.1.1 不通过Netty 使用OIO和NIO 39 
4.1.2 通过Netty 使用OIO和NIO 41 
4.1.3 非阻塞的Netty 版本 42 
4.2 传输API 43 
4.3 内置的传输 45 
4.3.1 NIO——非阻塞I/O 46 
4.3.2 Epoll——用于Linux的本地非阻塞传输 47 
4.3.3 OIO——旧的阻塞I/O 48 
4.3.4 用于JVM 内部通信的Local 传输 48 
4.3.5 Embedded 传输 49 
4.4 传输的用例 49 
4.5 小结 51 
第5 章 ByteBuf 52 
5.1 ByteBuf 的API 52 
5.2 ByteBuf 类——Netty的数据容器 53 
5.2.1 它是如何工作的 53 
5.2.2 ByteBuf 的使用模式 53 
5.3 字节级操作 57 
5.3.1 随机访问索引 57 
5.3.2 顺序访问索引 57 
5.3.3 可丢弃字节 58 
5.3.4 可读字节 58 
5.3.5 可写字节 59 
5.3.6 索引管理 59 
5.3.7 查找操作 60 
5.3.8 派生缓冲区 60 
5.3.9 读/写操作 62 
5.3.10 更多的操作 64 
5.4 ByteBufHolder 接口 65 
5.5 ByteBuf 分配 65 
5.5.1 按需分配:ByteBufAllocator 接口 65 
5.5.2 Unpooled 缓冲区 67 
5.5.3 ByteBufUtil 类 67 
5.6 引用计数 67 
5.7 小结 68 
第6 章 ChannelHandler 和ChannelPipeline 70 
6.1 ChannelHandler 家族 70 
6.1.1 Channel 的生命周期 70 
6.1.2 ChannelHandler的生命周期 71 
6.1.3 ChannelInboundHandler接口 71 
6.1.4 ChannelOutboundHandler接口 73 
6.1.5 ChannelHandler 适配器 74 
6.1.6 资源管理 74 
6.2 ChannelPipeline 接口 76 
6.2.1 修改ChannelPipeline 78 
6.2.2 触发事件 79 
6.3 ChannelHandlerContext接口 80 
6.3.1 使用ChannelHandlerContext 82 
6.3.2 ChannelHandler 和ChannelHandlerContext 的高级用法 84 
6.4 异常处理 86 
6.4.1 处理入站异常 86 
6.4.2 处理出站异常 87 
6.5 小结 88 
第7 章 EventLoop 和线程模型 89 
7.1 线程模型概述 89 
7.2 EventLoop 接口 90 
7.2.1 Netty 4 中的I/O 和事件处理 92 
7.2.2 Netty 3 中的I/O 操作 92 
7.3 任务调度 93 
7.3.1 JDK 的任务调度API 93 
7.3.2 使用EventLoop调度任务 94 
7.4 实现细节 95 
7.4.1 线程管理 95 
7.4.2 EventLoop/线程的分配 96 
7.5 小结 98 
第8 章 引导 99 
8.1 Bootstrap 类 99 
8.2 引导客户端和无连接协议 101 
8.2.1 引导客户端 102 
8.2.2 Channel 和EventLoopGroup 的兼容性 103 
8.3 引导服务器 104 
8.3.1 ServerBootstrap 类 104 
8.3.2 引导服务器 105 
8.4 从Channel引导客户端 107 
8.5 在引导过程中添加多个ChannelHandler 108 
8.6 使用Netty 的ChannelOption 和属性 110 
8.7 引导DatagramChannel 111 
8.8 关闭 112 
8.9 小结 112 
第9 章 单元测试 113 
9.1 EmbeddedChannel概述 113 
9.2 使用EmbeddedChannel测试ChannelHandler 115 
9.2.1 测试入站消息 115 
9.2.2 测试出站消息 118 
9.3 测试异常处理 119 
9.4 小结 121 
第二部分 编解码器 
第10 章 编解码器框架 125 
10.1 什么是编解码器 125 
10.2 解码器 125 
10.2.1 抽象类ByteToMessageDecoder 126 
10.2.2 抽象类ReplayingDecoder 127 
10.2.3 抽象类MessageToMessageDecoder 128 
10.2.4 TooLongFrameException 类 130 
10.3 编码器 131 
10.3.1 抽象类MessageToByteEncoder 131 
10.3.2 抽象类MessageToMessageEncoder 132 
10.4 抽象的编解码器类 133 
10.4.1 抽象类ByteToMessageCodec 133 
10.4.2 抽象类MessageToMessageCodec 134 
10.4.3 CombinedChannelDuplexHandler 类 137 
10.5 小结 138 
第11 章 预置的ChannelHandler和编解码器 139 
11.1 通过SSL/TLS 保护Netty 应用程序 139 
11.2 构建基于Netty 的HTTP/HTTPS 应用程序 141 
11.2.1 HTTP 解码器、编码器和编解码器 141 
11.2.2 聚合HTTP 消息 143 
11.2.3 HTTP 压缩 144 
11.2.4 使用HTTPS 145 
11.2.5 WebSocket 146 
11.3 空闲的连接和超时 148 
11.4 解码基于分隔符的协议和基于长度的协议 150 
11.4.1 基于分隔符的协议 150 
11.4.2 基于长度的协议 153 
11.5 写大型数据 155 
11.6 序列化数据 1 57 
11.6.1 JDK 序列化 157 
11.6.2 使用JBoss Marshalling进行序列化 157 
11.6.3 通过Protocol Buffers序列化 159 
11.7 小结 160 
第三部分 网络协议 
第12 章 WebSocket 163 
12.1 WebSocket 简介 163 
12.2 我们的WebSocket 示例应用程序 164 
12.3 添加WebSocket支持 165 
12.3.1 处理HTTP 请求 165 
12.3.2 处理WebSocket 帧 168 
12.3.3 初始化ChannelPipeline 169 
12.3.4 引导 171 
12.4 测试该应用程序 173 
12.5 小结 176 
第13章 使用UDP 广播事件 177 
13.1 UDP 的基础知识 177 
13.2 UDP 广播 178 
13.3 UDP 示例应用程序 178 
13.4 消息 POJO:LogEvent 179 
13.5 编写广播者 180 
13.6 编写监视器 185 
13.7 运行LogEventBroadcaster 和LogEventMonitor 187 
13.8 小结 189 
第四部分 案例研究 
第14 章 案例研究,,部分 193 
14.1 Droplr—构建移动服务 193 
14.1.1 这一切的起因 193 
14.1.2 Droplr 是怎样工作的 194 
14.1.3 创造一个更加快速的上传体验 194 
14.1.4 技术栈 196 
14.1.5 性能 199 
14.1.6 小结——站在巨人的肩膀上 200 
14.2 Firebase—实时的数据同步服务 200 
14.2.1 Firebase 的架构 201 
14.2.2 长轮询 201 
14.2.3 HTTP 1.1 keep-alive和流水线化 204 
14.2.4 控制SslHandler 205 
14.2.5 Firebase 小结 207 
14.3 Urban Airship—构建移动服务 207 
14.3.1 移动消息的基础知识 207 
14.3.2 第三方递交 208 
14.3.3 使用二进制协议的例子 209 
14.3.4 直接面向设备的递交 211 
14.3.5 Netty 擅长管理大量的并发连接 212 
14.3.6 Urban Airship 小结——跨越防火墙边界 213 
14.4 小结 214 
第15 章 案例研究,第二部分 215 
15.1 Netty 在Facebook 的使用:Nifty 和Swift 215 
15.1.1 什么是Thrift 215 
15.1.2 使用Netty 改善Java Thrift 的现状 216 

用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.qciss.net All Rights Reserved. 图书大百科 版权所有