分布式缓存在教育项目中的应用案例

Posted 信息化漫谈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式缓存在教育项目中的应用案例相关的知识,希望对你有一定的参考价值。

公有云业务发展非常快,根据细分场景不同的客户需求,延伸出种类繁多的产品。在某教育云项目中,应用了redis分布式缓存产品,在近期的远程教育中发挥了巨大的作用。



分布式缓存在教育项目中的应用案例

一、远程教育遇到了技术问题
近期学校集中通过pc、iptv等方式进行远程教育,对于后台的能力,普遍采用云计算架构。远程教育的特征主要有以下几点:
1、在上午、下午上课时间存在高峰效应 。如果是全省集中平台,将存在上百万的同时并发。
2、业务流量带宽大。 一般以视频为主要教学方式。
3、业务体验要求质量高 。直播、互动业务对业务顺畅的体验要求非常高。
如果远程教育采用私有云的方式难以满足业务体验需求,主要表现为带宽不足、业务并发量不足。





分布式缓存在教育项目中的应用案例

二、采用公有云解决问题
1、针对高峰效应、带宽大、直播的需求,可以采用CDN进行流量分发,解决视频、静态网页的并发问题。这类解决方案介绍较多,不再详述。
2、针对动态网页的互动类业务(例如,互动问答),无法采用CDN加速分流,建议采用弹性缩+云主机+分布式缓存的解决方案进行解决。



分布式缓存在教育项目中的应用案例

三、为什么必须采用分布式缓存
弹性伸缩将造成随时上线、上线云主机,将会中断教育业务 。传统的应用服务器,如tomcat、apache等,客户的登录状态信息session默认是放到云主机的单机中。使用弹性伸缩后,将根据cpu、带宽、内存等利用率随时增加、减少服务器,以应对业务分时段的波动。如果此时被减少的服务器上有客户正在使用,将造成session文件的丢失,此时,远程教育系统将要求学生再次登录系统,影响教学顺畅的体验。
如果我们采用了分布式缓存产品,将session文件放到统一集中的服务器中,将不会出现此类问题。




分布式缓存在教育项目中的应用案例

四、分布式缓存如何解决问题
分布式缓存产品采用内存存储,极大提高了效率。如果采用传统的mysql等数据库进行集中的存储,速度相比redis、memcache等基于内存的数据库产品,更慢。
如下图,将session数据文件统一放到分布式缓存产品后,前端的web Server成为了无状态化,可以任意增加、减少前端的Web、应用服务器,而不会对客户的业务体验造成影响。



大型网站系统的分布式计算,是一个非常庞大的知识集合,今天我们讲解的仅仅是session数据的横向扩展。


如果您觉得好,希望长期关注本公众号的专业、风趣、实时的信息,请在以下二维码长按,以关注。


以上是关于分布式缓存在教育项目中的应用案例的主要内容,如果未能解决你的问题,请参考以下文章

蚂蚁金服技术专家分享25个分布式缓存实践与线上案例

redis分布式锁 |redis缓存的使用

缓存架构中分布式一致性hash应用解析

大型网站架构系列:缓存在分布式系统中的应用

大型网站架构系列:缓存在分布式系统中的应用

大型网站架构系列:缓存在分布式系统中的应用