好书推荐 《深入分布式缓存:从原理到实践》

今天给大家介绍一本最近新上市的图书(利益声明:本人与不作者、与出版社并无利益相关)仅仅觉得这本书是近期阅读的想一晚上看完的书,对于一个后台开发新手来说这本书真的值得一读!

推荐理由:
本书深入浅出地讨论了ehcache、memcached、redis、tair、 EVCache 等各种常用缓存开源系统的方案及精粹。国内大多数计算机书籍偏原则和理论,具体实施方案和案例非常少,本书从理论到实战,循序渐进,深入浅出。看完部分章节后,意犹未尽!实在是太晚了(一晚上真的看不完,所以先写篇博客推荐此书让更多的童鞋受益)


好书推荐 《深入分布式缓存:从原理到实践》好书推荐 《深入分布式缓存:从原理到实践》

虽然书上印刷的版次是2018年1月1日第一次印刷,但是我昨天也就是27号就收到了(不知道是不是正版,摸起来纸张还不错!)

以下是官方介绍:

这是一本从大型互联网系统应用角度探讨分布式缓存的书籍,从原理、框架、案例等多个角度对分布式缓存进行了介绍

互联网系统随着容量需求的陡增,许多看似简单的存储类场景都面临着巨大的容量和稳定性风险,而其中的大部分都可以通过对缓存的合理使用来规避。读者从对本书的阅读当中,将会获得应对这些问题的经验,也会对分布式缓存有一个体系化的认识。

本书内容共分为三个部分,按照从理论到实现,再到实践的思路撰写。

首先介绍分布式缓存的背景知识,对本书“分布式”和“缓存”这两个关键词进行了全面的综述,作为后续章节叙述的基础;

第二部分介绍业界主流的缓存,关注其原理与实现,囊括了Ehcache、Memcached、Redis、tair、EVCache、Aerospike等六个缓存或类缓存系统;

最后一部分讨论缓存在互联网系统中的实践,从广告、社交、新闻、电商、营销等五类典型的互联网应用入手,分析它们面临的性能稳定性问题以及如何利用分布式缓存解决这些问题

目录:

第1章 缓存为王

在商业的世界中,常说的一句话是“现金为王”。在互联网、移动互联网乃至整个软件技术世界中,与之相近的一个说法就是“缓存为王”。什么是缓存呢?……

第2章 分布式系统理论

分布式理论体系宏大精深,可以通过一大厚本专著来专门阐述,本书难以尽述之,本章拟从分布式系统概论、分布式系统概念、分布式系统理论,比如Paxos、分布式系统设计策略、心跳检测、分布式系统设计实践、全局ID生成等几个方面略勾画之。本章可作为后续章节阅读的基础,比如Master-Slave节点切换需要心跳……

第3章 动手写缓存

目前市面上已经有很多开源的缓存框架,比如Redis、Memcached、Ehcache等,那为什么还要自己动手写缓存?本章将带领大家从0到1写一个简单的缓存框架,目的是让大家对缓存的类型、缓存的标准、缓存的实现及原理有一个系统的了解,做到知其然,知其所以然。……

第4章 Ehcache与Guava Cache

Ehcache是一个用Java实现的使用简单、高速、线程安全的缓存管理类库,其提供了用内存、磁盘文件存储,以及分布式存储等多种灵活的管理方案。同时Ehcache作为开放源代码项目,采用限制比较宽松的Apache License V2.0作为授权方式,被广泛地用于Hibernate、Spring、Co……

第5章 从Memcached开始了解集中式缓存

许多Web应用程序都将数据保存到RDB中,但随着数据量的增大,RDB的负担加重,数据库响应恶化,性能严重下降。Memcached是高性能的分布式内存缓存服务器,一般用来缓存访问的热点数据,减轻数据库的负担。 Memcached是以LiveJournal旗下Danga Interactive公司的Br……

第6章 Memcached周边技术

对于Memcached等常用的缓存组件,本身大多是以单机方式运行的,服务能力受到单个主机处理器、内存等资源的限制。在大型的互联网应用中,往往需要更大的数据访问量以及缓存更多的数据,这些需求都大大超出了单机缓存系统所能提供的能力范围。 解决高流量访问的方案有很多,直接的方式是提高单机缓存的性能和资源利……

第7章 Redis探秘

Redis(REmote DIctionary Server)是一个key-value存储系统,由Salvatore Sanfilippo开发,使用ANSI C语言编写,遵守BSD协议。 Redis运行于独立的进程,通过网络协议和应用交互,将数据保存在内存中,并提供多种手段持久化内存数据。Redis……

第8章 分布式Redis

Redis作为数据存储系统,无论数据存储在内存中还是持久化到本地,作为单实例节点,在实际应用中总会面临如下挑战: 数据量伸缩:单实例Redis存储的key-value对的数量受限于单机的内存和磁盘容量。长期运行的生产环境中,随着数据不断地加入,存储容量会达到瓶颈。虽然Redis提供了key的过期机制……

第9章 Tair探秘

Tair(TaoBao Pair的意思,Pair即Key-Value数据对)是淘宝开发的一个优秀的分布式高可用的key/value存储引擎。采用服务端自动负载均衡的方式,使客户端逻辑简单。 Tair分为持久化和非持久化两种使用方式。非持久化的Tair可以看成是一个分布式缓存。持久化的Tair将数据存……

第10章 EVCache探秘

云服务不仅为软件系统的开发和部署带来了更多的敏捷性,而且提供了更多创新的可能性。当分布式缓存技术遇到云服务会是怎样的情形呢?EVCache就是这样的一种技术。 EVCache是一个开源、快速的分布式缓存,是基于Memcached的内存存储和Spymem-cached客户端实现的解决方案,主要用在亚马……

第11章 Aerospike原理及广告业务应用

Aerospike是一个分布式的,可扩展的键-值存储的NoSQL数据库。支持灵活的数据模式,并且支持满足ACID特性的事务。其主要的优势是采用混合存储架构,数据索引信息存储在RAM(随机存取存储器)中,而数据本身可以存储在SSD(固态硬盘)或HDD(机械硬盘)上。并且针对采用多核处理器和多处理器机器……

第12章 社交场景架构进化:从数据库到缓存

本章以一个典型的社交类应用为例,基于一个简化的领域模型和业务场景,叙述该应用在面临不断增加的业务吞吐量时,传统的基于数据库的方案将面临的性能风险,随后阐述如何利用缓存技术对这些典型的性能问题进行解决。 本章分为5个小节,首先引入示例应用的领域模型和业务场景,随后分别针对其relation、post、……

第13章 缓存在社交网络Feed系统中的架构实践

在社交网络发展如火如荼的今天,人们越来越倾向于用新媒介来展现自我和沟通交互。以新浪微博为例,作为移动社交时代的重量级社交分享平台,2017年初日活跃用户1.6亿,月活跃用户近3.3亿,每天新增数亿条数据,总数据量达千亿级,核心单个业务的后端数据访问QPS高达百万级。 在社交网络系统运行过程中,面对庞……

第14章 典型电商应用与缓存

分布式系统的CAP理论首先把分布式系统中的三个特性进行了如下归纳: 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否是同样的值(等同于所有节点访问同一份最新的数据副本)。 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求(对数据更新具备高可用性)。 分区容忍性(……

第15章 同程凤凰缓存系统基于Redis的设计与实践

本章和大家分享一下同程凤凰缓存系统在基于Redis方面的设计与实践。在本章中除了会列举我们工作过程中遇到各种问题和误区外,还会给出我们相应的解决办法,希望能够抛砖引玉为大家带来一定的启示。……

第16章 新的旅程

在介绍了分布式理论体系、自己动手写缓存、若干开源缓存框架等内容之后,如同一段美好的旅程,本书也需要一个总结性的停顿。谈及缓存我们会情不自禁地想起淘汰算法、过期处理等,但开发设计中如何更好地引入缓存技术,完整的缓存知识体系又是怎样的,笔者尝试梳理一下,算是为本书做一个收尾。 其中关于缓存究竟涉及哪些知……

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持