Linkedin的Kafka Ecosystem

1. 介绍

本文主要是看了Kafka Ecosystem at LinkedIn这篇博文之后的一些总结。

2. kafka在linked现状

自2010开发使用以来,现在已经每天在1400个broker上处理1.4万亿条消息。kafka的持久性、低延迟等特性使得其在linkedin促成了一些新的使用案例。主要包括如下:

2.1 Replacing MySQL replication——Espresso

Espresso的详细说明见博文:Introducing Espresso - LinkedIn's hot new distributed document s......

选择合适的kafka分区数

1. 介绍

如何确定kafka的分区数相信是大家在使用kafka过程中比较关心的一个问题。早些时候,阿里的rocket mq在github上有和kafka比较(这里和老版本的kafka比较,估计是0.8的,现在是0.10.x)的说明。不过现在已经换掉了,而且也看到rocket mq支持集成kafka。可见kafka还是确实越来越受到市场认可。那篇老文章可以看网上这篇博文:RocketMQ与Kafka对比(18项差异)。

文中提到了“Kafka单机超过64个队列/分区,Load会发生明显的飙高现象,队列越多,load越高,发送消息响应时间变长”这个问题。针对这个问题,其实kafka的......

kafka消息堆积处理

1. 介绍

今天双11,公司kafka上部分消费者对应的分区上堵了不少数据。堵数据的问题主要是由于一开设计的时候,没有考虑足够周全。那时候由于担心分配太多分区导致影响延迟,从而在分配分区上比较“小气”。 针对分区数对kafka的影响可以参考我的另外一篇文章:选择合适的kafka分区数。

本文主要针对kafka消息堆积时,提供一些解决方法和思路。

2. 延迟和消息堆积

增加分区数,比较担心的是较多分区数导致延迟增加。针对这个问题,其实我们主要应该搞明白我们性能的瓶颈到底在什么地方。绝大部分时候,以及绝大部分应用,性能瓶颈都是在生产者和消费者上。由于分区数增多导致分区复制延迟......