File io 什么是绝对最快(但相当可靠)的数据持久化方法?

File io 什么是绝对最快(但相当可靠)的数据持久化方法?,file-io,filesystems,nosql,amqp,persistent-storage,File Io,Filesystems,Nosql,Amqp,Persistent Storage,我正在探索接收和保存大量请求的方法(并发和跨多个服务器),我感兴趣的是如何以最快可靠的方式存储传入的数据包以供以后处理。 我已经将范围缩小到这些选项,但我确信有一个创造性的解决方案我没有想到: 文件系统(在这种情况下,最快可靠的文件系统是什么 在内存数据存储(Redis/Memcached/etc)中持久化的磁盘 将数据排队到AMQ中并从那里处理它们 NoSQL数据库(MongoDB/Coach) Hadoop集群 谢谢我正在使用它将小数据包(请求日志)转储到中央日志接收器(s3)。 这样做

我正在探索接收和保存大量请求的方法(并发和跨多个服务器),我感兴趣的是如何以最快可靠的方式存储传入的数据包以供以后处理。 我已经将范围缩小到这些选项,但我确信有一个创造性的解决方案我没有想到:

  • 文件系统(在这种情况下,最快可靠的文件系统是什么
  • 在内存数据存储(Redis/Memcached/etc)中持久化的磁盘
  • 将数据排队到AMQ中并从那里处理它们
  • NoSQL数据库(MongoDB/Coach)
  • Hadoop集群
谢谢

我正在使用它将小数据包(请求日志)转储到中央日志接收器(s3)。 这样做的优点是服务器上的延迟较低,并且所有数据都集中在一个中心位置。例如,您可以从那里使用hadoop集群来处理它们

它的输入(sys)日志、http套接字、直接代码集成)和输出(s3、文件、(no)sqldb、scribe等)也非常灵活

至于你的选择,我的发现是:

  • 文件系统:很快,但是您在多台服务器上运行时遇到了麻烦,因为使用cron的rsync不是一个真正稳定的选项
  • 内存存储:也很快,但内存管理很难,因为它很快就会被填满
  • AMQ:可以工作,但并不是为非常高的吞吐量而设计的
  • 中央数据库:可行的选择
  • Hadoop:实际上是为了处理这些数据,而不是存储数据

您还可以查看有关中心日志记录的信息。

您将处理多少数据以及需要存储多长时间?Redis之所以伟大,是因为它快速、可靠,并且支持原子操作;但这一切都是以内存为代价的。好吧,我目前正试图“收集期望”,并因此寻找所有可能的瓶颈。理想情况下,我希望每小时处理数千万个http请求,每个请求都会保留http请求本身(头、cookie、浏览器信息等)。我粗略估计每个请求大约500字节。这些持久化的项目将被处理到一个更永久的存储中,但我希望尽快释放服务器以接收另一个请求(除了“200 OK”之外无需响应)。我以前不知道Fluentd。谢谢你。我一定会调查的。