В чем преимущество и недостаток, если рассматривать Кафку как хранилище? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть 2 подхода:

Подход № 1

Kafka --> Spark Stream (processing data) --> Kafka -(Kafka Consumer)-> Nodejs (Socket.io)

Подход № 2

Kafka --> Kafka Connect (processing data) --> MongoDB -(mongo-oplog-watch)-> Nodejs (Socket.io)

Примечание: в подходе №2 я использую mongo-oplog-watch для проверки при вставке данных.

В чем преимущества и недостатки использования Kafka в качестве хранилища по сравнению с использованием другого хранилища, такого как MongoDB, в контексте приложения реального времени?

1 Ответ

1 голос
/ 03 июля 2019

Темы Kafka обычно имеют срок хранения (по умолчанию до 7 дней), после которого они будут удалены.Тем не менее, нет строгого правила, которое мы не должны сохранять в Kafka.

Вы можете установить срок хранения темы на -1 ( ссылка )

Единственная проблемаЯ знаю о сохранении данных в Кафке, это безопасность.Кафка, из коробки (по крайней мере, на данный момент) не обеспечивает шифрование данных в состоянии покоя.Вам нужно воспользоваться специальным решением (или доморощенным), чтобы иметь его.

Защита данных в состоянии покоя в Кафке с помощью Vormetric

KIPтакже есть, но это В стадии обсуждения

Добавление сквозного шифрования в Kafka (KIP)

MongoDB, с другой стороны, кажетсяобеспечить шифрование данных в состоянии покоя.

Безопасность данных в состоянии покоя в MongoDB

И самое главное, это также зависит от типа данных, которые вы собираетесьсохранить и то, что вы хотите с ним сделать.

Если вы имеете дело с данными, которые являются довольно сложными (не такими простыми, как Key-Value, т. е. дать ключ и получить модель значений), например, например, запроситьс помощью индексированных полей и т. д. (как вы обычно делаете с журналами), тогда MongoDB, вероятно, может иметь смысл.

Проще говоря, если вы запрашиваете более одного поля (кроме ключа), то сохраняете его вMongoDB может иметь смысл, если вы собираетесь использовать Kafka для таких целей, выВозможно, в конечном итоге я создам тему для каждого поля, к которому следует обращаться ... что слишком много.

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