gpt4 book ai didi

c - 从 C 程序每秒记录 3000 个事件

转载 作者:行者123 更新时间:2023-11-30 15:47:00 24 4
gpt4 key购买 nike

从 c 文件每秒记录 3k 事件的最佳选择是什么?以下是我想到的选项。无法决定哪个是具有更少故障点、更高可靠性和更少延迟的稳健解决方案。

  1. 使用消息传递服务器在事件发生时中继事件

  2. 使用系统日志进行日志记录

  3. 使用 Unix 管道

  4. 使用 Fluent 等日志代理将事件发送到分析服务器

  5. 在本地写入日志文件,然后使用 rsync 等工具定期将其轮换到分析服务器

最佳答案

尝试系统日志。没有理由让它变得太复杂。使用 syslog-ng,您可以通过 UDP 进行本地日志记录,然后设置本地 syslogd 以通过 TCP 将所有内容转发到中央 syslog 服务器。您可能需要在中央系统日志服务器上运行而不使用 fsync 来跟上该负载(但首先进行测试),但是可以通过将所有内容转发到两台单独的计算机来缓解这种情况。这为您提供了本地异步性能和足够的可靠性,您几乎永远不会丢失事件。

我所做的另一个选择是将事件记录到 Redis、Riak 或其他一些 nosql 数据存储中(我通常不推荐它们用于任何复杂的事情,但事件日志记录正是他们的拿手好戏)。设置镜像以实现冗余,它们应该能够保持每秒超过 3k 个事件。

关于c - 从 C 程序每秒记录 3000 个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17828794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com