1.4 亿人都在用|伊对 APP x 阿里云 PolarDB:这一对,天生配
社交 APP 已成为了人们日常生活中不可或缺的一部分,伊对是一款深受年轻人喜爱的社交 APP,拥有超过 1.4 亿用户,4 万多名活跃红娘每月撮合上千场线上相亲活动,通过创新的音频、直播和线上红娘服务,解决了传统社交难题,打造了一个真实有趣的恋爱社区。
随着用户的不断增长和业务的发展,伊对数据库业务面临了一系列的技术挑战。首先,伊对的主要业务是直播、音视频和聊天,这些业务具有明显的日间波动特征,尤其是晚上 8 点左右,访问压力达到峰值。其次,伊对每月都会举行大量的线上相亲活动,需要应对高峰业务压力,这就要求 DBA 提前调整资源配置,并在活动结束后进行回调,带来了较大的运维负担。而且在业务高峰期,如果出现部分慢 SQL 导致资源被挤占,会影响正常业务的访问速度和体验。
针对这些问题,伊对选择了阿里云瑶池旗下的云原生数据库 PolarDB Serverless 作为解决方案。PolarDB Serverless 支持在已购买的固定规格集群上开启 Serverless 功能,即稳态 Serverless。客户在 PolarDB 16 核或 32 核等固定规格 PolarDB 集群上开启了 Serverless;通过这种方式,超出日常固定规格的资源需求通过 Serverless 来满足,伊对不仅能够应对高峰期的业务压力,还能大大降低运维工作量。
具体来说,PolarDB Serverless 具备以下优势:
弹性扩展
支持自动纵向扩容(增加本节点 CPU 和内存资源)和横向扩容(增加只读节点),单集群可支持 0-1000 核范围内的伸缩,有效应对业务负载突增,5 秒完成探测,1 秒完成弹升。
伸缩过程无感
资源弹升弹降对于业务运行没有任何影响。
资源管理
在业务负载下降时,集群资源阶梯性自动释放,实现最优的成本效益比。
自动化操作
资源调整工作从人工优化转变为全自动模式,降低了 80%的运维工作量,变配时长从 10 分钟缩短至 5 秒。
除此之外,伊对在客户会员充值场景下,还需要 PolarDB 能够支持在主节点写入数据之后,在其他只读节点立刻可读,这样就可以避免会员重复充值或者充值之后发现没有到账的情况。PolarDB 的 Serverless 默认支持高性能全局一致性,此功能特性实现数据在横向扩容的 RO 节点上实现跟主节点写入数据 0 延迟。要实现此能力在技术上面临很大挑战,PolarDB 突破了延续几十年的传统数据库主从节点日志流式复制同步的传统架构,利用 RDMA/eRDMA 实现多个计算节点间数据/信息直接交互,实现了性能无衰减的只读节点全局强一致读。PolarDB 结合 PolarProxy,实现了跨计算节点事务一致性,任何事务内的写前读和写后读均可以分流到只读节点中。
上表是在全局一致性的场景下的测试对比,可以看出,仅有 PolarDB 在能保证只读节点提供全局一致性读,同时性能保持性能不下降。这也是为什么 PolarDB Serverless 是唯一一个支持根据负载自动扩展 Serverless 只读节点的原因。
除了对外部业务的支持,PolarDB Serverless 还解决了伊对内部业务的需求。例如,财务、审核、客服等业务在白天的工作时间段访问高峰期,而且往往会出现尖峰的业务访问压力,比如审核系统中有时存在多人并发审核的情况,拉取相同数据,审核后做回传,高并发下数据库资源不足时速度非常慢(通常 1 分钟),严重影响体验,但是如果将数据库实例规格调整过大满足尖峰时刻需求时,又会导致在平时的资源严重浪费,成本过高;为了应对此需求,PolarDB 在 2C 或 4C 固定规格的集群上开启了 Serverless 功能,当尖峰压力来临时,PolarDB 可以在 1s 内完成资源弹升,将业务处理时长从 1 分钟降低为 3s 内,很好满足了应用体验,同时没有带来更高的成本。
通过 PolarDB 的 Serverless 能力,伊对 APP 成功地降低了运维工作量,提高了系统的灵活性和可用性,同时满足了其业务高峰期的需求,确保了用户良好的使用体验。PolarDB 以其出色的性能和稳定性为伊对 APP 提供了强大的支持。
评论