写点什么

骑士卡:基于 Kafka 搭建消息中心,上亿消息推送轻松完成

  • 2021-02-23
  • 本文字数:1717 字

    阅读完需:约 6 分钟

骑士卡:基于Kafka搭建消息中心,上亿消息推送轻松完成

全球购骑士卡是国内领先的会员制特权电商平台,汇聚国内外“吃喝玩乐买”超 300 项会员专属优惠特权。全球购骑士卡基于移动互联生活方式,打通线上、线下消费场景,汇集时下热门、高频的商品及服务优惠。会员可享全国超万家大型商超购物 8 折起、全国加油 7 折起、热门电商平台专属 4 折起、大牌美食餐饮 5 折起等,满足用户吃、喝、玩、乐、买各场景的消费需求。截至 2020 年,全球购骑士卡已累计服务用户超 5000 万名。2020 年 4 月,全球购骑士卡完成 A 轮数千万美元融资;同年 5 月,全球购骑士卡完成数千万美元 A+轮融资。

新的需求

全球购骑士特权业务的飞速发展,当前每天平均发送的短信量达到了约 200 万+,需要 PUSH 的推送量达到了约 1 亿+,通过微信推送量达到了 5000 万+。因此,如何构造建设一个高性能、高稳定性、可扩展的消息中心迫在眉睫。


消息中心技术选型主要参考以下因素:

  • 削峰填谷能力:消息中心需要处理各条业务线的通知和营销任务的信息,而这些信息根据转化的需要,很大可能会集中化地在短期内进行推送,所以需要系统有削峰填谷的能力。

  • 接口通用能力:消息中心的接入方不希望被绑定在某个接口上,不需要对该接口进行维护可以供多个业务方进行发送处理。

  • 灵活类型划分:消息中心需要支持灵活的业务分类配置, 因为我们消息中心这里的业务配置非常多,大类就有短信、PUSH、微信推送,短信里又分通知、验证码和营销类别,而 PUSH 又区分 APNS、渠道服务商等第三方通道,以及 Android 厂商通道。

  • 稳定处理能力:所依赖的技术产品运行稳定,因为处于消息中心的通道位置,不能忍受产品本身的稳定性波动带来的业务损失。

  • 集群扩展能力:所依赖的技术产品没有扩容瓶颈,对于我们的业务继续发展有扩展的足够空间,可以快速进行业务扩容诉求。

新的解法

使用消息中间件来做消息中心的通道是显现而见的目标选项,综合对比多种消息的产品,由于骑士卡并没有需要顺序消息、事务消息等高阶功能,而是重点关注以下这些功能点:


  • 队列的扩展能力:在这方面,RabbitMQ 的单 Queue 的处理能力不容易扩展;而 RocketMQ 的 Topic 是有 ConsumerQueue 的参数来进行配置扩容的,在 Broker 的配置文件里指定,但是对 Broker 层面生效的;而 Kafka 的 Partition 可以每个 Topic 拥有不同的取值。这样在分类灵活性方面,Kafka 是最优的选择,RocketMQ 次之。

  • 通用的接入方式:本质上 RabbitMQ、RocketMQ、Kafka 都是私有协议的方式接入,比较云上商业版本的接入方式,对于 Kafka 支持最纯粹友好,可以使用官方的接入方式进行接入。

  • 消息的吞吐能力:在各类消息的对比测试中, 因为 Kafka 本身的处理机制原因,都是由客户端进行拉消息,整个 Broker 的处理方式比别的消息中间件要简洁,而 Kafka 的读写能力/吞吐量都是最大的。

  • 集群稳定性能力:云上的消息产品都很友好地保持业务的连续性来进行升配操作,并且对于商业版本的 Kafka 做了 Broker 上的优化,存储上的优化,运维上的优化后,不需要担心自建集群出现的不稳定问题,完全满足骑士卡的需求。

业务价值

使用 Kafka 构建消息中心,对骑士卡来说最重要的是保障了业务的稳健。利用 Kafka 的吞吐能力,自定义的 partition 设定(扩展),通过弹性扩展消费者实例的方式,自消息中心上线以来,一直运行平稳,没有出现过影响业务的故障。


同时,系统运维起来十分简单。利用云上的 Kafka 能力,避免了测试期自建集群莫名其妙的 Broker 故障,不需要投入额外的资源来保障消息中间件正常工作。并且可以通过白屏化的升级操作来匹配骑士卡的业务发展,也可以按需要来快速调整实例数。


值得一提的是,使用云产品 Kafka,无论在生产环境还是本地开发测试环境,都可以直接使用云产品,最大限度减少通用产品依赖,让团队专注于业务的开拓实现,极大的提升了团队工作效率。


“在全球购骑士卡消息中心的搭建过程中,我们使用阿里云的 Kafka 完成了消息中心高吞吐量,稳定以及可扩展的目标。目前,消息中心作为业务运营推广的基石,发挥着重要作用,对于新业务的接入,通过消息队列的配置修改即可完成,对现有业务可以做到无侵入,尽可能的减少了故障发生的可能。”


——骑士卡 CTO


本文转载自:阿里巴巴中间件(ID:Aliware_2018)

原文链接:骑士卡:基于Kafka搭建消息中心,上亿消息推送轻松完成

2021-02-23 13:003875

评论 2 条评论

发布
用户头像
开什么玩笑,这种文章infoq也发?技术内容在哪?
2021-02-24 17:21
回复
用户头像
这是阿里云的广告不
2021-02-24 14:11
回复
没有更多了
发现更多内容

IT 外包可以提高企业效率和生产力吗?

Ogcloud

IT外包 IT外包公司 IT外包服务 IT外包企业 IT外包服务商

中国互联网母婴行业年度分析2024

易观分析

淘宝商品详情API接口开发实战

Noah

如何定量分析 Llama 3,大模型系统工程师视角的 Transformer 架构

Baidu AICLOUD

Transformer llama GPU 利用率 推理并发

Java CompletableFuture 异步超时实现探索

京东科技开发者

防御性编程:让系统坚不可摧

京东科技开发者

IT外包服务成功案例分享与优势解析

Ogcloud

IT外包 IT外包公司 IT外包服务 IT外包企业 IT外包服务商

【YashanDB知识库】update/delete未选中行时,v$transaction视图没有事务,alter超时问题

YashanDB

yashandb 崖山数据库 崖山DB

“网络去NAT”工作的推进,对IPv6升级改造提出新要求

国科云

科技快讯丨智驱未来,校企共融:浪潮海岳携手山东大学软件学院开展低代码开发实训活动

inBuilder低代码平台

活动 高校 #开源

借鉴Mico、Poppo live、Bigolive、Uplive、MIGO、IShow、Streamkar简述运营海外视频直播APP,技术开发难点以及运营方向

山东布谷科技胡月

直播平台源码 直播APP源码 海外社交APP 海外直播APP源码 聊天交友源码

人工智能丨ReACT 推理提示

测试人

软件测试

TiDB Hackathon 2024丨用 TiDB 构建未来的 AI 创新应用, 瓜分超 ¥210,000 奖金池!

PingCAP

项目 hackathon TiDB 竞赛

平凯星辰亮相 2024 中国国际金融展,发布银行交易明细查询白皮书

PingCAP

金融 会议 TiDB 交易明细

SIGGRAPH 2024 | 物理模拟领域再攀高峰!网易伏羲最新技术成果成功入选

网易伏羲

Python 算法

软考架构师必过的学习经验

源字节1号

小程序 开源 后端

Mistral 发布 Large 2 123B 大模型;微软发布 VALL-E 2,零样本实现声音克隆丨 RTE 开发者日报

声网

一文了解MySQL索引机制

京东科技开发者

技术前沿|ICML 2024 中稿快讯!解锁大模型密态推理场景下的“百变怪”?

隐语SecretFlow

微信小程序不备案有什么后果

源字节1号

小程序 开源 后端

杭州银行与平凯星辰联合荣获 2024 “金鼎奖”

先锋IT

杭州银行 x 平凯星辰 TiDB “行领柜面系统”荣获 2024 “金鼎奖”

PingCAP

安全 创新 金融 银行 TiDB

100行代码手把手带你实现Feisitel加密算法

我再BUG界嘎嘎乱杀

Python 网络安全 安全 加密算法 Feisitel

【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常

YashanDB

yashandb 崖山数据库

骑士卡:基于Kafka搭建消息中心,上亿消息推送轻松完成_大数据_阿里巴巴中间件_InfoQ精选文章