鹅厂数据库为联合国全球最大规模的线上对话提供技术支持!
刚刚,联合国在纽约总部正式宣布:腾讯公司成为联合国全球合作伙伴,为联合国成立75周年提供全面技术方案。在联合国成立75周年的对话系列活动中,腾讯会议将为联合国提供在线会议和沟通交流平台,面向全球公民灵活组织不同规模的在线会议。而腾讯云Redis和TDSQL为腾讯会议提供了底层数据库支持。
换句话说,鹅厂数据库支持了有史以来最大规模的联合国全球线上对话!
凭借顺畅的会议体验和超强的国际化能力,腾讯会议上线两个月内日活跃账户就超过了1000万,不仅是中国最多人使用的视频会议应用,还火速上线了国际版应用VooV Meeting,为全球超过100个国家和地区提供会议能力。
腾讯云Redis:千万级QPS&无损扩容
在腾讯会议请求数暴增的情况下,作为会议列表缓存、会议信息存储的Redis数据库也进行了快速扩展,因为业务的特殊性,要求在整个资源扩展过程中,腾讯会议服务始终保持着大规模的在线运行,海量用户依然能够高清流畅无卡顿的进行会议。 目前大多数云厂商的Redis数据库在跨机扩容时会连接断开和1分钟内的业务只读,这导致使用自建及其他云厂商提供的Redis服务的企业只能依赖业务层实现平滑扩展,或者停服来维护扩展。但是这个难题在腾讯云已经迎刃而解。
腾讯云集群架构的Redis服务仅单集群可提供最大4TB存储容量和10万-1000万级别的并发访问性能,并且能保障在99.99%的水位线内提供1ms响应时延,腾讯会议的运维人员仅需在控制台点击一个按钮,在半小时以内即可高效完成数十倍规模的扩容,单集群的扩容流程后台处理时间不超过30分钟,同时保持了100%的系统可用性, 腾讯云Redis是国内唯一一款具备无损扩容能力的Redis数据库产品。
腾讯云Redis单集群峰值请求超过17亿次/分钟
为实现无损扩容,腾讯云Redis攻克了两大核心难题。首先解决了社区迁移工具迁移大Key阻塞系统访问,甚至是宕机的问题。腾讯云团队通过自研的数据搬迁工具不但解决了卡顿的问题,数据搬迁的速度也得到了成倍的提升;其次解决了需要提供数据搬运过程中正确的标记数据状态,搬迁后可以重新路由的难题,腾讯云Redis通过自研Proxy定期刷新以及响应路由重定向命令解决了数据路由的难题。
腾讯云Redis无损扩容示意图
同时,腾讯云Redis支持在全球范围内的多地域部署,为支持腾讯会议上线海外版,腾讯云Redis快速在欧美、日韩、东南亚和中东等地部署了接入点和业务逻辑层,进行数据全球同步。目前有32个可用区,并在持续增加中。
腾讯云TDSQL:保姆级的智能精细化运维
随着腾讯会议走向国际,全天候不定时的来自全球范围内的海量请求要求运维人员时刻关注系统健康情况,快速应对各种系统问题,既能实现对业务的精细化运营,也能满足对大量数据库运维需求的快速支持。腾讯云TDSQL通过提供智能运营和自动化运维体系、故障的自动平滑切换和弹性的水平扩展服务为腾讯会议保驾护航。
一、智能运营和自动化运维体系
面对海量的全球用户增长,作为腾讯会议后端的数据库解决方案之一,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采取实时的锁诊断视图措施,也具备全局的死锁检测,消除业务层锁的各种问题。
从提供会议列表缓存、会议信息存储,到后端智能运维、自动故障切换、业务无感知快速扩容,在腾讯云数据库的支撑下,腾讯会议可轻松应对服务请求的持续增长,持续不间断地为用户提供清晰、流畅的会议、直播服务,并实现精细化业务系统运营。
联合国,我们来了!
相关阅读
腾讯会议用户暴涨,Redis集群如何实现无缝扩容?