选型
方案一:成熟产品
市面上有很多成熟产品:云旺、环信、jpush......很多平台都在做,还做的比较完善,拿来即用。但是都不太符合我们的需求,主要是聊天记录永久保存的问题不好处理(这里有个业务上的妥协方案,30天以内的按第三方的接,以外的单独查看聊天记录)。
方案二:XMPP二次开发
代表产品:openfire等开源产品,优点是开源灵活,缺点是要搭建服务器支撑。
方案三:对接消息服务
代表产品:阿里消息队列(ONS)和阿里消息服务(MNS)。这两个产品笔者纠结了好久,最终选择了消息队列(因为他们钉钉自己就用的这个),主要考虑是支持MQTT协议。