京东京麦的后台服务规则线上

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

京商城开放平台的消息接入、MC系统搭建、消息配置、消息触达、消息监控五个方面来阐述和分享京实时消息推送架构在2017年的成长

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

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消息订阅实现了快速服务并提供服务。

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

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

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

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

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

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

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

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

针对Android系统无法很好的进行离线通知的推送的问题(俗称Android网络、进程保活黑科技这些东西,详见:《》、《》、《》)我们开发了Android推送的开源包,对接了华为、小米、魅族三大厂商实现了Android离线通知的推送。

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

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

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

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

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

)在左侧导航中进入“我的配送”中“电子面单服务”申请开通适合自己的快递公司,并提交相关信息等待快递公司网点审核审核通过后,下载京工作台()在插件市场中选择传美打印工具即可以打印三方快递和及京东快递电子面单。

      传美打印一次性设置方法:主账号订购传美打印后完善发货人信息,在更多功能中选择“快递单模板设置”选择模板“更新网点”同步订单就可以打印发货了。传美客服QQ:

无锡至少有两所正规大学: 1、江喃大学 2、南京农业大学无锡渔业学院由于它不直接在无锡召本科生,所...

我要回帖

更多关于 三把麦规则 的文章

 

随机推荐