Streaming 将数据推送到分布式文件系统的最佳方式—流式传输?

Streaming 将数据推送到分布式文件系统的最佳方式—流式传输?,streaming,hdfs,distributed,glusterfs,ceph,Streaming,Hdfs,Distributed,Glusterfs,Ceph,我正在编写一个抽象层,它将抽象(待定)分布式文件系统的后端实现 要使用的文件系统可能有HDFS、GlusterFS、CEPH等 前端将是SOAP/REST服务 要实现的抽象层将从web服务接收数据流,并将其发送到后端分布式文件系统 文件大小将为多GB 我的问题 将数据推入分布式文件系统的最佳方法是什么?如果我们需要最大的吞吐量,不丢失数据,并利用后端文件系统的分布式特性一般来说,这些分布式文件系统中的每一个都可以用作高吞吐量的数据接收器,但要真正正确地回答您的问题,您需要提供有关您需要系统提供哪

我正在编写一个抽象层,它将抽象(待定)分布式文件系统的后端实现

要使用的文件系统可能有HDFS、GlusterFS、CEPH等

前端将是SOAP/REST服务

要实现的抽象层将从web服务接收数据流,并将其发送到后端分布式文件系统

文件大小将为多GB

我的问题


将数据推入分布式文件系统的最佳方法是什么?如果我们需要最大的吞吐量,不丢失数据,并利用后端文件系统的分布式特性

一般来说,这些分布式文件系统中的每一个都可以用作高吞吐量的数据接收器,但要真正正确地回答您的问题,您需要提供有关您需要系统提供哪些担保的信息。例如,是否需要严格的插入顺序?已经有像Kafka这样的系统为摄取流创建了日志抽象,但没有提供严格的全局排序。Noah,我编辑了描述来更多地讨论抽象层的需要的特征…,请检查一下-顺便说一句,非常感谢您为我指出Kafka,这很有趣,但是我想知道它对于千兆字节大小的文件是如何工作的…默认情况下Kafka message.max.bytes是1000000。卡夫卡消费者不支持流式传输消息,必须分配内存才能读取最大的消息。所以卡夫卡不是一个选择!!文件是否需要POSIX语义,或者数据看起来更像不可变的键/值对?使用Ceph的RADOSGW之类的东西,可以提供与AmazonS3兼容的接口。