消息通知系统,顾名思义即通知消息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。
消息通知微服务的定位是“平台内”的“消息”功能,分为全员消息,订阅类消息,点对点消息。例如系统通知,私信,@类消息
系统通知,活动通知,管理员公告等全部用户都会收到的消息
关注某一类数据的用户,该类数据有更新时向用户发送的消息。例如关注某位大v的微博,公众号,订阅某位知名作家的专栏
某位用户对另外一位用户进行操作后,系统向被操作的用户发送的消息。例如点赞,发红包。
这里先不考虑后端整体实现,前端与后端之间通讯方式如何选型,如何实现实时/准实时数据交互:
需要介绍下三种通讯方式:
客户端和服务器每进行一次通讯,就建立一次连接,通讯结束就中断连接。
HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。HTTP/1.0使用的TCP默认是短连接。
是指在建立连接后可以连续多次发送数据,直到双方断开连接。
HTTP从1.1版本起,底层的TCP使用的长连接。
使用长连接的HTTP协议,会在响应头加入代码:Connection:keep-alive
短连接:创建连接 -> 传输数据 -> 关闭连接 长连接:创建连接 -> 传输数据 -> 保持连接 -> 传输数据 -> …… -> 关闭连接
短连接:并发量大,数据交互不频繁情况
长连接:数据交互频繁,点对点的通讯
优缺点如下:
在 WebSocket中,浏览器和服务器只需要完成一次握手,就可以创建持久性的连接,并进行双向数据传输。
在推送功能的实现技术上,相比使用Ajax 定时轮询的方式(setInterval),WebSocket 更节省服务器资源和带宽。
出于服务器性能和实时性考虑,前后端通讯方式采用WebSocket协议实现。
阅读量:2047
点赞量:0
收藏量:1