多个不同的app应用间应该如何进行消息推送呢?
现在很多公司做app应用都会用到推送,推送这个不多说了,怎么做网上一堆,用的比较多的还数极光推送(Jpush)以及百度推送,目前我们使用Jpush,文档方面质量是差了点。。这个先不吐槽,主要现在的app应用很多公司不是做单个,而是多个,比如打车软件有司机端和用户端,运输类应用会有司机端、车主端、货主端,那么不同的端之间会有推送消息,比如用户打车,司机接单,需要相互提醒,那么Jpush是不支持交叉推送的
如上,也就是说一个应用需要对应一个app应用,这个和微信支付其实是一个道理,一个app应用只能对应一个微信账户,多个就得多次申请
那么问题来了,多个应用间需要推送消息,而Jpush却又不支持,那么我们可以这么做:
-
在不同工程开放restful web service(以下简称“RestWS”),把需要推送的消息用消息队列(我们使用RabbitMQ)发送给RestWS,WS接受处理后会调用自己所对应的Jpush数据源,这样可以实现交叉推送,如下图:
-
MQ在2个不同的系统进行通知,手动在RMQ管理后台进行绑定对应的消息队列(这种方式我个人不习惯使用,感觉不方便,所以就不多说了)
关于RabbitMQ的一些文章可以参考我的博客或者历史消息~