我在Android上有一个移动应用程序需要每隔30秒发送少量数据(id,lat和long coords),以存储在坐落在amazon ec2实例上的SQL Server数据库中。作为一个示例用法,假设此应用程序有500个当前用户,每30秒发送一次数据。为了概念验证,我在数据库服务器上运行的c#中创建了一个Windows服务,该服务侦听特定tcp端口上的连接;它会线程化,并将数据写入数据库。现在这适用于我测试的5个用户,但我知道有更好的方法,我特别不希望使用在数据库服务器上运行的程序完成insert语句。所以我的问题是,从一个以可管理的方式扩展的大型用户群处理重复数据流的正确方法是什么。我已经阅读了有关实现webservices的信息,但我不确定这是否是正确的解决方案。
感谢您提供任何信息。
答案 0 :(得分:0)
使用Web服务方法肯定比使用Windows服务更具可扩展性。如果您的使用量增长到足以证明它的合理性,那么在新的EC2实例(或多个负载平衡的实例)中部署Web服务也会更容易,而不是使用与数据库实例共享资源的Windows服务。它也更易于管理,特别是在AWS下,您只需点击几下即可扩展基础架构。
此外,在Web服务(或Web应用程序,如果您愿意)下,更容易设置访问控制并采取其他预防性安全措施。