无惧百万级并发,GaussDB(for Cassandra)让华为推送服务更快触达

无惧,百万,并发,gaussdb,for,cassandra,华为,推送,服务,更快 · 浏览次数 : 18

小编点评

**华为推送服务快速触达用户** 华为推送服务是华为云提供的消息推送平台,支持从云端到终端的消息推送。通过集成推送服务,您可以向客户端应用实时推送消息,让应用更精准触达用户。 华为云GaussDB(for Cassandra)是一款基于计算存储分离架构的分布式数据库,可以帮助Push业务应对消息缓存的挑战。 **GaussDB(for Cassandra)的优势:** - 超高性能:支持千万级并发访问、分钟级计算扩容。 - 高可用性:支持异地双活、region级高可用。 - 安全性:提供多节点分布式架构,理论上可以达到N-1个节点故障容忍。 - 数据一致性:提供CQL语法和灵活的数据定义支持。 **如何利用GaussDB(for Cassandra)提升消息缓存体验:** - 使用范围查询将同一用户设备的多条信息批量查出。 - 使用Batch写入,降低客户端与数据库的交互次数降低存储使用量。 - 利用TTL、范围删除、单行删除等多种手段,根据业务情况灵活使用达到数据消亡的目的。 - 支持异地双活,实现业务恢复和故障恢复解耦。

正文

摘要:推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。通过集成推送服务,您可以向客户端应用实时推送消息,让应用更精准触达用户,是开发者提升用户感知度和活跃度的一件利器。

本文分享自华为云社区《无惧百万级并发,GaussDB(for Cassandra)让华为Push推送服务更快触达》,作者:GaussDB 数据库。

推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。通过集成推送服务,您可以向客户端应用实时推送消息,让应用更精准触达用户,是开发者提升用户感知度和活跃度的一件利器。

华为云GaussDB(for Cassandra) 是一款基于计算存储分离架构的分布式数据库,致力于提供稳定可靠、超高并发,兼容Cassandra生态、弹性伸缩、一键部署、快速恢复、监控告警的分布式数据库服务,在Push业务的高效架构建设中,起到了关键的作用。

业务挑战

Push服务能够协助开发者快速触达用户,其提供的系统级通道推送速度每秒最高可达百万级,消息量每日百亿级,并且支持实时消息回执。如此高到达率的背后,是因为Push使用了大量分布式架构、高性能队列、大数据分析、数据库、AI等技术,用来支撑实时推送、精准送达业务的高效开展。

Push的主要业务链路是发送上行消息和下行消息,接下来我们从发送下行消息流程来了解业务在哪些场景上用到了数据库,以及对数据库的要求有哪些?

下行消息交互图如下所示:

当用户设备网络条件良好且不拥堵的情况下,华为Push服务器在收到消息后,会先将消息存入高性能队列中,然后队列消费消息发送给用户设备。但是当用户设备处于弱网、网络异常,或不在线、熄屏状态时,消息无法到达设备,或此时发送消息价值较低。Push业务为了保障消息不丢失,以及提升消息的有效率,利用数据库为底座,来支持离线消息缓存能力。

离线消息缓存是指当消息到达华为Push平台后,如果设备不在线,华为Push平台会将消息缓存起来,等到设备上线后,华为Push平台会将缓存的消息再次推送给用户。如果用户很长时间不在线,这些缓存的消息默认保存24小时,最长保存15天,超期的消息会被Push平台丢弃。

此时,在数据库的选型上就需要考虑以下几个问题:

  1. 推送速度每秒百万级,极端场景下,大部分写入数据库,会有每秒百万写入请求,数据库需要具备超高的写入能力;
  2. 当设备恢复正常状态时,消息会从数据库中读出发送给用户,消息的实时性会直接影响到消息的价值,此时就要求数据库的读时延低且长尾时延稳定;
  3. 推送的消息中,多与时事热点相关,容易引发流量突增,且不可预知,这就要求数据库具有快速弹性伸缩的能力;
  4. 为达成AI智能推送的能力,可能需要对数据库中的数据进行数据挖掘和分析,从而实施智能推送策略,数据库需支持与主流大数据引擎兼容的接口和解决方案。

为什么选择GaussDB(for Cassandra)?

基于以上挑战,Push业务经过一系列技术选型,最终选择了GaussDB(for Cassandra)数据库。GaussDB(for Cassandra)凭借丰富强大的特性,可以帮助Push业务很好地应对消息缓存的挑战:

  1. 从请求量上看,GaussDB(for Cassandra)轻松支持千万级并发访问,高并发不在话下;
  2. 从时延上看,GaussDB(for Cassandra)除了本身具备超低时延的能力外,在并发量大的情况下,可通过扩容和规格变更,增加分区和负载均衡保证业务时延基本无变化;
  3. 从弹性伸缩上看,GaussDB(for Cassandra)基于存算分离架构,支持秒级存储扩容,分钟级计算扩容,轻松应对流量高峰;
  4. 从兼容能力看,GaussDB(for Cassandra)支持CQL语法和灵活的数据定义,同时兼容主流的批式/流式处理引擎(Spark/Flink等),且提供动态增量+全量的解决方案,供大数据分析引擎接入,充分满足不同类型数据的接入需求。

如何利用GaussDB(for Cassandra)提升消息缓存体验

下面,我们将从具体的几个技术改进来聊聊,GaussDB(for Cassandra)是如何帮助Push业务获得更好的消息缓存体验。

降本增效

  • 降低Push集群对数据库请求量:
  • 表结构设计时,将同一用户设备的多条信息存入同一partition中
  • 在读取时,可使用范围查询将同一用户设备的多条信息批量查出,且时延较低
  • 在写入时,使用Batch写入,降低客户端与数据库的交互次数
  • 降低存储使用量:业务科通过TTL、范围删除、单行删除等多种手段,根据业务情况灵活使用达到数据消亡的目的,降低存储用量。

弹性伸缩,热点无忧

每当出现重大新闻,各大应用均产生了海量的推送消息,Push业务收到消息后,流量激增,集群规模难以支撑巨大的流量。但依靠GaussDB(for Cassandra)的快速扩容能力,Push业务实现了分钟级别的计算扩容,业务不受影响,而且当流量回归正常后,可以进行缩容降低成本。

超强可靠性,底座无忧

GaussDB(for Cassandra)不仅在读写性能上表现优异,在数据可靠性上也表现突出。因为采用多节点分布式架构,当任意盘或节点出现故障,读写操作会自动切换至其他节点,理论上可以达到N-1个节点故障容忍,即集群任一节点存活即可提供完整服务。同时还支持异地双活,实现业务恢复和故障恢复解耦,Region级高可用。

综上所述,GaussDB(for Cassandra) 为Push业务提供了高效、稳定、安全的数据库底座,助力Push业务实现了离线消息缓存架构。我们相信,借助GaussDB(for Cassandra), Push业务在消息推送领域,会为开发者提供更优质的服务和工具,助力企业提升业务价值和用户体验。

 

点击关注,第一时间了解华为云新鲜技术~

与无惧百万级并发,GaussDB(for Cassandra)让华为推送服务更快触达相似的内容:

无惧百万级并发,GaussDB(for Cassandra)让华为推送服务更快触达

摘要:推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。通过集成推送服务,您可以向客户端应用实时推送消息,让应用更精准触达用户,是开发者提升用户感知度和活跃度的一件利器。 本文分享自华为云社区《无惧百万级并发,GaussDB(for Cassandra)让华为P

第一百一十篇:内存泄漏和垃圾回收(JS)

好家伙,本篇内容为《JS高级程序设计》第四章的学习笔记 1.内存泄露 1.1.什么是内存泄漏? 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 内存泄漏缺陷具有隐蔽性、积累性的特征,比其

第一百一十六篇: JavaScript理解对象

好家伙,本篇为《JS高级程序设计》第八章“对象、类与面向对象编程”学习笔记 1.关于对象 ECMA-262将对象定义为一组属性的无序集合。严格来说,这意味着对象就是一组没有特定顺序的值。 对象的每个属性或方法都由一个名称来标识,这个名称映射到一个值。正因为如此(以及其他还未讨论的原因),可以把 EC

防微杜渐,未雨绸缪,百度网盘(百度云盘)接口API自动化备份上传以及开源发布,基于Golang1.18

奉行长期主义的开发者都有一个共识:对于服务器来说,数据备份非常重要,因为服务器上的数据通常是无价的,如果丢失了这些数据,可能会导致严重的后果,伴随云时代的发展,备份技术也让千行百业看到了其“云基因”的成长与进化,即基于云存储的云备份。 本次我们使用Golang1.18完成百度网盘(百度云盘)接口AP

LangChain让LLM带上记忆

最近两年,我们见识了“百模大战”,领略到了大型语言模型(LLM)的风采,但它们也存在一个显著的缺陷:没有记忆。在对话中,无法记住上下文的 LLM 常常会让用户感到困扰。本文探讨如何利用 LangChain,快速为 LLM 添加记忆能力,提升对话体验。

PPT 三维地球动画

Windows 10 系统自带 画图3D,可以无缝和PPT衔接在一起 百度找一张图片 拖动,包围 到PPT中,插入3D模型(只有 office 365 有) 我这边没有,所以不好继续了 视频地址:(https://www.bilibili.com/video/BV1w54y1Q7cZ?p=7)[ht

上周热点回顾(9.18-9.24)

热点随笔: · 蜘蛛的依旧疯狂与园子的新畅想:尝试放出被屏蔽的百度蜘蛛网段 (博客园团队)· 逃不过转行的命运,与互联网无缘了 (哈er)· JDK21来了!附重要更新说明 (DaFanJoy)· 【逆向专题】【危!!!刑】(一)使用c#+Win32Api实现进程注入到wechat (四处观察)· 

华为云开发者日震撼来袭!11月20日,上海见!

首场华为云开发者日HDC.Cloud Day开始报名啦!相约上海,感受科技的无限魅力! 华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,打造开发者专属的技术盛宴。汇聚来自千行百业、高校及科研院所的开发人员,全方位服务与赋能开发者围绕华为云生态开启“知、学、用、创、商”的成长路径。

视频实时自然美颜, 无惧素颜上镜

华为HMS Core 视频编辑服务依托自身AI技术的核心优势,在最新版本HMS Core 6.8.0中上线了全新的视频美颜功能,能对指定图片或视频中的人脸实现磨皮、美白、大眼、瘦脸的美颜效果,适用于直播、相机、视频剪辑、图片处理等场景中,打造独特自然的美颜效果。 HMS Core视频美颜功能在技术上

日常Bug排查-改表时读数据不一致

前言 日常Bug排查系列都是一些简单Bug的排查。笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材。 Bug现场 线上连续两天出现NP异常,而且都是凌晨低峰期才出现,在凌晨的流量远没有白天高峰期大。而出问题的接口又是通常的业务请求。于是,很自然的,我们就想凌晨有什么特殊的运维动作,翻了下时