你可以很轻松地清理。
可以通过以下方式列出所有已完成的pod:
kubectl get pod --field-selector=status.phase==Succeeded
并通过以下方式删除所有已完成的pod:
kubectl delete pod --field-selector=status.phase==Succeeded
你没设置key,所以kafka消息发送是轮询批量的方式发送到各个分区。
消息的差异是日积月累产生的,平均到每天的话并不大,可以忽视。
不平均要从生产者源头确认,举个例子,你有8
个分区,生产者是轮询的发送,消息并不是立即发送,而是打包到一个批次后,一起发送到第一个分区,但是什么时候发送受2个参数batch.size
和linger.ms
的影响,就是消息大小达到1M
或者0.1
秒了,就立即发送。
基于以上的逻辑,推测你的客户端,产生的消息量并不是平均的,所以每次轮询推送到这些分区的消息批次,正好少那么一些。
你没设置key,所以kafka消息发送是轮询批量的方式发送到各个分区。
消息的差异是日积月累产生的,平均到每天的话并不大,可以忽视。
不平均要从生产者源头确认,举个例子,你有8
个分区,生产者是轮询的发送,消息并不是立即发送,而是打包到一个批次后,一起发送到第一个分区,但是什么时候发送受2个参数batch.size
和linger.ms
的影响,就是消息大小达到1M
或者0.1
秒了,就立即发送。
基于以上的逻辑,推测你的客户端,产生的消息量并不是平均的,所以每次轮询推送到这些分区的消息批次,正好少那么一些。