Redian新闻
>
《卫报》优化了移动推送通知投递架构

《卫报》优化了移动推送通知投递架构

公众号新闻

作者 | Rafal Gancarz
译者 | 刘雅梦
策划 | 丁晓昀  

《卫报》(The Guardian)的技术团队已经在着手加快移动推送通知的速度,以改善读者的体验。针对并发性进行优化的原始架构一直受到通知投递延迟的困扰。工程师们利用改进的可观测性,通过实验获得了显著的成果。

《卫报》的读者可以使用移动应用程序访问内容,并可以通过注册以推送通知的形式接收突发新闻提醒。其背后的事件驱动架构(EDA)自 2009 年以来一直在运行,但随着时间的推移,通知投递的时间有所增加,对某些用户来说,通知投递时间需要五分钟以上。

《卫报》的全栈开发人员 Francesca Hammond 表示,该团队的目标是在两分钟内向 90% 的预期受众发送通知,这一目标被称为“90in2”。

支持推送通知投递的解决方案利用了一系列的技术。一个与 Scala Play 应用程序对话的内部突发新闻工具触发推送通知投递。AWS Lambda 函数使用来自 AWS SQS 的队列消息,负责从自托管的 PostgreSQL 数据库中获取通知注册,并将其发送到谷歌和苹果的推送通知平台。

来源:https://www.theguardian.com/info/2022/dec/15/our-journey-towards-the-fastest-breaking-news-service

该团队使用 ELK 栈改进了整个过程的可观测性,这对于识别瓶颈至关重要。

他们认为检索通知注册是造成延迟的主要瓶颈。进一步的调查发现存在大量的数据库连接错误,从而导致处理时间过长。为了解决这个问题,团队引入了 RDS 代理,这样 lambda 函数就不会直接连接到数据库,从而避免了触达数据库的连接限制。

查询执行时间过长被认为是延迟的另一个原因。在判定查询计划是正确的之后,为了进一步提高数据库性能,一个完整的真空进程删除了“死行”(数据库仍保留的逻辑删除行),并将数据库从版本 10 升级到了版本 13,该版本允许使用更强大的 AWS Gravitron2 处理器。

团队通过创建一个新的 RDS 实例来升级数据库,以最大限度地减少切换过程中的停机时间。他们设置了逻辑复制来持续同步数据,而应用程序服务则使用旧实例。在切换时,团队更新服务以使用新实例,并立即禁用逻辑复制。

来源:https://www.theguardian.com/info/2022/dec/15/our-journey-towards-the-fastest-breaking-news-service

在持久层之外,开发人员发现,负责向苹果 / 谷歌平台提交通知的 lambda 函数需要长达六分钟的时间才能完成接收人数超过 80 万的突发新闻。

该团队通过部署潜在的优化并观察结果进行了几次实验,每次都需要决定更改的保留和恢复。基于这些实验,他们增加了运行在 lambda 函数中的 Scala 应用程序的线程池大小,以提高并行性。此外,他们还将 lambda 函数可用的内存和 CPU 数量设置为支持的最大值,从而缩短了函数的执行时间。

Hammond 写道,继续之前,团队正在进行评估:

我们还没做完呢!我们认为,为了实现 90in2 的目标,可能需要对我们的架构进行更大的更改,特别是考虑到向 200 多万订阅者发送更大的通知时。由于所需更改的性质,我们想尝试实施 RFC 风格的流程,以便在开始开发之前收集想法和反馈。

《卫报》的核心通知平台是开源的。

原文链接:

https://www.infoq.com/news/2023/05/guardian-push-architecture/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

一个价值70亿美元的教训!如何避免平台工程变成“大灾难”?

阿里云一年内将分拆上市;58同城被曝裁员,部分比例达50%;ChatGPT推出iOS版,免费还支持语音 | Q资讯

失控的不仅仅是云成本:一年为可观测性狂烧4.5亿,有钱的“大冤种”也扛不住了

涉及数万人、历时三年,国内最大规模的云原生实践是如何打造出来的?

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
避免成为“象牙塔”架构师:架构师和组织之间的关系关于开展“清朗·优化营商网络环境 保护企业合法权益”专项行动的通知AMD:最新架构锐龙 7000 移动处理器采用橙色贴纸从零开始搭建一个通用的业务技术架构,这套架构有点牛逼!友情推送|宾大贵格创投俱乐部|对话B站百大UP主小Lin说——职场精英的创业之旅:自媒体时代的机会与挑战重磅!无证移民驾照失效!极右州颁最严移民法:看病,接送通通要查身份!AI时代,你需要了解的AI 数据库架构设计和内存优化思路斗鱼直播推送“坐断”软色情表演 违规行为不再影响主播收入Slack利用自定义的跟踪架构来协助排查消息通知问题往事并不如烟知识产权局《关于开展知识产权服务业集聚发展区建设优化升级工作的通知》【4月岗位推送I】应届毕业生岗位+实习岗位来咯!拿到了移民签证但没登陆,又拿到了美国大学录取通知书,怎么在大学注册?没有F1|移投路群my tasks in terms of their emotional value别的简报|卫报称澳洲大学面临危机,未提供应有教育规范即治理函数:LLM 赋能的软件架构治理与架构设计直面业务出海难题:强合规架构、数据合规、多云架构的实践经验|QCon广州“上学是为了移民”,幼儿不当言论被调查,那上学究竟能不能移民?服务器推送事件:一种从服务器流式推送事件的简易方法 | Linux 中国InfoQ 2023 年趋势报告:事件驱动架构、深度学习和人工智能、云原生架构和容器化技术震惊!妹子跑马拉松拉肚子,边跑边喷!没想到一路带翔!成绩超狂!注意,这是一条有味道的推送…全文 | 优化调整稳就业政策措施,国办通知→ArchGuard Co-mate:一次关于大语言模型与架构治理、架构设计的探索CPU处理器架构、微架构及授权模式谷歌即将发布最新 AI 大模型;中移动推出周杰伦数字人;《流浪地球》片方筹建中国科幻电影乐园 | 极客早知道基金业大动作!多家公司优化投研体系,重建架构、调整激励制度…宇宙人(1296期)2023移动互联网蓝皮书:卫星通信进入移动通信发展主航道;NASA的LCRD双向激光中继系统在轨实验满一年解密成本结构优化:助企业节省云上开支,移动云是如何做到的?加拿大留学生向新学生建议:除了移民之外,这件事也特别关键!币安确认开启人员优化,调整组织架构之际还将开放数百个职位归来【4月岗位推送Ⅰ】应届毕业生岗位+实习岗位来咯!往事并不如烟质疑习总携普大帝共创“百年大变局”:海外华人看中国走向【金融行业】稳利率、控费用,优化结构、弱化“两增”—评银保监会2023年小微金融服务通知
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。