书籍详情
分布式实时计算框架原理及实践案例
作者:王成光
出版社:电子工业出版社
出版时间:2016-09-01
ISBN:9787121296208
定价:¥79.00
购买这本书可以去
内容简介
“授人以鱼不如授人以渔”,《分布式实时计算框架原理及实践案例》是作者以如此初心写成的,主要参考当前主流分布式实时计算框架Storm的任务分发和Spark Streaming的Mini-Batch设计思想,以及底层实现技术,开源了作者自研的轻量级分布式实时计算框架——Light_drtc,并且重点介绍设计思想和相关实现技术(Kafka/RabbitMQ、Redis/SSDB 、GuavaCache、MongoDB、HBase、ES/SolrCloud、Thrift、Avro、Jetty),最后从工程角度向大家介绍完整的个性化推荐系统,并实例介绍Light_drtc在用户画像实时更新的应用。《分布式实时计算框架原理及实践案例》描述浅显易懂,希望读者理解分布式实时计算的实现原理,并快速上手解决实际问题。
作者简介
王成光,目前任职一点资讯研发架构师,硕士毕业8年,曾先后任职窝窝团、优购、搜狐、网易等架构师、技术专家职位,专注于搜索、推荐、数据挖掘领域研发工作,涉足技术范围:搜索:ES/SolrCloud分布式计算:Hadoop、Storm和SparkMQ: Kafka、RabbitMQ、ActiveMQ、ZeroMQNoSQL: Reids/SSDB、Mongo3.0、HBase1.0、AeroSpikeSOA微服务: RPC和Web Service
目录
第1 章 分布式实时计算框架介绍.1
1.1 分布式计算Hadoop.1
1.2 分布式实时计算........3
1.2.1 Spark Streaming..3
1.2.2 Storm .......6
1.2.3 其他框架.8
1.3 为什么自研......8
1.4 总结......10
第2 章 light_drtc 简介及使用说明......... 11
2.1 light_drtc 框架简介 11
2.2 light_drtc 代码结构12
2.3 light_drtc 重要配置项.......14
2.4 light_drtc 和Storm 比较...15
2.5 light_drtc 使用说明16
2.5.1 ACN(AN 和CN 整合)作为独立服务....16
2.5.2 CN、AN 作为独立服务........20
2.5.3 任务计算JN.....23
2.6 总结......26
第3 章 light_drtc 核心技术实现...27
3.1 light_drtc 技术架构27
3.2 light_drtc 计算框架设计思想....30
3.2.1 CN 设计思想....30
3.2.2 AN 多主模式设计思想..........31
3.2.3 JN 设计思想.....34
3.3 light_drtc 核心技术的实现.........36
3.3.1 实时收集数据CN.......36
3.3.2 任务协调管理AN.......40
3.3.3 任务计算JN.....49
3.4 总结......50
第4 章 消息队列MQ.51
4.1 消息队列使用场景.51
4.2 消息队列原理..........53
4.2.1 MQ 使用流程...53
4.2.2 MQ 基本概念...54
4.2.3 MQ 通信模式...55
4.2.4 目前知名MQ 比较.....56
4.3 MQ 消费状态监控..61
4.3.1 KafkaOffsetMonitor 介绍.......62
4.3.2 KafkaOffsetMonitor 部署.......62
4.4 RabbitMQ 和Kafka 的基本使用.........64
4.4.1 RabbitMQ 读写实例...64
4.4.2 Kafka 读写实例68
4.5 总结......71
第5 章 内存数据库Redis3.0 及SSDB..........72
5.1 Redis 相关介绍........72
5.1.1 Redis3.0 集群架构......73
5.1.2 Redis3.0 集群选举与容错......74
5.1.3 SSDB 简介.......75
5.2 Redis3.0 集群搭建..76
5.2.1 集群所依赖的Ruby 环境......77
5.2.2 Redis 集群创建77
5.2.3 Redis 集群验证78
5.2.4 SSDB 简单部署..........79
5.3 Redis 管理及使用...81
5.3.1 Redis 基本使用81
5.3.2 Redis 管理........83
5.4 Redis 客户端应用...86
5.4.1 Redis3.0 客户端..........86
5.4.2 SSDB 客户端...89
5.5 本地缓存Guava Cache.....90
5.5.1 认识Guava Cache .......90
5.5.2 Guava Cache 使用.......91
5.5.3 Java 客户端使用.........94
5.6 总结......97
第6 章 NoSQL:MongoDB3.0 和HBase1.0 .........98
6.1 MongoDB3.0 和HBase1.0 新特性......99
6.1.1 MongoDB3.0 新特性..99
6.1.2 HBase1.0 新特性.......102
6.1.3 MongoDB 和HBase 比较....104
6.2 MongoDB3.0 集群和索引........105
6.2.1 MongoDB3.0 集群....105
6.2.2 Mongo 索引介绍.......107
6.3 HBase 底层实现介绍......108
6.3.1 HBase 相关Hadoop 体系....108
6.3.2 HBase 系统架构........ 110
6.4 Mongo 和HBase 客户端使用. 113
6.4.1 Mongo 客户端 113
6.4.2 HBase 客户端. 119
6.5 总结.....124
第7 章 全文检索:ElasticSearch2.x..125
7.1 认识ElasticSearch 和Solr........125
7.1.1 ElasticSearch 和Solr 基本介绍......125
7.1.2 ES 基本概念...127
7.1.3 ES 和SolrCloud 集群结构...129
7.1.4 ES 使用案例...130
7.2 ES 和Solr 比较分析.......131
7.2.1 ES 和Solr 发展比较.131
7.2.2 ES 和Solr 综合比较.132
7.3 ES 集群介绍135
7.3.1 插件安装........135
7.3.2 中文分词安装136
7.3.3 ES2.X 集群节点类型138
7.3.4 ES 配置事项...142
7.4 ES 客户端使用......144
7.4.1 ES 客户端连接..........145
7.4.2 ES 基本操作...146
7.4.3 ES 高级使用...150
7.5 ES 在自研框架中的作用..........154
7.6 总结.....155
第8 章 微服务架构通信——RPC 和Web Service ........156
8.1 微服务架构由来....156
8.1.1 微服务与SOA 比较..157
8.1.2 微服务架构的优缺点159
8.1.3 微服务雪崩效应的防范.......161
8.2 RPC 介绍及实践...163
8.2.1 Thrift/Nifty 介绍........163
8.2.2 Avro 介绍.......168
8.2.3 Dubbo/Dubbox 介绍..180
8.2.4 GRPC/ProtoBuf 介绍185
8.2.5 ZeroC ICE.......191
8.3 Web Service 介绍及实践..........199
8.3.1 SOAP 和Rest .200
8.3.2 JWS(JDK 自身实现Web Service)........202
8.3.3 Jetty:嵌入式Servlet 容器..204
8.3.4 基于Spring MVC......206
8.3.5 其他Web Service 框架........ 211
8.4 总结.....212
第9 章 综合实例:新闻推荐中的用户画像近实时更新213
9.1 个性化推荐系统组成.....213
9.1.1 用户行为收集214
9.1.2 行为日志解析216
9.1.3 常用推荐算法221
9.1.4 用户画像数据仓库...245
9.1.5 元数据索引库247
9.1.6 用户推荐服务248
9.2 新闻推荐中用户画像近实时更新设计......248
9.2.1 新闻推荐中用户画像构成...250
9.2.2 新闻推荐中用户画像标签数据字典.........251
9.2.3 新闻推荐用户画像实时更新流程..257
9.3 新闻推荐用户画像近实时更新技术实现..260
9.3.1 Storm 接入Kafka 实时计算实例...260
9.3.2 Spark Streaming 接入Kafka 实时计算实例........265
9.3.3 Light_drtc 接入Kafka..........270
9.3.4 用户画像实时更新核心实现..........270
9.4 总结.....280
1.1 分布式计算Hadoop.1
1.2 分布式实时计算........3
1.2.1 Spark Streaming..3
1.2.2 Storm .......6
1.2.3 其他框架.8
1.3 为什么自研......8
1.4 总结......10
第2 章 light_drtc 简介及使用说明......... 11
2.1 light_drtc 框架简介 11
2.2 light_drtc 代码结构12
2.3 light_drtc 重要配置项.......14
2.4 light_drtc 和Storm 比较...15
2.5 light_drtc 使用说明16
2.5.1 ACN(AN 和CN 整合)作为独立服务....16
2.5.2 CN、AN 作为独立服务........20
2.5.3 任务计算JN.....23
2.6 总结......26
第3 章 light_drtc 核心技术实现...27
3.1 light_drtc 技术架构27
3.2 light_drtc 计算框架设计思想....30
3.2.1 CN 设计思想....30
3.2.2 AN 多主模式设计思想..........31
3.2.3 JN 设计思想.....34
3.3 light_drtc 核心技术的实现.........36
3.3.1 实时收集数据CN.......36
3.3.2 任务协调管理AN.......40
3.3.3 任务计算JN.....49
3.4 总结......50
第4 章 消息队列MQ.51
4.1 消息队列使用场景.51
4.2 消息队列原理..........53
4.2.1 MQ 使用流程...53
4.2.2 MQ 基本概念...54
4.2.3 MQ 通信模式...55
4.2.4 目前知名MQ 比较.....56
4.3 MQ 消费状态监控..61
4.3.1 KafkaOffsetMonitor 介绍.......62
4.3.2 KafkaOffsetMonitor 部署.......62
4.4 RabbitMQ 和Kafka 的基本使用.........64
4.4.1 RabbitMQ 读写实例...64
4.4.2 Kafka 读写实例68
4.5 总结......71
第5 章 内存数据库Redis3.0 及SSDB..........72
5.1 Redis 相关介绍........72
5.1.1 Redis3.0 集群架构......73
5.1.2 Redis3.0 集群选举与容错......74
5.1.3 SSDB 简介.......75
5.2 Redis3.0 集群搭建..76
5.2.1 集群所依赖的Ruby 环境......77
5.2.2 Redis 集群创建77
5.2.3 Redis 集群验证78
5.2.4 SSDB 简单部署..........79
5.3 Redis 管理及使用...81
5.3.1 Redis 基本使用81
5.3.2 Redis 管理........83
5.4 Redis 客户端应用...86
5.4.1 Redis3.0 客户端..........86
5.4.2 SSDB 客户端...89
5.5 本地缓存Guava Cache.....90
5.5.1 认识Guava Cache .......90
5.5.2 Guava Cache 使用.......91
5.5.3 Java 客户端使用.........94
5.6 总结......97
第6 章 NoSQL:MongoDB3.0 和HBase1.0 .........98
6.1 MongoDB3.0 和HBase1.0 新特性......99
6.1.1 MongoDB3.0 新特性..99
6.1.2 HBase1.0 新特性.......102
6.1.3 MongoDB 和HBase 比较....104
6.2 MongoDB3.0 集群和索引........105
6.2.1 MongoDB3.0 集群....105
6.2.2 Mongo 索引介绍.......107
6.3 HBase 底层实现介绍......108
6.3.1 HBase 相关Hadoop 体系....108
6.3.2 HBase 系统架构........ 110
6.4 Mongo 和HBase 客户端使用. 113
6.4.1 Mongo 客户端 113
6.4.2 HBase 客户端. 119
6.5 总结.....124
第7 章 全文检索:ElasticSearch2.x..125
7.1 认识ElasticSearch 和Solr........125
7.1.1 ElasticSearch 和Solr 基本介绍......125
7.1.2 ES 基本概念...127
7.1.3 ES 和SolrCloud 集群结构...129
7.1.4 ES 使用案例...130
7.2 ES 和Solr 比较分析.......131
7.2.1 ES 和Solr 发展比较.131
7.2.2 ES 和Solr 综合比较.132
7.3 ES 集群介绍135
7.3.1 插件安装........135
7.3.2 中文分词安装136
7.3.3 ES2.X 集群节点类型138
7.3.4 ES 配置事项...142
7.4 ES 客户端使用......144
7.4.1 ES 客户端连接..........145
7.4.2 ES 基本操作...146
7.4.3 ES 高级使用...150
7.5 ES 在自研框架中的作用..........154
7.6 总结.....155
第8 章 微服务架构通信——RPC 和Web Service ........156
8.1 微服务架构由来....156
8.1.1 微服务与SOA 比较..157
8.1.2 微服务架构的优缺点159
8.1.3 微服务雪崩效应的防范.......161
8.2 RPC 介绍及实践...163
8.2.1 Thrift/Nifty 介绍........163
8.2.2 Avro 介绍.......168
8.2.3 Dubbo/Dubbox 介绍..180
8.2.4 GRPC/ProtoBuf 介绍185
8.2.5 ZeroC ICE.......191
8.3 Web Service 介绍及实践..........199
8.3.1 SOAP 和Rest .200
8.3.2 JWS(JDK 自身实现Web Service)........202
8.3.3 Jetty:嵌入式Servlet 容器..204
8.3.4 基于Spring MVC......206
8.3.5 其他Web Service 框架........ 211
8.4 总结.....212
第9 章 综合实例:新闻推荐中的用户画像近实时更新213
9.1 个性化推荐系统组成.....213
9.1.1 用户行为收集214
9.1.2 行为日志解析216
9.1.3 常用推荐算法221
9.1.4 用户画像数据仓库...245
9.1.5 元数据索引库247
9.1.6 用户推荐服务248
9.2 新闻推荐中用户画像近实时更新设计......248
9.2.1 新闻推荐中用户画像构成...250
9.2.2 新闻推荐中用户画像标签数据字典.........251
9.2.3 新闻推荐用户画像实时更新流程..257
9.3 新闻推荐用户画像近实时更新技术实现..260
9.3.1 Storm 接入Kafka 实时计算实例...260
9.3.2 Spark Streaming 接入Kafka 实时计算实例........265
9.3.3 Light_drtc 接入Kafka..........270
9.3.4 用户画像实时更新核心实现..........270
9.4 总结.....280
猜您喜欢