项目中经常会遇到这样的场景
1) 用户注册成功之后,不仅仅会有短信通知,可能还会有系统消息弹出,或者是其他形式,但是不论是什么形式,都离不开消息的传递行为
2) 之前在200x年的时候,我们都会使用不停的polling 轮训的方式,对后台不停的刷新,只有后端也或者是数据库中有新加入的数据,立即取出将数据展示在界面上,以便通知用户
3) 在后来也就是大部分现在的模式,都是使用websocket的形式进行服务端反推送的模式,这样效果可以达到,但是如果用户注册成功之后,就退出系统,或者是用户没有手机通知,这个时候,就算用户注册
成功,他也不知道自己已经注册成功了,因为我们都知道websocket本身是不具备消息持久化的
综上所述,我们可以使用ActiveMQ/RabbitMQ+MQTT协议+前端mqtt.js 实现消息的同步以及持久化,这样就解决了,如果该用户注册之后,立即退出,等他上线之后,会通知他,之前注册的结果是成功还是
失败
1 工具汇总介绍:
IDE:Eclipse 2019.6 若有版本问题请更换idea2018之后的版本,不在赘述,我这里是用的是基于Eclipse的 spring sts4
ActiveMQ:5.15.12 linux下安装 linux使用centos6.x/7.x均可 RHEL
MQTT:v3版本 (MQTT只是一种协议,并非是一个产品,而ActiveMQ是包含MQTT协议的一款产品)