如何在多个磁盘上分发Kafka Streams状态存储



在Kafka Broker上,建议为消息日志使用多个驱动器以提高吞吐量。这就是为什么它们有一个log.dirs属性,该属性可以有多个目录,这些目录将以循环方式分配给分区。

我们已经为事件驱动的kafka应用程序设置了很多安装,其中我们有大约4个节点,每个节点有5个磁盘。

现在,我们想将Kafka Streams与Key Value存储一起使用,在这里我们可以为快速范围查询保留计算数据。我们看到Kafka Streams将分区1对1映射到多个状态存储,并为每个状态存储创建一个单独的子目录。

但是,我们无法配置如何将这些子目录分布在不同的磁盘上。我们只能将单个父目录配置为'state.dir'(StreamsConfig.state_dir_CONFIG(。

有没有我缺少的配置?还是说拥有多个磁盘与Kafka Streams没有那么大的关系?

这并不是真正相关的,但必须在操作系统级别通过RAID配置来处理。

或者,您可以实现StateStore接口并编写自己的提供者,该提供者可以使用多个磁盘(或远程分布式文件系统(

最新更新