Роль потребителя кафки, отдельного сервиса или компонента Django?
Я разрабатываю аналитику веб-журнала.
И я нашел архитектора с Django(Back-end & front-end)+ kafka + spark.
Я также нашел такую же систему по этой ссылке: http://thevivekpandey.github.io/posts/2017-09-19-high-velocity-data-ingestion.html с нижеуказанным архитектором
Но я путаю насчет роли кафки-потребителя. Это сервис, независимый от Django, верно?
Так что, если я хочу построить данные в реальном времени на внешнем графике, как мне присоединиться к Django.
Будет слишком смешно, если я разместлю и кафку, и потребителя, и продюсера в Джанго. Просьба от sdk прийти к Django путем передачи темы kafa (производитель) и вернуть Django (потребитель) для процесса. Почему мы не идем напрямую. Это выглядит просто и лучше.
Пожалуйста, помогите мне понять роль потребителя кафки, где он должен принадлежать? и как подключиться к моему интерфейсу.
Спасибо и наилучшими пожеланиями,
Джейм
1 ответ
В статье упоминается сценарий использования без Кафки:
Мы увидели, что во время пиковой нагрузки загрузка данных не работала должным образом: для подключения к MongoDB потребовалось слишком много времени, а время запросов истекло. Это привело к потере данных.
Таким образом, основной смысл введения Kafka и Kafka Consumer состоит в том, чтобы избежать слишком большой нагрузки на уровень БД и изящно обрабатывать ее с помощью уровня обмена сообщениями между ними. Если честно, в этом случае может использоваться любая очередь сообщений, не только Кафка.
Kafka Consumer может быть частью веб-слоя. Это не будет оптимальным, потому что вы хотите разделить проблемы (что делает систему более надежной в случае сбоев) и возможность масштабировать вещи независимо.
Лучше внедрить Kafka Consumer в качестве отдельной службы, если упомянутые выше проблемы действительно имеют значение (масштабируемость и надежность), и вы легко можете работать в оперативном режиме (потому что вам необходимо развернуть, отслеживать и т. Д. Новую услугу сейчас). В конце концов, это классическая дилемма монолит против микросервисов.