千万级消息推送系统设计与实战

系统概述
  • 功能: 支持千万级用户的消息推送,包括通知和透传消息,快速触达用户,提升用户留存和活跃度。
  • 接入方式: 通过API接入,实现消息的即时推送。
  • 管理后台: 提供网页端后台,便于应用授权、业务管理、消息管理及数据查看。
基本概念
  • 移动推送: 服务器将信息实时定向送达手机的服务,具备指定接收者和实时性。
推送消息分类
  1. 通知消息: 显示在手机通知栏,适用于多种场景,如新闻、促销、产品信息等。
  2. 透传消息: 直接送达应用,不显示在通知栏,用于应用内业务逻辑,要求APP在线。
推送基本原理
  • PULL方式: 客户端定时查询服务端,考虑轮询频率,避免资源浪费。
  • PUSH方式: 服务器主动推送,客户端被动接收,需维持长连接,实时性强,消耗资源。
  • SMS方式: 通过拦截短信获取信息,成本高,使用较少。
功能介绍
  • 推送形式: 包括通知栏消息、应用内透传消息、点击跳转消息。
  • 推送方式: 支持按用户、设备、模板、条件、定时推送。
推送流程
  1. 客户端SDK通过安全验证连接接入层服务。
  2. 绑定token及用户信息,分库分表存储。
  3. 业务方调用API发起推送请求。
  4. 推送请求写入Kafka队列。
  5. 消费服务查找设备,推送给第三方平台。
  6. 第三方系统推送消息至客户端。
  7. 厂商回调服务端接口,统计触达率。
  8. 客户端SDK回调点击接口,统计点击率。
服务端设计
  • 创建token,缓存应用token。
  • 提供统一接口,屏蔽厂商推送细节。
  • 批量推送接口限制,拆分任务,推送并记录结果。
规划与展望
  • 速率限制: 增加主动退避的速率限制功能。
  • 用户画像对接: 迭代用户画像标签,方便圈选用户群体。
  • 数据漏斗: 增加数据维度,提高监控效率。
  • 机器学习: 结合推送数据,提高召回率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值