我一直在DCs 建立 2个Kafka集群(0.8.1.1),一个在亚洲,另一个在欧洲。所有这些都
我的目标是从亚洲群集<欧洲群集 “高速且稳定”的速度 复制主题数据。
我最终得到了3个解决方案,以实现以下目标:
(设N =亚洲集群中某个主题的分区数。)
1)使用Kafka提供的 Mirrormaker , -num.streams = N 。
它以<30>以上的速度运行超慢,而我们预计大约1 Gbps ,因为当生产者向Kafka经纪人提供数据时,我们已经注意到亚洲集群的这一速度。
2)我尝试使用欧洲的高级API创建我自己的消费者版本,直接从亚洲群集中消费数据,并以 30到40 Mbps左右的相同速率结束
我以这种方式设计了消费者。
3)我尝试使用高级API创建另一个版本的消费者,结果大约 400 Mbps!,这远远高于2提到的方式
这是我的新设计
此外, N(分区)的数量越多,我从解决方案获得的速度越快3),而解决方案1)和2)仍保持 30Mbps的速度与N的值无关。
目前,为了达到解决方案3的速度达到400 Mbps,我必须将N设置为 N = 60 时非常大,亚洲群集中某个主题中的每条消息都平均大小为50KB 。
所以我真正的问题是,我没有看到解决方案3)与其他方面之间的技术差异,但是使用解决方案3消耗数据的速度如何变得与其他方面有很大差异?