为什么同一服务有的机器内存使用率高,有的内存使用率较低?读kafka
背景:一个服务6台实例,4台内存使用率较低,另外2台使用率较高,导致出现一些问题,
该服务为zipkin-server服务,收集从kafka传入的数据,并进行处理。
内存使用率如图,2台明显内存利用率较高,另外4台内存利用率则很低,
最后问题定位到,kafka的topic的partition上,查阅相关资料总结
topic 为逻辑概念,生产者只需要确定讲生产的数据写入哪个topic中即可,而消费者只需要关注接收哪个topic即可。
partition为物理概念,对用户来讲是透明的,一个topic可有多个partition(理解成水平扩展也行)
消费者数量 < partition数量
一台机器可以消费多个partition
消费者数量 = partition数量
每台机器消费一个patition
消费者数量 > partition数量
一台个消费者消费一个patition,剩余的机器空闲
根据以上皆是,我去查看一下,我们topic对应patition数量,结果发现正好4台,
这就可以解释了为什么4台忙碌,2太空闲的原因了
参考:https://www.zhihu.com/question/28925721