我是Kafka的初学者。我需要在我的项目中实现它。
我们可以预期mysql用户表中有大约200k条记录。我必须跟踪用户事件,例如用户创建,用户地址更新,用户电子邮件地址更新等。...
我必须在这里整合Kafka制作人。重要的要求是我们必须保持事件的顺序。
我需要澄清两点:
答案 0 :(得分:0)
Kafka可以轻松地在一个分区中存储20万条记录,但是数量并不重要,应该跟踪的是Kafka中每个数据库记录的大小。此外,例如,将数据存储在Avro中将比文本或JSON占用更少的空间。
我建议两个以上的分区(例如,使用user_id % 10
甚至是100
使用模)和至少3个代理具有高可用性主题,因为可以在代理之间复制分区。不过,更多的经纪人将导致更多的吞吐量。
如果要跟踪mysql的更改,可以使用Debezium Kafka Connector,而不用自己编写任何Kafka代码