首页 > 其他分享 >1.4亿人都在用|伊对APP x 阿里云PolarDB:这一对,天生配

1.4亿人都在用|伊对APP x 阿里云PolarDB:这一对,天生配

时间:2023-12-26 16:45:22浏览次数:29  
标签:1.4 Serverless 亿人 APP 业务 节点 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能够支持在主节点写入数据之后,在其他只读节点立刻可读,这样就可以避免会员重复充值或者充值之后发现没有到账的情况。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解决方案

 

通过PolarDB的Serverless能力,伊对APP成功地降低了运维工作量,提高了系统的灵活性和可用性,同时满足了其业务高峰期的需求,确保了用户良好的使用体验。PolarDB以其出色的性能和稳定性为伊对APP提供了强大的支持。

标签:1.4,Serverless,亿人,APP,业务,节点,PolarDB,伊对
From: https://www.cnblogs.com/aliyunyaochidatabase/p/17928478.html

相关文章

  • uniapp APP应用程序iOS没有上架到苹果应用商店如何整包更新?
    随着移动互联网的快速发展,uni-app作为一种跨平台开发框架,受到了广泛欢迎。然而,有时候开发者可能会遇到一个问题:如何为已经发布到苹果应用商店的uni-appAPP进行整包更新?尤其是当应用还没有上架到苹果应用商店时。铁蛋也收集整理了相关内容,今天将为你详细解答这一问题,帮助你顺利......
  • ES 修改 Mapping
     https://www.cnblogs.com/ititit111222333/p/16382887.html新建v1indexPUT/test_v1设置v1mappingPOST/test_v1/_mapping{"properties":{"itemId":{"type":"long"},"itemName":{"type":&......
  • 图文详解丨iOS App上架全流程及审核避坑指南
    图文详解丨iOSApp上架全流程及审核避坑指南AppStore作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOSapp上架流程开始梳理,详细了解下iOSapp上架的那些事。iOSapp上架总体流程: ​......
  • GANs in Action: RealWorld Applications and Case Studies
    1.背景介绍GANs,即生成对抗网络(GenerativeAdversarialNetworks),是一种深度学习技术,它通过将生成器和判别器两个网络相互对抗,来学习数据的分布并生成新的数据。这种方法在图像生成、图像补充、风格迁移等方面取得了显著的成果。在本篇文章中,我们将深入探讨GANs的核心概念、算法原......
  • ADB命令安装卸载手机APP
    前言手机内置的浏览器很多广告,推荐的新闻也很多负面的新闻,所以就想卸载内置的手机app,不过现在很多手机都是限制了内置的软件都不能卸载,以前随便获取一下root权限,也是可以卸载的,不过最近搞了一下,发现现在root权限这么难获取,所以就只能另外寻方法了,去网上搜了一下,发现可以使用adb命令......
  • 关于uniapp的小程序分包 注意事项!!!!
    1、root里面的名称不能带斜杠/(重点)2、要把uni_modules的uni-id-pages这种的单独提取出来做一个分包3、分包里面的js跟静态文件最好是放到static里面,要按static/js这样去划分"optimization":{"subPackages":true},这个是关键manifest.json/*小程序特有......
  • 34.Appium 源码修改定制
    为什么需要改造开源框架bugfix增强功能提升性能改造方式直接改造:直接改造开源框架,创建特性分支二次封装:不修改原有项目,直接进行上层封装插件改造:利用已有项目的插件或者扩展机制进行定制外挂改造:不修改原有代码的情况打补丁,利用mock、hook方法维护开源......
  • 33.Appium 源码分析
    Appium所有的源代码AppiumserverNode.js系列包adbshellChromeDriver底层引擎UiautomatorjavaWDAseleniumAppiumclient:Python、JavaAppium体系 了解appium/package.json官方git仓库:https://github.com/appium/appium梳理调用......
  • app发送语音
    实现功能通过App发送语音指令,调度指定Web端的页面的操作,如打开项目一览表、打开项目工时等设计绑定因Web端可以打开多个,即多个人可以在多个电脑上打开Web端,所以怎么保证调度的是某一个Web端呢?通过Web端标识进行绑定,基于WebSocket,Web端先和服务端进行绑定并设置Web端标识;然后App端设......
  • 【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
    问题描述当在AppServiceforWindows环境中所列出的TomcatVersion没有所需要的情况下,如何实现自定义Tomcat环境呢? 问题解答第一步: 从官网下载要使用的 tomcat版本,解压到本地目录第二步:修改 conf/server.xml 配置文件将 port 改成 -1:将 Http-connectport 改成 ${po......