我想在android中开发一个聊天应用程序。我必须使用node.js在app中传递消息,我也必须使用gcm进行推送通知(如果用户不在线且有人向用户发送了消息,我必须向接收者发送推送通知)
我的架构:
用户A向用户B发送了一条消息:
将此消息发送到node.js服务器
Node.js服务器接收消息和接收者
然后node.js服务器查找数据库以获取接收者的在线状态
如果接收方不在线node.js服务器将向gcm服务器发出http请求以进行推送通知。
如果接收者在线,则node.js服务器使用套接字系统将消息发送给接收者。
但我的算法存在问题。在每个消息node.js中将查看数据库的在线状态。我认为这对服务器来说不太好。
你有什么建议?我怎么处理这个?