关于Kafka中的分区和解决方案体系结构的说明

时间:2018-09-05 06:46:49

标签: apache-kafka

我是Kafka的初学者。我需要在我的项目中实现它。

我们可以预期mysql用户表中有大约200k条记录。我必须跟踪用户事件,例如用户创建,用户地址更新,用户电子邮件地址更新等。...

我必须在这里整合Kafka制作人。重要的要求是我们必须保持事件的顺序。

我需要澄清两点:

  1. 最好有一个基于用户ID(分区1中的用户ID的奇数和分区中用户的偶数的个)的名为具有多个分区的用户的主题。 2)。拥有更多分区的想法是使解决方案更具可扩展性。
  2. 我们在验收和开发环境中可以拥有多少卡夫卡经纪人,以使其成为最佳解决方案。

1 个答案:

答案 0 :(得分:0)

Kafka可以轻松地在一个分区中存储20万条记录,但是数量并不重要,应该跟踪的是Kafka中每个数据库记录的大小。此外,例如,将数据存储在Avro中将比文本或JSON占用更少的空间。

我建议两个以上的分区(例如,使用user_id % 10甚至是100使用模)和至少3个代理具有高可用性主题,因为可以在代理之间复制分区。不过,更多的经纪人将导致更多的吞吐量。

如果要跟踪mysql的更改,可以使用Debezium Kafka Connector,而不用自己编写任何Kafka代码