写点什么

骑士卡:基于 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:003805

评论 2 条评论

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

京城传喜报:汨江源喜获2023第25届北京高端油博会“金奖”

科技热闻

BH1750 传感器实战教学 —— 硬件设计篇

矜辰所致

传感器 硬件设计实战 光照传感器 6 月 优质更文活动

学习MyBatis的异常处理机制

Java mybatis

软件测试/测试开发丨接口测试学习笔记分享

测试人

程序员 软件测试 协议 接口测试 http和https

凝聚全球顶尖力量,助力开源行业发展 | 2023开放原子全球开源峰会开幕式暨高峰论坛亮点抢先看!

开放原子开源基金会

开源

WHATWG vs W3C

MonkeyZz

原来kafka也有事务啊,再也不担心消息不一致了

Java kafka 事务

目前青岛只有一家正规等保测评机构吗?在哪里?

行云管家

青岛 等级保护 等保测评

【618备战巡礼】“三高”之第一高--如何打造高可用系统 | 京东云技术团队

京东科技开发者

高可用 集群 高可用架构 618 企业号 6 月 PK 榜

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化)、CNN+LSTM模型建模

汀丶人工智能

人工智能 数据挖掘 机器学习 LSTM RNN回归 6 月 优质更文活动

20个Golang片段让我不再健忘 | 京东云技术团队

京东科技开发者

Java Go 语言 企业号 6 月 PK 榜

对线面试官-线程池(三)

派大星

Java 面试

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[1]、NetCDF4使用教学、Xarray 使用教学,针对气象领域.nc文件读取处理

汀丶人工智能

人工智能 数据挖掘 机器学习 深度学习 6 月 优质更文活动

浅谈ByteHouse Projection优化实践

字节跳动数据平台

OLAP Clickhouse bytehouse

阿里Java调优笔记爆火,7大模块优化实战,请查收

Java 性能优化 性能调优

电动车厂家会生产制造共享电动车吗?

共享电单车厂家

共享电动车厂家 共享电单车生产 本铯电动车厂家 电动车生产厂家

INFINI Easysearch 完成龙芯架构兼容性认证

极限实验室

搜索引擎 国产化 龙芯 easysearch 极限科技

From Java To Kotlin 2:Kotlin 类型系统与泛型终于懂了

Seachal

Java android kotlin 泛型 类型

百度APP iOS端包体积50M优化实践(三) 资源优化

百度Geek说

ios 开发语言 Object-c 企业号 6 月 PK 榜 6 月 优质更文活动

NineData x 华为云正式上线

NineData

数据库 华为云 企业动态 语言 & 开发 NineData

原来kafka也有事务啊,再也不担心消息不一致了

JAVA旭阳

kafka

基于 prefetch 的 H5 离线包方案 | 京东云技术团队

京东科技开发者

ios H5 andiod prefetch_related 企业号 6 月 PK 榜

GitHub星标20k+的Java指南,号称"Star收割机"

Java java面试 Java八股文 Java面试题 Java面试八股文

从Docker和Kubernetes看Containerd

鲸品堂

Docker 容器 Containerd 企业号 6 月 PK 榜

容器化部署四大优势简单说明-行云管家

行云管家

容器化 部署 IT运维 容器化部署

时序数据库 openGemini 线下meetup · 北航站来啦,欢迎大家报名!

华为云开源

数据库 前端

太赞了!阿里技术团队《Java 面试官手册》突击版对外开放!

Java java面试 Java八股文 Java面试题 Java面试八股文

Github 上最值得学习的 Springboot核心笔记,硬核简直了

Java spring Spring Boot 框架

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[3]:TCNN+RNN模型、SA-ConvLSTM模型

汀丶人工智能

人工智能 数据挖掘 机器学习 LSTM 6 月 优质更文活动

如何轻松应对复杂的分布式系统日志收集和分析

xfgg

ELK 日志收集架构 6 月 优质更文活动

直播app源码开发的稳定控制知识

山东布谷科技

软件 App 开发 搭建平台 直播app系统

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