京东和京麦有什么区别?京麦开店成功了接下来做什么

1、前言

京麦实时消息推送是京东的京麦商家开放平台的核心组成部分。从消息源到消息**再到触达用户,以及**根据消息协议呼起操作页面,京麦实时消息推送是一个完整且健康的生态闭环。下面我会详细地介绍下京麦实时消息推送是如何在演变中不断完善的。

京麦消息框架示意图:

4、消息推送的接入

原有的消息推送接入存在的弊端主要有以下两点:

1)消息接入方式多样化:

京麦消息包含业务系统类消息、服务资讯类消息以及其他各类消息类型,消息来源多种多样。当时为了快速的接入各种消息源,提供了servlet接入、client接入、JMQ接入等,接入方式多样化,加上没有完善的监控系统,这样就导致了一个很尴尬的问题,我们自己都不清楚我们的消息系统到底接入了多少种类型的消息;

2)消息处理**与消息源相依赖:

Anycall是系统消息的主要入口,从Anycall到原消息处理后台是通过servlet调用来实现的,系统间的耦合性太强。

我们后期针对新一代消息推送做的改善如下:

1)所有的系统消息统一由Anycall进行接入,清晰化消息类型边界;

2)京麦消息的接入方式统一:所有京麦消息统一通过JMQ异步化接入,并且根据不同业务通过不同的toPic进行隔离,避免数据量大的业务(比如订单消息)对其他业务的阻塞;

3)麦圈的打造、咚咚离线消息的接入等项目的完成,使得京麦消息的生态不断丰富,同时也极大的增加了用户粘性。

5、MC(京麦消息推送**)系统的搭建

▲ 原京麦消息推送系统的接入逻辑图

如上图所示,原先京麦消息推送的主要痛点如下:

1)接入方式不统一;

2)不稳定、大促被降级;

3)消息处理逻辑复杂,接入新的消息源困难;

4)没有完善的消息追踪,消息统计。

▲ 新京麦消息推送系统的接入逻辑图

基于上述原因,重新打造了一个稳定、专一的消息处理**——MC系统(如上图所示):

1)统一的JMQ接入,在上一部分已经介绍过了;

2)MC系统与其他系统没有耦合,不再存在由于消息量过大对京麦其他业务造成影响的问题,实现了在大促时可以提供稳定的服务;

3)MC系统使用了broker分发的模式:模块化可插拔的处理方式,使得新消息源的接入变的极其简单,大大的缩短了开发的周期。正是这种broker分发模式的存在,咚咚离线消息、ISV消息订阅等项目实现了快速接入,并提供服务;

4)在MC系统搭建的过程中,全链路消息追踪、消息统计也得到了实现(在第五节消息监控会详细讲解)。

6、推送消息组装的统一配置化

▲ 新京麦消息推送系统的消息组装处理逻辑图

消息过滤、消息组装、消息存储、消息推送是京麦消息**的四大核心。消息组装是根据不同消息的不同配置来进行的,而这些配置是在开发侧的config配置**来配置的,因此产品或者运营想从Anycall新接入一种系统消息所做的工作量是极其大的。

基于这个原因,我们将所有的配置环节统一到了一个页面。配置信息的获取添加三层缓存(Guava Cache redis DB)来应对海量调用。统一配置页面的存在使得业务类系统消息的接入变的简单快捷。

另一个比较大的优化是呼起协议配置化。之前消息的呼起协议是写死在消息体里面,极其的不灵活,甚至很多系统消息无法对接呼起协议直接将链接**在消息体里,用户的体验是很不好的。为此,呼起协议对接统一协议管理**(后面文章会详细介绍),所有的呼起协议会根据消息里携带的protocolID从统一协议管理**获取。呼起协议的**化、配置化使得消息在系统流转的过程中不再需要关注具体的呼起协议,简化了消息在系统中的处理逻辑。而且协议**化之后,协议的内容可以直接呈现给产品和运营,整个消息呼起的过程变得更加的清晰。

7、消息推送的触达(向客户端扩散)逻辑

▲ 新京麦消息推送系统的消息触达逻辑图

京麦消息触达分为在线通知和离线通知:

1)在线通知是通过服务端和客户端的TCP长连接来实现的;

2)离线通知在最开始只有IOS的apns推送,Android系统无法很好的进行离线通知的推送一直是一大痛点。

针对Android系统无法很好的进行离线通知的推送的问题(俗称Android网络、进程保活黑科技这些东西,详见:《应用保活**总结(一):Android6.0以下的双进程守护保活实践》、《应用保活**总结(二):Android6.0及以上的保活实践(进程防杀篇)》、《应用保活**总结(三):Android6.0及以上的保活实践(被杀复活篇)》),我们开发了Android推送的开源包,对接了华为、小米、魅族三大厂商,实现了Android离线通知的推送。

8、完整的消息推送路径监控

▲ 京麦消息推送系统的消息监控逻辑图

全链路消息追踪系统,整合从消息源到**的消息推送,整个链路各个节点消息的流转状况,并且异步化存储。从上图可以看到系统中的处理方式是,分别订阅JMQ的同一个topic实现将消息日志分别存储在ES和HBase,存ES保证了我可以在消息管理后台对所有消息进行清晰透明化的追踪查询,存HBase是为了可以将数据长久的保存并且进一步的分析。

消息统计是依托于京东大数据平台来实现的。将HBase里的数据导入到京东数据集市,从而对消息数据进行各个维度的统计分析。

9、本文小结

京麦实时消息推送架构经过一年的成长,在稳定、监控、内容丰富程度上有了长足的发展。下一步的规划是完整的消息失败重试机制、提高消息送达率、消息推送产品化等。

京麦是一个年轻且充满活力的团队,京麦消息系统伴随着京麦的成长,不断地完善优化。

上一篇2023-11-30
下一篇 2023-11-30

相关推荐

  • 快递投诉最狠的方式 邮政总局12305变成12345?

    疫情之下,人性暴露无疑! 很多人给亲人邮寄退烧药,收到后居然成了空盒子!还有很多人网上买的药品,到了后发现快递盒子破了一个大洞。然后打开一看,里面啥都没剩下。 就连

    2023-11-30 14:38:54
    457
  • 闲鱼客服介入一般谁赢?闲鱼小二介入买家必败

    早几天在头条看到几篇文章,有的说在闲鱼买了手机不好用,有的说买了笔记本电脑很卡,感觉翻车了,有的说在闲鱼被骗了钱,评论里好多说闲鱼东西不能买,好多被骗,我也在评论区

    2023-11-30 14:38:54
    328
  • 2023抖音用户数据分析 抖音的日活跃量2023

    抖音是目前最火的短视频社交软件,已成为行业的领军者,这是因为抖音与其他社交媒体平台不同的创新模式和战略。今天,我们浅谈一下抖音的发展模式、未来趋势以及普通人

    2023-11-30 14:38:54
    258
  • 商品标题怎么写?写出10个商品标题

    在网上大家开店的时候,一样还是很耗费大家的精力的,网上开店和实体店不一样,网店他完全就是靠消费者去搜索,大家有提升排名,网店商品标题怎么写? 网店商品标题怎么写?

    2023-11-30 14:38:54
    240
  • 农业银行联行号查询(农业银行联行号查询)

    农业银行联行号怎么查询,查询农业银行联行号的全方位指南关键词:农业银行联行号、查询、全方位、指南一、什么是农业银行联行号?作为中国大陆主要的银行之一,农业银

    2023-11-30 14:38:54
    232
  • 88vip会员有哪些权益?88会员都送什么会员

    大家好,我是爱分享生活的琪琪,每天给大家分享奇奇怪怪的知识点。最近淘宝88会员节快到了,不知道大家的88VIP都准备好了吗?可能也有新的友友不是很了解88VIP,今天你们就

    2023-11-30 14:38:54
    198
  • st云维股份股吧(st云维股份股吧怎么样)

    st云维股份股吧st云维股份股吧,”st云维股份”发布公告称,公司股票将于2019年12月30日开市起复牌。具体内容如下:st云维股份股吧怎么样2019年12月31日,公司发布了201

    2023-11-30 14:38:54
    194
  • 淘宝快递托管是什么意思?物流显示托管是啥意思

    随着今年双11大促活动的临近,日前有消息显示,淘宝方面近期上线了多地址合并下单功能,支持用户在同一个订单中为不同商品添加不同的地址,既免去了分开下单的繁琐,也有助

    2023-11-30 14:38:54
    181
65