被央视赞过的视频会议,离不开它们!

疫情期间,大部分企业开始尝试线上办公,学校也进行直播授课。2月,腾讯宣布疫情期间免费开放可支持300人在线会议的腾讯会议,满足用户需求。

随着业务的几何级增长,为腾讯会议提供了解决方案的云数据库产品需要应对快速增长的存储容量和性能需求,让用户无感知的同时做到快速无损在线扩容,提供稳定可靠的服务。也要求运维人员时刻关注系统健康情况,快速应对各种系统问题,既能实现对业务的精细化运营,也能满足对大量数据库运维需求的快速支持。

如此“高标准严要求”的任务是在腾讯云Redis和自研国产金融级分布式数据库TDSQL配合下完成的。

在大规模的用户场景下,腾讯会议选择使用腾讯云Redis作为缓存服务,腾讯云集群架构的Redis服务,仅单集群可提供最大4TB存储容量和10万-1000万级别的并发访问性能,并且能保障在99.99%的水位线内提供1ms响应时延。面对海量请求,Redis集群仅在半小时以内就高效完成了数十倍规模的扩容,单集群的扩容流程后台处理时间不超过30分钟,同时保持了100%的系统可用性, 腾讯云Redis是国内唯一一款具备无损扩容能力的Redis数据库产品。详情请点击阅读: 腾讯会议空中加油级的扩容,只需按一个按钮

TDSQL则通过自动化运维体系、故障的自动平滑切换和弹性的水平扩展为腾讯会议保驾护航。 本文中将详细解读TDSQL在腾讯会议背后的技术支持。

TDSQL是腾讯自主研发的一款金融级分布式数据库产品,具备强一致、高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,提供自动化运营管理平台“赤兔”和智能DBA诊断系统“扁鹊”帮助用户进行数据库运维。

智能运营和自动化运维体系

腾讯会议从节后复工短短一周时间内完成了超过10万台云主机、共涉及超百万核的计算资源投入,几乎每天都在进行资源扩容,日均扩容云主机接近1.5万台。作为腾讯会议后端的数据库解决方案之一,TDSQL也面临着业务爆发式的读写考验,需要进行扩容。扩容意味着收到大量的服务请求,这对数据库来说提供高性能能力也是至关重要的。

一条存在性能问题的SQL在初期可能不会引发任何问题,但随着业务请求的增长,这些慢SQL就像滚雪球一样越滚越大,一点点蚕食着数据库的性能。同时随着业务的规模越来越大,从上亿条SQL中找出这些性能SQL如同大海捞针。

TDSQL智能DBA诊断系统“扁鹊”很好地解决了这个问题,可以自动抓取存在性能问题的SQL,并进行智能分析提供索引优化建议,将数据库的性能问题及时扼杀在萌芽当中。经过优化,99%的SQL都消除了性能瓶颈。

“扁鹊”系统是 TDSQL 提供包括数据采集、实时检测、自动处理、性能检测与健康评估、SQL性能分析、业务诊断等多种智能工具的集合,采用模块插件化无缝对接各种数据库,在扁鹊的帮助下,DBA可以从日常繁杂的数据库运维工作中解脱出来。“赤兔”平台从管理员视角提供TDSQL的全部运维功能和上百项数据库状态监控指标的展示,让数据库管理员日常90%以上的操作均可通过界面化完成,同时更方便定位排查问题。

“赤兔”和“扁鹊”这一套组合拳既满足高星级业务的精细化运维,又能轻松应对大量的普通数据库运维需求,更好地帮助用户降低运维成本。

故障自动平滑切换,业务无感知

腾讯会议海量用户几何级的爆发涌入,使得TDSQL集群规模越来越大,节点故障对业务的影响越来越敏感,进而对TDSQL的容灾能力提出越来越高的考验。TDSQL的一致性切换保障了在数次集群节点故障中均能平滑完成切换,将对业务的影响降到最低。

大部分业务系统通常都需要用高可用方案来保证系统不间断运行,数据库作为软件栈的最底层,对数据提供持久化和存取服务,如果高可用做的足够好,业务层的高可用设计就可以做的更加轻量和简单。

TDSQL高可用方案数据层的核心是基于自动探活逻辑以及腾讯自研的raft强同步复制,配合资源的自动调度实现自动化容灾监测和秒级切换,保证系统7*24小时不中断服务、数据零丢失和数据的高一致性。

TDSQL的每一个分片都支持基于强同步、强一致的高可用方案,并且对数据库和底层物理设备提供7X24小时持续监控。发生故障时,TDSQL将自动重启数据库及相关进程,如果节点崩溃无法恢复,将通过备份文件自动重建节点。

弹性的水平拓展

作为腾讯会议的重要系统基础支持,随着流量的持续暴涨,优化之后TDSQL进行了一轮快速的数据库机器水平扩容。TDSQL基于分布式架构和多租户方案,天生具有良好的弹性水平扩展能力。这意味着数据库实例的并发性能、处理能力、存储容量可线性增长。

在腾讯会议的扩容实践中,通过TDSQL策略丰富的读写分离技术,数据库层面快速响应了持续增长的容量和性能需求。

为了尽可能的将读请求分离,进一步降低对主节点的影响,TDSQL通过读写账号分离、灾备只读实例等措施,将纯只读业务分离出来,进一步降低主节点的压力提高整体的吞吐量。最终,25%的复杂查询根据读写分离策略发往只读实例,快速达到降低主节点的负载的效果。

支持多种策略的读写分离技术是TDSQL自研演进的弹性扩容特性之一,TDSQL产品默认支持读写分离,架构中的每个从机都能支持只读能力,如果配置有多个从机,将由 SQL Engine 集群( SQL Engine )自动分配到低负载从机上,以支撑大型应用程序的读取流量。TDSQL读写分离技术优势在于提供了多种读写分离方案,且用户无需关注若干从机是否完全存活,因为系统可根据策略自动调度。

除了读写分离技术,TDSQL弹性水平扩展包含多种特性,可应对不同场景。

最后,TDSQL具备健壮的分布事务能力支撑,也通过在持续不断地进行性能优化。SQLEngine作为协调节点,无状态,几乎可以无限制地进行水平扩容。数据库的各个SET作为数据节点,一方面存储正常的业务数据,同时也采用hash路由的方式存储所有的全局事务日志,整体来看,各个模块都是可以水平扩展的,能满足业务层几乎无限制的水平库容需求。

另外,针对分布式事务比较棘手的分布式锁的问题,TDSQL采取实时的锁诊断视图措施,也具备全局的死锁检测,消除业务层锁的各种问题。

总结

从智能运维、自动故障切换,到分布式弹性水平扩容,在TDSQL支撑下,腾讯会议可轻松应对服务请求的持续增长,持续不间断地为用户提供清晰、流畅的会议、直播服务,并实现精细化业务系统运营。

直播预告

特惠体验云数据库


请使用浏览器的分享功能分享到微信等