受疫情影响,多数企业员工目前无法回到写字楼办公,学生推迟开学,稳定高效的远程办公和直播授课成为2020年的开年刚需。腾讯从1月24日开始向全国免费开放可支持300人同时在线会议的“腾讯会议”,直至疫情结束。央视新闻联播对此也给予了报道。
发布不久的腾讯会议瞬间成为了一款国民会议软件,用户呈几何级爆发涌入,从1月29日开始到2月6日,腾讯会议每天都在进行资源扩容,日均扩容云主机接近1.5万台,8天总共扩容超过10万台云主机,共涉及超百万核的计算资源投入,腾讯会议在2月10日当天扛住了近100倍于日常的会议数量。
那么,腾讯会议是如何做到在扩容期间用户无感知,依然能够高清流畅无卡顿的进行会议呢?那不得不提到一大神兵——腾讯云Redis数据库(TencentDB for Reids)。在请求数暴增的情况下,作为会议列表缓存、会议信息存储的Redis数据库也进行了快速扩展,腾讯云数据库Redis通过提供大规模的集群产品,为腾讯会议提供稳定的高并发低延迟的缓存服务,操作起来也极为简便,腾讯会议的运维人员仅需要在控制台点击一个按钮,即可操作完成100倍业务规格增长的弹性扩展。
千万QPS的Redis单集群访问性能
为应对海量用户请求,在百万核计算业务的架构中,保障业务规模快速增长的同时能持续提供稳定的性能和快速响应,引入缓存系统是一个行之有效的方法。
在大规模的用户场景下,腾讯会议选择使用腾讯云Redis作为缓存服务,将预约会议的内容、参会人员信息等存储到Redis,保障了用户在预定、发起、参与会议等过程中系统能快速响应。腾讯云集群架构的Redis服务,仅单集群可提供最大4TB存储容量和10万-1000万级别的并发访问性能,并且能保障在99.99%的水位线内提供1ms响应时延。
腾讯云Redis单集群峰值请求超过17亿次/分钟
30分钟内不停机无损扩容数十倍
在8天时间内腾讯会议完成了100万核云服务器扩展的同时,Redis集群仅在半小时以内就高效完成了数十倍规模的扩容,单集群的扩容流程后台处理时间不超过30分钟,同时保持了100%的系统可用性,在整个资源扩展过程中,腾讯会议服务始终保持着大规模的在线运行,海量用户无感知,依然能够高清流畅无卡顿的进行会议。
值得骄傲的是,腾讯云Redis是国内知名一款具备无损扩容能力的Redis数据库产品。
那么,是什么样的底层设计使得Redis服务能够进行如此平滑的无损弹性扩展呢?
腾讯云Redis自动化的资源管理和装箱系统保障了资源的快速分配, 同时提供了标准化的控制台界面和API接口,使得运维人员可以快速进行资源扩展,仅需在控制台点击一个按钮,即可操作完成100倍业务规格增长的弹性扩展。
为更好的为用户提供服务,腾讯云数据库Redis在国内率先实现了实时平滑无损弹性扩容。目前大多数云厂商的Redis数据库在跨机扩容时候会连接断开和1分钟内的业务只读,在使用自建以及其他云厂商提供的Redis服务时,企业只能依赖业务层实现平滑扩展,或者停服来维护扩展,这对需要提供7*24小时不间断客户服务的企业是致命的。
要实现无损扩容有两大核心难题需要解决,第一个是要解决社区迁移工具迁移大Key阻塞系统访问,甚至是宕机的问题 。腾讯云团队通过自研的数据搬迁工具不但解决了卡顿的问题,数据搬迁的速度也得到了成倍的提升。其次需要提供数据搬运过程中正确的标记数据状态,搬迁后可以重新路由难题,腾讯云Redis通过自研Proxy定期刷新以及响应路由重定向命令解决了数据路由的难题。
腾讯云Redis无损扩容示意图
经过多年的快速发展,腾讯云Redis已经在电商、游戏等行业服务了众多用户,为数万家用户提供了安全稳定的云服务。拿某电商客户来说,自上线以来,迅速积累亿级用户,UGC社区业务和B2C电商业务均发展迅猛,高效提升用户访问体验和购物体验尤为重要。腾讯云的云缓存Redis服务无需安装,一键使用,自动扩容,轻松处理并发海量数据,专业团队全程监控。有效帮助该客户应对业务规模的爆发增长以及各类大促活动的顺利举行。