tin*_*per 4 sql-server logging amazon-sqs amazon-web-services node.js
我们有一些nodejs服务器,其中每个请求的详细信息和有效负载需要记录到SQL Server以进行报告和其他业务分析.
服务器之间的请求数量和需求相似性让我想通过集中式日志服务来解决这个问题.我的第一直觉是使用类似Amazon SQS的东西,让它直接作为SQL Server的缓冲区,或者构建一个小的日志记录服务器,这将使SQS指导数据库调用.
这对SQS来说听起来是不是很好用,还是我缺少一个广泛使用的工具来完成这项任务?
解决方案将取决于您使用的数据量,因为每项服务都有限制.仅举几例:
SQS
最小消息大小为1个字节(1个字符).最大值为262,144字节(256 KB).
要发送大于256 KB的消息,你可以使用Java的亚马逊SQS扩展客户端库.该库允许您发送包含在Amazon S3的消息负载参考亚马逊SQS消息.最大有效负载大小为2 GB.
CloudWatch Logs
(不要与高级云监视服务本身混淆,后者更多是发送指标)
事件大小:256 KB(最大).此限制无法更改
S3
只需设置一个存储桶,让服务器向其写入数据.这里的好处是,由于S3用于存储大文件,因此您实际上不必担心前面提到的大小限制.S3存储桶还具有可以触发lambda函数的事件.然后,您可以愉快地继续发送徽标数据.
如果您的日志数据足够大,您可以扩展到AWS Batch之类的东西,它可以为您提供可用于处理日志数据的容器集群.最后,您还可以获得数据备份.如果您的数据库发生故障,您就会将日志数据存储在S3中,并且可以将一个脚本放在一起以加载所有内容.您还可以使用生命周期策略将旧数据迁移到成本较低的存储,或者直接将其全部删除.
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |