我的主题有3个分区(在3个不同的代理中)。我想将消息发送到特定的分区1(在消息中添加分区id或指定密钥)。假设分区1已满磁盘,是否为该消息选择一个备用分区(在本例中为分区2或3)?
hgb9j2n61#
磁盘耗尽的不是主题,而是整个代理。如果代理用完磁盘,它将自动关闭,您将无法向它发送或接收数据。由于您特别指向一个分区,现在取决于您的复制因子值是否大于1。如果您已经复制了主题分区,分区负责人将从死代理切换到另一个具有同步分区的代理。如果您没有1个以上的复制,您的生产者将得到outofmemory错误和它没有产生的数据到备用分区2或3。为了确保永远不会发生这种情况,如果您设置了 cleanup.policy 删除并设置 retention.bytes 这样,主题/副本的数量就不会超过存储限制。
cleanup.policy
retention.bytes
1条答案
按热度按时间hgb9j2n61#
磁盘耗尽的不是主题,而是整个代理。如果代理用完磁盘,它将自动关闭,您将无法向它发送或接收数据。
由于您特别指向一个分区,现在取决于您的复制因子值是否大于1。如果您已经复制了主题分区,分区负责人将从死代理切换到另一个具有同步分区的代理。
如果您没有1个以上的复制,您的生产者将得到outofmemory错误和它没有产生的数据到备用分区2或3。
为了确保永远不会发生这种情况,如果您设置了
cleanup.policy
删除并设置retention.bytes
这样,主题/副本的数量就不会超过存储限制。