深入分布式缓存 于君泽 等 著 pdf下载

深入分布式缓存 于君泽 等 著 百度网盘pdf下载

作者:
简介:深入分布式缓存 于君泽 等 著
出版社:
出版时间:2018-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:于君泽 等 著 著作
定  价:99
出 版 社:机械工业出版社
出版日期:2018年01月01日
页  数:397
装  帧:平装
ISBN:9787111585190
赞誉
推荐序1
推荐序2
推荐序3
作者寄语
前言
章缓存为王1
1.1什么是缓存?1
1.2为什么使用缓存?2
1.2.1从用户体验说起3
1.2.2关于系统的性能3
1.3从网站的架构发展看缓存4
1.4客户端缓存5
1.4.1页面缓存6
1.4.2浏览器缓存7
1.4.3APP上的缓存8
1.5网络中的缓存11
1.5.1Web代理缓存11
1.5.2边缘缓存12
1.6服务端缓存14
1.6.1数据库缓存14
1.6.2平台级缓存16
1.6.3应用级缓存18
第2章分布式系统理论24
2.1分布式系统概论24
2.2分布式系统概念26
2.2.1进程与线程26
2.2.2并发26
2.2.3锁26
2.2.4并行27
2.2.5集群27
2.2.6状态特性28
2.2.7系统重发与幂等性28
2.2.8硬件异常30
2.3分布式系统理论31
2.3.1CAP理论32
2.3.2CAP理论澄清34
2.3.3Paxos35
2.3.42PC38
2.3.53PC39
2.3.6Raft40
2.3.7Lease机制41
2.3.8解决“脑裂”问题43
2.3.9Quorum NWR44
2.3.10MVCC45
2.3.11Gossip46
2.4分布式系统设计策略49
2.4.1心跳检测50
2.4.2高可用设计50
2.4.3容错性52
2.4.4负载均衡53
2.5分布式系统设计实践54
2.5.1全局ID生成54
2.5.2哈希取模56
2.5.3一致性哈希57
2.5.4路由表58
2.5.5数据拆分58
第3章动手写缓存60
3.1缓存定义的规范60
3.1.1新规范的主要内容及特性60
3.1.2新规范的API介绍61
3.2缓存框架的实现62
3.2.1前期准备63
3.2.2缓存的架构介绍63
3.2.3设计思路以及知识点详解64
3.3缓存框架的使用示例74
第4章 Ehcache与Guava Cache76
4.1Ehcache的主要特性76
4.2Ehcache使用介绍77
4.2.1Ehcache架构图77
4.2.2缓存数据过期策略78
4.2.3Ehcache缓存的基本用法81
4.2.4在Spring中使用Ehcache83
4.3Ehcache集群介绍85
4.3.1集群的方式86
4.3.2如何配置集群88
4.4 Ehcache的适用场景89
4.5Guava Cache的使用92
4.5.1Guava Cache的适用场景92
4.5.2Guava Cache的创建方式93
4.5.3缓存数据删除95
4.5.4并发场景下的使用95
4.6本章小结96
第5章从Memcached开始了解集中式缓存97
5.1Memcached基本知识98
5.1.1Memcached的操作命令98
5.1.2Memcached使用场景100
5.1.3Memcached特征100
5.1.4Memcached的一些问题101
5.2Memcached内存存储102
5.2.1Slab Allocation机制102
5.2.2使用 Growth Factor进行调优104
5.2.3Item105
5.3典型问题解析106
5.3.1过期机制106
5.3.2哈希算法107
5.3.3热点问题108
5.3.4缓存与数据库的更新问题108
5.3.5别把缓存当存储109
5.3.6命名空间110
5.3.7CAS110
5.4Memcached客户端分析110
5.4.1Memcached的Client111
5.4.2Spymemcached设计思想解析111
5.5Memcached周边工具发展117
第6章Memcached 周边技术119
6.1Twemcache119
6.1.1Twemcache 的设计原理120
6.1.2Twemcache的安装及命令行详解122
6.1.3基于Java的Twemcache用法125
6.2Twemproxy126
6.2.1Twemproxy的常用部署模式127
6.2.2Twemproxy的可扩展性129
6.2.3Twemproxy源代码简析131
6.3Mcrouter137
6.3.1Mcrouter路由算法138
6.3.2典型的使用场景139
6.3.3Mcrouter的可扩展性142
6.3.4源码简要解析144
第7章Redis探秘148
7.1数据结构148
7.1.1value对象的通用结构149
7.1.2String149
7.1.3List152
7.1.4Map155
7.1.5Set157
7.1.6Sorted-Set159
7.2客户端与服务器的交互160
7.2.1客户端/服务器协议161
7.2.2请求/响应模式163
7.2.3事务模式164
7.2.4脚本模式168
7.2.5发布/订阅模式169
7.3单机处理逻辑171
7.3.1多路复用171
7.3.2定时任务处理173
7.4持久化174
7.4.1基于全量模式的持久化174
7.4.2基于增量模式的持久化176
7.4.3基于增量模式持久化的优化178
第8章分布式Redis180
8.1水平拆分(sharding)181
8.1.1数据分布181
8.1.2请求路由182
8.2主备复制(replication)182
8.2.1主备复制流程183
8.2.2断点续传183
8.3故障转移(failover)184
8.3.1sentinel间的相互感知185
8.3.2master的故障发现186
8.3.3failover决策186
8.4Redis Cluster187
8.4.1拓扑结构187
8.4.2配置的一致性188
8.4.3sharding190
8.4.4failover193
8.4.5可用性和性能196
第9章Tair探秘198
9.1Tair总体架构198
9.2Config Server简介199
9.3Data Server简介201
9.4Tair高可用和负载均衡204
9.4.1对照表204
9.4.2数据迁移219
9.5存储引擎220
9.6Tair的API222
9.6.1key/value相关API223
9.6.2prefix相关的API226
0章EVCache探秘229
10.1EVCache项目介绍230
10.1.1EVCache的由来231
10.1.2EVCache的发展232
10.1.3EVCache的演进234
10.2EVCache 的使用场景238
10.2.1典型用例238
10.2.2典型部署239
10.3EVCache的性能240
10.3.1EVCache集群的性能240
10.3.2全局化复制时的性能问题242
10.3.3Moneta项目中的组件性能243
10.4EVCache 的高可用性244
10.4.1AWS的多可用区244
10.4.2EVCache对AWS高可用性的增强245
10.5源码与示例245
10.5.1源码浅析245
10.5.2EVCache 示例253
1章Aerospike原理及广告业务应用259
11.1Aerospike架构259
11.2Aerospike具体实现261
11.2.1Aerospike集群管理261
11.2.2数据分布263
11.3Aerospike集群配置和部署265
11.3.1搭建集群的方式与配置266
11.3.2部署集群267
11.4Aerospike与Redis的对比271
11.5Aeropsike在广告行业的具体应用272
11.5.1Aerospike在个性化推荐广告中的应用273
11.5.2Aerospike在实时竞价广告中的应用274
2章社交场景架构进化:从数据库到缓存283
12.1社交业务示例283
12.1.1业务模型283
12.1.2业务场景284
12.1.3业务特点285
12.2关系(relation)的存储286
12.2.1基于DB的简方案286
12.2.2DB的sharding方案288
12.2.3引入缓存290
12.2.4缓存的优化方案292
12.3帖子(t)的存储293
12.3.1基于DB的方案294
12.3.2引入服务端缓存296
12.3.3本地缓存297
12.4时间线(timeline)的存储297
12.4.1基于DB的方案—push模式298
12.4.2基于DB的方案—pull模式300
12.4.3增量查询引入服务端缓存302
3章缓存在社交网络Feed系统中的架构实践304
13.1Feed系统架构304
13.2Feed缓存模型307
13.3Feed缓存架构的设计309
13.3.1简单数据类型的缓存设计310
13.3.2集合类数据的缓存设计312
13.3.3其他类型数据的缓存设计314
13.4Feed缓存的扩展 315
13.4.1Redis的扩展315
13.4.2计数器的扩展316
13.4.3存在性判断的扩展318
13.5Feed缓存的服务化319
4章典型电商应用与缓存324
14.1电商类应用的挑战及特点324
14.2应用数据静态化架构高性能单页Web应用325
14.2.1整体架构326
14.2.2CMS系统326
14.2.3前端展示系统328
14.2.4控制系统328
14.3应用多级缓存模式支撑海量读服务329
14.3.1多级缓存介绍329
14.3.2如何缓存数据331
14.3.3分布式缓存与应用负载均衡332
14.3.4热点数据与更新缓存334
14.3.5更新缓存与原子性336
14.3.6缓存崩溃与快速修复336
14.4构建需求响应式亿级商品详情页337
14.4.1商品详情页前端结构338
14.4.2单品页技术架构发展338
14.4.3详情页架构设计原则343
14.4.4遇到的一些问题349
5章同程凤凰缓存系统基于Redis的设计与实践357
15.1同程凤凰缓存系统要解决什么问题357
15.1.1Redis用法的凌乱358
15.1.2从实际案例再看Redis的使用360
15.1.3如何改变Redis用不好的误区362
15.1.4凤凰缓存系统对Redis系统化改造364
15.2用好Redis先运维好它366
15.2.1传统的Redis运维方式366
15.2.2Redis的Docker化部署368
15.2.3凤凰缓存系统对Redis的监控369
15.2.4凤凰缓存系统对Redis的集群分片优化370
15.2.5客户端在运维中的作用371
15.2.6凤凰缓存系统在Redis运维上的工具372
15.3凤凰缓存系统的使用效果373
6章新的旅程374
16.1更好的引入缓存技术374
16.1.1缓存引入前的考量374
16.1.2缓存组件的选择375
16.1.3缓存架构的设计376
16.1.4缓存系统的监控及演进377
16.2缓存分类总结377
16.3缓存知识结构更多Tips378
16.3.1缓存使用模式379
16.3.2缓存协议379
16.3.3缓存连接池380
16.3.4几个关注点383
16.3.5管理缓存387
16.3.6缓存可用性390
16.3.7数据一致性392
16.3.8热点数据处理393
16.3.9注意事项Tips396

内容简介

于君泽、曹洪伟、邱硕等著的《深入分布式缓存(从原理到实践)》是一本从大型互联网系统的应用角度探讨分布式缓存的书籍。本书站在原理、框架、架构、案例等多个视角对分布式缓存进行了探讨。互联网系统随着容量需求的陡增,许多看似简单的存储类场景都面临着巨大的容量问题和稳定性风险,而其中大部分问题都可以通过对缓存的合理使用来规避。读者从本书中将会获得应对这些问题的思路,也会对分布式缓存有一个体系化的认识。本书内容共分为三个部分,全书按照从理论到实现,再到实践的思路撰写。首先介绍分布式缓存的背景知识,对“分布式”和“缓存”这关键词进行了全面阐述,从而为后续章节的叙述打下基础:接着介绍业界主流的缓存,关注其原理与实现,囊括了Ehcache、Memcached、Redis、Tair、EVCache、Aerospike等六个缓存或类缓存系统;后讨论缓存在互联网系统中的实践,从广告、社交、新闻、电商、营销等五类典等
于君泽 等 著 著作
于君泽:蚂蚁金服不错技术专家、花名右军,IT从业超过十五年。对高并发、分布式架构、内建质量、研发管理有一些心得。维护公众号“技术琐话”。
程超:“爱农驿站”首席支付技术专家。InfoQ、中生代技术社区签约作者,CSDN博主专家,Spring for all社区贡献者,擅长微服务和分布式架构。
邱硕:蚂蚁金服技术专家,花名牧丘,在阿里和从事中间件、应用系统的性能/稳定性技术风险相关工作。Cobar主要作者。
曹洪伟:70后老码农,全栈工匠一枚,服务过多家世界500强,后连续创业,现任渡鸦科技CTO,致力于人工智能硬件,维护有“wireless_com ”公众号等