level 1
xppx2008
楼主
我要实现的是类似聊天QQ,微信这种应用程序。
我的初步解决方案,使用NodeJS开发一个推送服务器,它每秒中对MongoDB的推送数据进行轮询。
NodeJS的Rest服务的服务器收到用户A向用户B发送的消息后,将消息存入MongoDB的推送数据表,并记录时间存入时的时间。
推送服务器轮询MongoDB的推送数据表,取出上一次查询的时间到本次查询的时间之间的数据,并删除上一次查询时间以前的数据。
反正服务器也要做轮询处理客户端连接的心跳检测,顺便也用来做推送数据检测。
这种服务器可以开多个,使用forever进程守护,每个推送服务器被一定数量的websocket客户端连接。
这种解决方案有一些问题:
1.轮询的方式不能立即推送。
2.需要推送服务器和Rest服务服务器时间同步,否则会乱存,乱取,乱删。
请问有没有更好的解决方案?
2016年03月21日 12点03分
1
我的初步解决方案,使用NodeJS开发一个推送服务器,它每秒中对MongoDB的推送数据进行轮询。
NodeJS的Rest服务的服务器收到用户A向用户B发送的消息后,将消息存入MongoDB的推送数据表,并记录时间存入时的时间。
推送服务器轮询MongoDB的推送数据表,取出上一次查询的时间到本次查询的时间之间的数据,并删除上一次查询时间以前的数据。
反正服务器也要做轮询处理客户端连接的心跳检测,顺便也用来做推送数据检测。
这种服务器可以开多个,使用forever进程守护,每个推送服务器被一定数量的websocket客户端连接。
这种解决方案有一些问题:
1.轮询的方式不能立即推送。
2.需要推送服务器和Rest服务服务器时间同步,否则会乱存,乱取,乱删。
请问有没有更好的解决方案?