我们的5分钟分布式缓存指南


什么是分布式缓存以及何时使用?今天的网络,移动和物联网应用需要在网络规模上运行,预测数百万用户,数TB的数据和亚毫秒的响应时间,以及在全球多个设备上运行 。
对于在群集环境中运行的应用程序,分布式缓存是至关重要的要求 。分布式缓存解决了许多常见的数据访问问题,提高了性能,可管理性和可扩展性,但它是什么以及它如何使企业受益?
“具有分布式缓存的高性能应用程序”着眼于不同的分布式缓存解决方案如何帮助解决常见的性能和可管理性挑战 。
什么是分布式缓存?
缓存是一种常用技术,可提高应用程序性能并降低成本 。缓存的主要目标是缓解传统数据库带来的瓶颈 。通过在内存中缓存经常使用的数据 - 而不是使数据库往返 - 可以显着提高应用程序响应时间 。
分布式缓存只是此概念的扩展,但缓存配置为跨越多个服务器 。它通常用于云计算和虚拟化环境中,其中不同的服务器将其缓存内存的一部分放入池中,然后可由虚拟机访问 。这也意味着它是一个更具伸缩性的选择 。
存储在分布式缓存中的数据非常简单,只要访问最多,并且如果一段时间内没有请求数据,则可以随时间变化 。
通过将频繁访问的数据缓存在内存中而不是后端数据库中,应用程序可以提供高度响应的体验 。
【我们的5分钟分布式缓存指南】分布式缓存还可以通过减少后端系统的工作负载和减少网络使用来显着降低资本和运营成本 。特别是,如果应用程序在诸如Oracle之类的关系数据库上运行,这需要高端,昂贵的硬件才能扩展,那么在低成本商用服务器上运行的分布式缓存可以减少添加昂贵资源的需求 。
常见的分布式缓存用例
由于清晰的性能和成本优势,分布式缓存可用于众多应用程序 。常见用例包括:
加速RDBMS:许多Web和移动应用程序需要从后端关系数据库管理系统(RDBMS)访问数据 - 例如,在线产品目录的库存数据 。但是,关系系统并非设计为在互联网规模下运行,并且很容易被来自网络和移动应用程序的请求量所淹没 。在内存中缓存来自RDBMS的数据是一种广泛使用的,经济有效的技术,可以加速后端RDBMS 。
管理使用率峰值:Web和移动应用程序的使用率经常会出现高峰 。在这些情况下,缓存可以防止应用程序被淹没,并有助于避免添加昂贵的后端资源 。
大型机卸载:大型机仍广泛用于许多行业 。缓存用于从后端大型机卸载工作负载,从而降低成本并启用仅使用大型机无法实现的全新服务 。
Web会话存储:会话数据和Web历史记录保存在内存中 - 例如,作为电子商务网站上的购物车或实时推荐引擎的输入,或游戏中的玩家历史记录 。
对于许多Web,移动和物联网应用程序,分布式缓存是提供高响应性用户体验的关键 。在本白皮书中了解更多信息 。
什么使分布式缓存有效?
有效的分布式缓存的要求相当简单 。这里列出了六个关键标准,但它们的重要性取决于组织的具体情况 。
性能:对于给定的工作负载,缓存必须满足并维持应用程序所需的稳定性能目标,以实现延迟和吞吐量 。性能效率是影响成本,复杂性和可管理性的相关因素 。
可伸缩性:随着更多用户,更多数据请求和更多操作会增加工作负载,缓存仍应提供相同的性能 。它还应该能够在不影响可用性的情况下轻松且经济地扩展 。
可用性:缓存必须确保24/7数据的可用性,以便在计划内和计划外停机期间始终可以获得数据 。
可管理性:使用缓存应该快速部署 。它也应该易于监控和管理,而不会为运营团队增加不必要的额外工作 。
简单性:如果操作正确,向部署添加缓存不应该使事情变得不必要地复杂,或者为开发人员添加额外的工作 。
可负担性:任何IT决策以及持续成本都应始终考虑前期实施成本 。评估应考虑总体拥有成本,包括许可费以及硬件,服务,维护和支持 。

    推荐阅读