Asp.net mvc 聊天应用程序:.NET、Mongodb-AMQP或Node.js?

Asp.net mvc 聊天应用程序:.NET、Mongodb-AMQP或Node.js?,asp.net-mvc,iis,node.js,rabbitmq,amqp,Asp.net Mvc,Iis,Node.js,Rabbitmq,Amqp,最近,我被分配了编写聊天服务器之类的东西的任务,我在决定技术堆栈时遇到了麻烦。我将使用ASP.NET MVC作为主应用层,我想我已经决定使用mongodb作为部分数据存储(需要地理定位功能和边界框查询,因此可以真正使用MSSQL) 这一部分目前运行良好,但我在此阶段仅进行原型设计 该系统的一个主要部分是允许用户之间的p2p通信。目前,我正在使用saas应用程序将数据推送到移动设备上,但这只是一个临时解决方案。成本太高,无法支持我们正在寻找的并发连接数(几千个),因此我们希望推出自己的解决方案 我

最近,我被分配了编写聊天服务器之类的东西的任务,我在决定技术堆栈时遇到了麻烦。我将使用ASP.NET MVC作为主应用层,我想我已经决定使用mongodb作为部分数据存储(需要地理定位功能和边界框查询,因此可以真正使用MSSQL)

这一部分目前运行良好,但我在此阶段仅进行原型设计

该系统的一个主要部分是允许用户之间的p2p通信。目前,我正在使用saas应用程序将数据推送到移动设备上,但这只是一个临时解决方案。成本太高,无法支持我们正在寻找的并发连接数(几千个),因此我们希望推出自己的解决方案

我们已经将范围缩小到使用node.js应用程序或使用类似rabbitmq的amqp解决方案(但我们仍然将mongodb用作聊天存储层)

有人能帮忙吗?为用户提供弹性、可扩展的聊天功能,最具成本效益的解决方案是什么

谢谢,
Yannis

我应该从标准生产级服务器的SignalR获得什么样的性能?这有多容易?我不明白为什么我的问题被关闭了,我引用了一句话:“我们希望答案通常包括事实、参考资料或具体的专业知识。”。这正是我在这里要问的。体验建议解决方案的w.r.t.可扩展性。从未打算开始一个粉丝话题。甚至没有什么可以被认为是一个明确的答案。如果您在MS堆栈中,那么SignalR可能是您最好的选择,或者在后端使用MQ和/或MongoDB。NodeJS非常好,socket.io在这个时候比signal更成熟。。。如果您可以有一个固定的记录大小,那么您可以设置一个限制,并使用MongoDB作为队列。我不同意。在SO中有成千上万的问题,人们根据过去的经验表达观点。我不是在找人来为我决定这一堆。我只是在寻找人们使用每种技术解决方案的经验,这样我就可以在掌握更多信息的情况下做出决定。