最近我被分配了一个写聊天服务器的任务,我在决定技术堆栈时遇到了麻烦。我将使用ASP.NET MVC作为主应用程序层,我想我已经决定使用mongodb作为部分数据存储(需要地理定位功能和边界框查询,因此可以使用MSSQL)。
这部分目前工作正常,但我再次只是在这个阶段进行原型设计。
该系统的主要部分是允许用户之间进行p2p通信。目前我正在使用saas应用程序将数据推送到移动设备,但这只是一个临时解决方案。成本太高,无法支持我们正在寻找的并发连接数(几千),因此我们正在寻求推出自己的解决方案。
我们已经将其缩小到使用node.js应用程序或使用像rabbitmq这样的amqp解决方案(但我们仍然会使用mongodb作为聊天存储层)。
任何人都可以帮忙吗?为用户提供弹性,可扩展的聊天功能的最具成本效益的解决方案是什么?
谢谢, 雅尼斯