我正在开发一个Android应用程序(以及后来的iPhone等价物)文本处理应用程序。与所有消息传递应用一样,我的应用会发送和接收消息我用Eclipse和ADT创建了一个基本的应用程序。我已经发布了下面的架构。对于JAVA,我是一个新手。
此应用适用于模拟器和我的设备。但我不知道如何使这个应用程序可扩展。我所做的是在消息到达Web服务器并将信息写入mongoDB并关闭数据库连接时建立连接。当我需要向移动设备发送消息时,我建立连接,从mongodb获取数据并将其发送到移动应用程序,关闭数据库连接
我的意思是在实际生产环境中,如果100或10000个设备向运行服务的服务器发送消息,我不知道如何使用servlet处理此请求。我不确定是否为每个帖子建立数据库连接并获取请求。我相信有更好的方法可以做到这一点。
我希望设置一个私有云,其余api同时处理1000个请求。
任何人都可以告诉我如何实现这一目标。我正在使用的技术堆栈是正确的还是我错过了什么?请告诉我。
感谢您的时间和建议。
答案 0 :(得分:0)
您最好的选择是编写一个性能测试来模拟您正在谈论的场景(100 - 10,000个设备发送消息)并查看结果如何。您想要考虑要测试的内容,例如
您不应该在一次测试中测试所有这些,但要弄清楚哪些对您很重要并编写适当的测试(或一系列适当的测试)
您获得的结果将取决于您在测试期间使用的硬件,但您应该能够了解您的架构是否能够处理您期望的各种负载,或者您是否需要重新设计它。
我为“编写Java性能测试”和“设计REST性能测试”做了快速谷歌,并且有很多关于此类事情的文章,网络研讨会和培训。