Разъяснения относительно разделов и архитектуры решения в Кафке - PullRequest
0 голосов
/ 05 сентября 2018

Я новичок в Кафке. Мне нужно реализовать это в моем проекте.

Мы можем ожидать около 200 тыс. Записей в пользовательской таблице mysql. Я должен отслеживать события пользователя, такие как создание пользователя, обновление адреса пользователя, обновление адреса электронной почты пользователя и т. Д. *

Я должен интегрировать производителя Кафки здесь. Важное требование - мы должны поддерживать порядок событий.

Мне нужно 2 уточнения:

  1. Хорошо ли иметь одну тему под названием «Пользователи с несколькими разделами на основе идентификаторов пользователей» (нечетное число идентификаторов пользователей в разделе 1 и четное количество пользователей в разделе? 2). Идея иметь больше разделов состоит в том, чтобы сделать решение более масштабируемым.
  2. Сколько брокеров Kafka мы можем иметь в среде Acceptance and Development, чтобы сделать это оптимальным решением.

1 Ответ

0 голосов
/ 05 сентября 2018

Kafka может легко хранить 200 тыс. Записей в одном разделе, но на самом деле их значение не имеет значения, необходимо отслеживать размер каждой записи базы данных в Kafka. Кроме того, хранение данных в Avro, например, займет меньше места, чем текст или JSON.

Я бы предложил более двух разделов (используя по модулю, например, с user_id % 10 или даже 100) и, по крайней мере, 3 брокера, чтобы иметь тему с высокой доступностью, поскольку разделы могут быть реплицированы между брокерами. Больше брокеров приведет к увеличению пропускной способности.

Если вы хотите отслеживать изменения в MySQL, вы можете использовать Debezium Kafka Connector вместо того, чтобы самостоятельно писать какой-либо код Kafka

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...