我需要创建一个网络表单来收集用户数据(调查),预计最高可达100-200k并发用户,可能更多。我对Java&使用RDBMS实现持久性的PHP解决方案,在这些平台上,我需要大量的虚拟机和严重的硬件负载分配来处理这种流量。
由于这可能不符合成本效益,我正在调查node.js的想法,可能还有消息队列或NoSQL数据存储。
是否有人遇到此问题并尝试过类似的解决方案?
答案 0 :(得分:2)
Node.js将是这项工作的正确选择。 Node.js每个连接只分配一个小堆,这比为每个客户端连接创建一个线程快得多,而且Node.js是非阻塞和面向事件的。
答案 1 :(得分:0)
云解决方案似乎适用于此特定问题。
AWS提供的服务器后端更少,例如,您可以通过AWS的api网关处理Web表单。您可以在其中上传处理数据的node.js脚本。使用API网关,您无需担心服务器或水平扩展;基本上你支付少量的执行时间。然后你可以将数据插入到一个nosql数据库中,例如dynamodb,它可以被缩放到几乎任何每秒的任意写操作。
这就是我处理它的方式。对于并发数量,您可以轻松地向下和向上扩展,而不会受到结构基础架构成本的困扰;也许其他云提供商提供类似的功能,但我没有经验。