#apache-kafka
Вопрос:
Мне нужно создать решение, которое получает события из веб — /настольного приложения, работающего в киосках. По всей стране разбросаны сотни киосков, и каждый из них время от времени генерирует автоматические события и события, когда что-то происходит.
Несмотря на то, что это приложение является заблокированным настольным приложением, оно встроено в Angular v8. Я имею в виду, что он работает в веб-представлении.
Я искал масштабируемые, но надежные решения и обнаружил, что Apache Kafka кажется отличным решением. Я знаю, что есть клиенты для NodeJS, но не смог найти никакого варианта для Angular. Angular работает в браузере, по этой причине он должен взаимодействовать с серверной частью через HTTP/S.
В конце концов, я понял, что лучший способ отправлять события из Angular-это создать API, который просто получает сообщение от конечной точки HTTP/S и публикует в теме Кафки. Или есть ли какой-либо адаптер для Кафки, который раскрывает темы как ОТДЫХ?
Я полагаю, что этот подход намного быстрее, чем хранить сообщения в базе данных. Правильно ли это утверждение?
Заранее спасибо.
Ответ №1:
этот подход намного быстрее, чем хранить сообщения в базе данных. Правильно ли это утверждение?
Это может быть медленнее. Кафка асинхронна, поэтому не ожидайте получить ответ за тот же период времени, за который вы могли бы выполнить чтение/запись базы данных. (Опять же, потребуется некоторый API, а также во многом зависит от используемой базы данных)
есть ли какой-либо адаптер для Кафки, который раскрывает темы как ОТДЫХ?
Да, прокси-сервер Confluent REST является лицензионным продуктом Apache2.
Существует также проект divolte/divolte-collector для сбора данных о кликах и других событий, управляемых браузером.
В противном случае, как вы обнаружили, создайте свой собственный API на любом удобном для вас языке и попросите его использовать клиент производителя Kafka.
Комментарии:
1. Отлично! Спасибо за подтверждение, я думаю, что напишу API, а затем опубликую в теме.