文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

承载高并发的缓存技术究竟是什么?

2024-12-01 13:54

关注

​Labs 导读

缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。那么缓存的运行逻辑是什么,以及缓存有哪些方案,将是本文的介绍重点。

缓存(Cache)是将目标数据存储到一个具备高度可访问性的高速运行层的技术。它旨在快速读取使用率较高的、不经常更新的数据,避免在存取之前的请求重复访问源数据层,产生额外的I/O资源消耗,继而提升业务的并发度。为了提升数据访问的运行速率,缓存数据也要权衡资源容量、数据刷新频率设置过期时间或设置合理的缓存淘汰策略。主流的缓存方案有CDN缓存、浏览器缓存、本地缓存、外部缓存等。

Part 01  CDN缓存 

CDN指的是内容分发网络,将资源缓存在CDN节点上,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近去CDN缓存节点上获取内容,降低网络延迟,提高访问速度。运用到此项缓存技术的业务场景有:前端项目中的HTML、CSS、JS等静态文件、物联网中下载固件包、异地多活架构中的资源请求等等。将这些文件部署或缓存在CDN节点上,提升资源访问速度的同时又保证资源访问的稳定性。

Part 02  浏览器缓存 

浏览器缓存是指浏览器与后端服务器通过HTTP协议下的请求-响应模式来通信时,第一次向服务器发送请求并拿到结果后,会根据响应报文中的缓存规则来实现缓存。比如HTTP/1.1协议下会根据Cache-Control实现强制缓存规则;会在强制缓存失效下根据请求中的缓存标识决定缓存规则。浏览器会话持也是一种缓存实现,目前主流的技术方案有Cookie机制、Session机制、Token机制等。

Part 03  本地缓存 

本地缓存是指将响应数据缓存在服务器的应用进程内存空间里,减少查询持久化层的I/O消耗。优点是数据不需要跨网络传输,读取性能更好,支持的QPS更高;缺点是会占用应用进程的内存空间,故不能进行大数据量的数据存储,而且当所在的应用进程重启时,本地缓存的数据会丢失。在Andlink云平台项目中落地的本地缓存解决方案Caffeine,它的依赖包如下:


com.github.ben-manes.caffeine
caffeine
${caffeine.version}

Part 04 外部缓存或分布式缓存

与本地缓存相对应的就是外部缓存或分布式缓存,它独立于应用进程部署,并可以设计成集群模式来保证数据读写分离、高性能、高可用。Andlink云平台项目中落地的分布式缓存是基于Spring Boot Cache框架整合Redis集群的方案,该方案可以很好的解决数据丢失、业务并发能力、故障恢复和动态存储扩容等常见业务痛点。结合业务的需求Redis提供了比较全的应对方案,比如单机模式、主从模式、集群模式或哨兵模式,其中哨兵模式可以实现健康检测和自动恢复,是保障高并发业务稳定运作的首选模式。方案的依赖包如下:


org.springframework.boot
spring-boot-starter-data-redis
${redis.version}


org.springframework.boot
spring-boot-starter-cache
${cache.version}

当然,主流的缓存技术方案有很多,但总的方向是为了减少底层性能开销、提高业务的高并发能力。目前Andlink云平台支撑着亿级的用户量和千万级的设备请求等,缓存技术在其中扮演着举足轻重的角色。​

来源:移动Labs内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯