我正在开发SignalR聊天应用程序并遇到一些与性能相关的问题。我有简单的基本问题,但我不知道如何解决这个问题。
问题
当用户向当时不在线的其他用户发送消息时。如何跟踪未发送的消息。
可能的解决方案1
在数据库中插入所有消息,其中位字段表示其发送状态。
问题: 数据库大小会随着消息的增加而增长,因此查询未发送的消息将花费更多时间。
可能的解决方案2
将看不见的消息插入某个临时数据库。发送邮件时,删除该邮件。
问题: 在这里,我们正在搜索和删除消息。所以,更多的并发性,更多的问题。
这些解决方案对于较少用户可能是可行的。 我听说可以通过 Google Cloud Messaging 来完成。我想要一些建设性的解决方案,而不是一些第三方配置。
无论是从概念上还是从技术上来说,任何帮助都会受到赞赏。