Kafka может легко хранить 200 тыс. Записей в одном разделе, но на самом деле их значение не имеет значения, необходимо отслеживать размер каждой записи базы данных в Kafka. Кроме того, хранение данных в Avro, например, займет меньше места, чем текст или JSON.
Я бы предложил более двух разделов (используя по модулю, например, с user_id % 10
или даже 100
) и, по крайней мере, 3 брокера, чтобы иметь тему с высокой доступностью, поскольку разделы могут быть реплицированы между брокерами. Больше брокеров приведет к увеличению пропускной способности.
Если вы хотите отслеживать изменения в MySQL, вы можете использовать Debezium Kafka Connector вместо того, чтобы самостоятельно писать какой-либо код Kafka