首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS日志服务设计

NodeJS日志服务设计
EN

Stack Overflow用户
提问于 2015-01-19 22:38:43
回答 1查看 69关注 0票数 2

我需要使用NodeJS和Mongo编写日志服务。它每秒至少收到10,000个http请求,我不能丢失数据。我使用的是多台服务器和负载均衡器,而且每个服务器都使用集群进行扩展。有谁有办法不丢失数据吗?我想也许我可以将请求保存在一个队列(sqs)中,并且每个间隔读取消息并向db插入一个大容量,如果它失败了,将它保存在队列中,这样我就不会丢失数据。所有服务器都能读写到同一个队列吗?有人有更好的主意吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-20 00:22:26

这是一个相当模糊的问题,但你的思路是正确的。

如果您的主要目标是不丢失日志数据,并保持高吞吐量,则应该始终尝试接收任何传入数据,将其转储到队列中,并尽可能快地返回成功响应。

这将减少处理每个请求的时间,增加应用程序吞吐量,并通常提高可靠性。

一旦您将数据放入像SQS这样的排队系统中,您就可以非常肯定地运行一个简单地执行大容量DB插入的后台进程。

如果日志数据小于64 If,则可能需要考虑使用像DynamoDB这样的解决方案来存储生成的日志数据。它执行插入非常快,具有非常低的延迟(因为它运行在AWS上,就像SQS一样),并且可以很容易地处理吞吐量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28034725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档