Asp.net 信号聊天应用程序问题

Asp.net 信号聊天应用程序问题,asp.net,iis,xmpp,signalr,google-cloud-messaging,Asp.net,Iis,Xmpp,Signalr,Google Cloud Messaging,我正在开发SignalR聊天应用程序,遇到了一些与性能相关的问题。我有一个简单的基本问题,但我不知道如何解决这个问题 问题 当用户向当时不在线的其他用户发送消息时。那么,如何跟踪未发送的消息呢 可能的解决方案1 在数据库中插入所有消息,位字段表示其发送状态 问题: 数据库大小将随着消息的增加而增加,因此查询未发送的消息将花费更多的时间 可能的解决方案2 将不可见的消息插入某个临时数据库。发送邮件时,删除该邮件 问题: 我们正在搜索和删除这些消息。因此,并发性越强,问题就越多 这些解决方案对于较小

我正在开发SignalR聊天应用程序,遇到了一些与性能相关的问题。我有一个简单的基本问题,但我不知道如何解决这个问题

问题

当用户向当时不在线的其他用户发送消息时。那么,如何跟踪未发送的消息呢

可能的解决方案1

在数据库中插入所有消息,位字段表示其发送状态

问题: 数据库大小将随着消息的增加而增加,因此查询未发送的消息将花费更多的时间

可能的解决方案2

将不可见的消息插入某个临时数据库。发送邮件时,删除该邮件

问题: 我们正在搜索和删除这些消息。因此,并发性越强,问题就越多

这些解决方案对于较小的用户可能是可行的。 我听说这可以通过谷歌云消息来实现。我想要一些建设性的解决方案,而不是第三方配置


无论是在概念上还是在技术上,任何帮助都将不胜感激。

平均邮件数量和邮件大小是多少?我们的目标是whatsapp式的流量。活动资源在这里可以很好地工作