深入解析Apache Pulsar

深入解析Apache Pulsar
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-11
版次: 1
ISBN: 9787121422331
定价: 118.00
装帧: 其他
开本: 其他
纸张: 胶版纸
页数: 308页
18人买过
  • 本书由浅入深地讲解了Apache Pulsar中各个组件的使用方式及内部实现原理,通过阅读本书,读者可以快速、轻松地了解Apache Pulsar内部的运行机制。第1章介绍Apache Pulsar的背景,以及如何快速部署一个Apache Pulsar服务。第2章介绍Apache Pulsar客户端的实现机制与原理,包括生产者、消费者、管理流客户端等。第3章介绍Apache Pulsar中重要的逻辑组件—Broker,读者通过这部分内容可以了解Broker所有的特性。除了基础的收发消息,Apache Pulsar还能进行轻量级的函数计算、数据流转。第4章详细介绍Apache Pulsar的Function和Pulsar IO (Connector)。第5章介绍Apache Pulsar的存储层—BookKeeper,通过本章的学习,读者可以了解Apache Pulsar的数据存储模型及流程实现。第6章介绍线上实战的一些经验,包括高可用、扩/缩容、资源隔离等。 林琳,腾讯专家工程师,Apache Pulsar Committer & PMC,著有《深入理解Apache Dubbo原理与实战》,先后就职于蚂蚁金服、腾讯等公司。开源与中间件爱好者,常年混迹在开源社区,喜欢研究各种中间件的源码与设计思想,专注于中间件领域,在消息队列、微服务等方面有丰富的经验,致力于打造稳定、高效、可扩展的底层基础组件或服务。 目录 

    第1章 认识Pulsar 1 

    1.1 Pulsar的背景 1 

    1.2 Pulsar总体介绍 5 

    1.3 个Pulsar程序 7 

    1.3.1 环境的准备 7 

    1.3.2 下载Pulsar 7 

    1.3.3 Pulsar的目录结构 9 

    1.3.4 部署Pulsar 12 

    1.4 小结 18 

    第2章 客户端 19 

    2.1 名词介绍 19 

    2.2 Topic 20 

    2.2.1 Topic简介 20 

    2.2.2 Topic的创建与删除 23 

    2.2.3 Topic的归属 26 

    2.2.4 Topic的迁移 29 

    2.2.5 可压缩Topic 33 

    2.3 Pulsar客户端 36 

    2.3.1 不同的客户端 37 

    2.3.2 创建管理流客户端的流程 38 

    2.3.3 创建数据流客户端的流程 41 

    2.4 生产者客户端 43 

    2.4.1 生产者客户端简介 43 

    2.4.2 生产者原理解析 48 

    2.5 消费者客户端 56 

    2.5.1 消费者客户端简介 56 

    2.5.2 创建ConsumerImpl 64 

    2.5.3 接收消息 65 

    2.5.4 确认消息 67 

    2.5.5 MultiTopicsConsumerImpl 75 

    2.5.6 ZeroQueueConsumerImpl 77 

    2.5.7 PatternMultiTopicsConsumerImpl 77 

    2.5.8 Consumer的其他接口 78 

    2.6 Reader 79 

    2.6.1 创建ReaderImpl 80 

    2.6.2 Reader的实现原理 81 

    2.7 客户端其他能力 82 

    2.7.1 连接管理与线程池管理 82 

    2.7.2 LookupService 88 

    2.7.3 MemoryLimitController 90 

    2.8 小结 91 

    第3章 Broker 92 

    3.1 Broker简介 92 

    3.1.1 Broker的启动流程 93 

    3.1.2 Broker的生产消费流程 96 

    3.2 Schema 99 

    3.2.1 Schema简介 99 

    3.2.2 Schema的类型 101 

    3.2.3 Schema的管理 105 

    3.2.4 Schema的版本与兼容性 108 

    3.2.5 Schema的实现 110 

    3.3 安全机制 112 

    3.3.1 认证授权简介 113 

    3.3.2 认证授权框架 114 

    3.3.3 默认的认证插件 117 

    3.3.4 端到端加密 131 

    3.4 配置与策略 134 

    3.4.1 配置的加载 135 

    3.4.2 动态配置的实现 135 

    3.4.3 Namespace策略 137 

    3.4.4 Topic策略 139 

    3.4.5 策略的实现 144 

    3.5 元数据管理 145 

    3.5.1 元数据简介 145 

    3.5.2 元数据的缓存 148 

    3.5.3 元数据的线程安全 150 

    3.5.4 Session检测 151 

    3.6 存储管理 153 

    3.6.1 存储模型 153 

    3.6.2 存储流程 156 

    3.6.3 游标 160 

    3.6.4 消息回溯的实现 171 

    3.6.5 数据的清理 172 

    3.6.6 BacklogSize与StorageSize 176 

    3.7 分层存储 177 

    3.7.1 分层存储的使用 178 

    3.7.2 数据的卸载与加载 179 

    3.8 扩展点 181 

    3.8.1 扩展点简介 181 

    3.8.2 ProtocolHandler扩展点 183 

    3.8.3 BrokerInterceptor 184 

    3.8.4 其他扩展点 186 

    3.9 负载管理 188 

    3.9.1 负载管理简介 188 

    3.9.2 负载的上报 190 

    3.9.3 负载策略 194 

    3.9.4 Bundle的自动分裂 196 

    3.9.5 Leader选举与Broker分配 197 

    3.10 管理流服务 198 

    3.10.1 管理流服务简介 199 

    3.10.2 REST接口的重定向 201 

    3.10.3 WebSocket 202 

    3.11 消息去重 203 

    3.12 事务消息 205 

    3.12.1 事务简介 206 

    3.12.2 事务流程 208 

    3.12.3 事务的实现 210 

    3.13 Dispatcher 214 

    3.13.1 Dispatcher流程 215 

    3.13.2 Dispatcher的实现原理 217 

    3.14 小结 219 

    第4章 Function与Pulsar IO 221 

    4.1 Function简介 222 

    4.2 Function的使用 224 

    4.3 Function的架构 230 

    4.4 Function的实现原理 233 

    4.4.1 服务的启动 233 

    4.4.2 LeaderService的实现 234 

    4.4.3 MembershipManager与SchedulerManager的实现 235 

    4.4.4 FunctionAssignmentTailer的实现 236 

    4.4.5 FunctionMetaDataManager的实现 236 

    4.4.6 FunctionRuntimeManager的实现 237 

    4.5 Runtime的实现 240 

    4.5.1 ThreadRuntime的实现 240 

    4.5.2 ProcessRuntime的实现 242 

    4.5.3 KubernetesRuntime的实现 243 

    4.6 Pulsar IO简介 244 

    4.7 部署Connector 245 

    4.8 开发Connector 247 

    4.9 Pulsar IO的实现 249 

    4.10 小结 249 

    第5章 BookKeeper存储 251 

    5.1 项目结构 251 

    5.2 存储简介 252 

    5.3 数据写入的实现 255 

    5.4 数据读取的实现 259 

    5.5 自愈能力 260 

    5.6 小结 263 

    第6章 实战Pulsar 264 

    6.1 高可用 264 

    6.1.1 跨区域感知 266 

    6.1.2 跨地域复制 271 

    6.1.3 跨地域复制的使用 277 

    6.1.4 跨地域复制的实现 280 

    6.2 扩/缩容 284 

    6.3 资源隔离 287 

    6.3.1 资源隔离的使用 287 

    6.3.2 资源隔离的实现 290 

    6.4 小结 291
  • 内容简介:
    本书由浅入深地讲解了Apache Pulsar中各个组件的使用方式及内部实现原理,通过阅读本书,读者可以快速、轻松地了解Apache Pulsar内部的运行机制。第1章介绍Apache Pulsar的背景,以及如何快速部署一个Apache Pulsar服务。第2章介绍Apache Pulsar客户端的实现机制与原理,包括生产者、消费者、管理流客户端等。第3章介绍Apache Pulsar中重要的逻辑组件—Broker,读者通过这部分内容可以了解Broker所有的特性。除了基础的收发消息,Apache Pulsar还能进行轻量级的函数计算、数据流转。第4章详细介绍Apache Pulsar的Function和Pulsar IO (Connector)。第5章介绍Apache Pulsar的存储层—BookKeeper,通过本章的学习,读者可以了解Apache Pulsar的数据存储模型及流程实现。第6章介绍线上实战的一些经验,包括高可用、扩/缩容、资源隔离等。
  • 作者简介:
    林琳,腾讯专家工程师,Apache Pulsar Committer & PMC,著有《深入理解Apache Dubbo原理与实战》,先后就职于蚂蚁金服、腾讯等公司。开源与中间件爱好者,常年混迹在开源社区,喜欢研究各种中间件的源码与设计思想,专注于中间件领域,在消息队列、微服务等方面有丰富的经验,致力于打造稳定、高效、可扩展的底层基础组件或服务。
  • 目录:
    目录 

    第1章 认识Pulsar 1 

    1.1 Pulsar的背景 1 

    1.2 Pulsar总体介绍 5 

    1.3 个Pulsar程序 7 

    1.3.1 环境的准备 7 

    1.3.2 下载Pulsar 7 

    1.3.3 Pulsar的目录结构 9 

    1.3.4 部署Pulsar 12 

    1.4 小结 18 

    第2章 客户端 19 

    2.1 名词介绍 19 

    2.2 Topic 20 

    2.2.1 Topic简介 20 

    2.2.2 Topic的创建与删除 23 

    2.2.3 Topic的归属 26 

    2.2.4 Topic的迁移 29 

    2.2.5 可压缩Topic 33 

    2.3 Pulsar客户端 36 

    2.3.1 不同的客户端 37 

    2.3.2 创建管理流客户端的流程 38 

    2.3.3 创建数据流客户端的流程 41 

    2.4 生产者客户端 43 

    2.4.1 生产者客户端简介 43 

    2.4.2 生产者原理解析 48 

    2.5 消费者客户端 56 

    2.5.1 消费者客户端简介 56 

    2.5.2 创建ConsumerImpl 64 

    2.5.3 接收消息 65 

    2.5.4 确认消息 67 

    2.5.5 MultiTopicsConsumerImpl 75 

    2.5.6 ZeroQueueConsumerImpl 77 

    2.5.7 PatternMultiTopicsConsumerImpl 77 

    2.5.8 Consumer的其他接口 78 

    2.6 Reader 79 

    2.6.1 创建ReaderImpl 80 

    2.6.2 Reader的实现原理 81 

    2.7 客户端其他能力 82 

    2.7.1 连接管理与线程池管理 82 

    2.7.2 LookupService 88 

    2.7.3 MemoryLimitController 90 

    2.8 小结 91 

    第3章 Broker 92 

    3.1 Broker简介 92 

    3.1.1 Broker的启动流程 93 

    3.1.2 Broker的生产消费流程 96 

    3.2 Schema 99 

    3.2.1 Schema简介 99 

    3.2.2 Schema的类型 101 

    3.2.3 Schema的管理 105 

    3.2.4 Schema的版本与兼容性 108 

    3.2.5 Schema的实现 110 

    3.3 安全机制 112 

    3.3.1 认证授权简介 113 

    3.3.2 认证授权框架 114 

    3.3.3 默认的认证插件 117 

    3.3.4 端到端加密 131 

    3.4 配置与策略 134 

    3.4.1 配置的加载 135 

    3.4.2 动态配置的实现 135 

    3.4.3 Namespace策略 137 

    3.4.4 Topic策略 139 

    3.4.5 策略的实现 144 

    3.5 元数据管理 145 

    3.5.1 元数据简介 145 

    3.5.2 元数据的缓存 148 

    3.5.3 元数据的线程安全 150 

    3.5.4 Session检测 151 

    3.6 存储管理 153 

    3.6.1 存储模型 153 

    3.6.2 存储流程 156 

    3.6.3 游标 160 

    3.6.4 消息回溯的实现 171 

    3.6.5 数据的清理 172 

    3.6.6 BacklogSize与StorageSize 176 

    3.7 分层存储 177 

    3.7.1 分层存储的使用 178 

    3.7.2 数据的卸载与加载 179 

    3.8 扩展点 181 

    3.8.1 扩展点简介 181 

    3.8.2 ProtocolHandler扩展点 183 

    3.8.3 BrokerInterceptor 184 

    3.8.4 其他扩展点 186 

    3.9 负载管理 188 

    3.9.1 负载管理简介 188 

    3.9.2 负载的上报 190 

    3.9.3 负载策略 194 

    3.9.4 Bundle的自动分裂 196 

    3.9.5 Leader选举与Broker分配 197 

    3.10 管理流服务 198 

    3.10.1 管理流服务简介 199 

    3.10.2 REST接口的重定向 201 

    3.10.3 WebSocket 202 

    3.11 消息去重 203 

    3.12 事务消息 205 

    3.12.1 事务简介 206 

    3.12.2 事务流程 208 

    3.12.3 事务的实现 210 

    3.13 Dispatcher 214 

    3.13.1 Dispatcher流程 215 

    3.13.2 Dispatcher的实现原理 217 

    3.14 小结 219 

    第4章 Function与Pulsar IO 221 

    4.1 Function简介 222 

    4.2 Function的使用 224 

    4.3 Function的架构 230 

    4.4 Function的实现原理 233 

    4.4.1 服务的启动 233 

    4.4.2 LeaderService的实现 234 

    4.4.3 MembershipManager与SchedulerManager的实现 235 

    4.4.4 FunctionAssignmentTailer的实现 236 

    4.4.5 FunctionMetaDataManager的实现 236 

    4.4.6 FunctionRuntimeManager的实现 237 

    4.5 Runtime的实现 240 

    4.5.1 ThreadRuntime的实现 240 

    4.5.2 ProcessRuntime的实现 242 

    4.5.3 KubernetesRuntime的实现 243 

    4.6 Pulsar IO简介 244 

    4.7 部署Connector 245 

    4.8 开发Connector 247 

    4.9 Pulsar IO的实现 249 

    4.10 小结 249 

    第5章 BookKeeper存储 251 

    5.1 项目结构 251 

    5.2 存储简介 252 

    5.3 数据写入的实现 255 

    5.4 数据读取的实现 259 

    5.5 自愈能力 260 

    5.6 小结 263 

    第6章 实战Pulsar 264 

    6.1 高可用 264 

    6.1.1 跨区域感知 266 

    6.1.2 跨地域复制 271 

    6.1.3 跨地域复制的使用 277 

    6.1.4 跨地域复制的实现 280 

    6.2 扩/缩容 284 

    6.3 资源隔离 287 

    6.3.1 资源隔离的使用 287 

    6.3.2 资源隔离的实现 290 

    6.4 小结 291
查看详情
12
相关图书 / 更多
深入解析Apache Pulsar
深入理解移动互联网
吴功宜 吴英 编著
深入解析Apache Pulsar
深入实施“四个育人”,彰显本科人才培养特色——云南大学本科教育改革与创新优秀论文集
主编唐旭光
深入解析Apache Pulsar
深入浅出C语言程序设计(第3版·微课版)
李俊·c;强振平;荣剑;张晴晖;赵毅力;钟丽辉
深入解析Apache Pulsar
深入浅出C#(视频教学版)
赵云
深入解析Apache Pulsar
深入实践Kotlin元编程
霍丙乾 著
深入解析Apache Pulsar
深入北方的小路(布克奖震撼杰作。人生在世,行走于地狱屋顶,凝望花朵。余华力荐“了不起的小说”!)
[澳]理查德·弗兰纳根 著;新经典 出品
深入解析Apache Pulsar
深入学习习近平关于科技创新的重要论述
科学技术部编写组 著
深入解析Apache Pulsar
深入浅出IoT:完整项目通关实战
[英]吉姆·贝内特(Jim Bennett) 著;柴火创客空间 译;[美]珍·福克斯(Jen Fox);[美]珍·卢珀(Jen Looper)
深入解析Apache Pulsar
深入浅出SSD:固态存储核心技术、原理与实战 第2版
SSDFans 胡波 石亮 岑彪
深入解析Apache Pulsar
深入地心 少儿科普 新华正版
英国尤斯伯恩出版公司
深入解析Apache Pulsar
深入理解FFmpeg
刘歧 赵军 杜金房 赵文杰 宋韶颍
深入解析Apache Pulsar
深入人心:数字产品设计的底层逻辑
林婕