Лучший способ использовать сообщения kafka и отправлять их клиентам websocket с помощью фильтра, который отправляет клиент - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу отправлять сообщения от kafka клиентам через веб-сокет, у меня есть kafka topi c из json записей, таких как: {...fields...., type:1}.

Клиент инициирует подключение к веб-сокету с json сообщение, которое включает в себя поле массива тех типов, которые ему интересны, например: {...fields..., types:[1,3,4]}

Я пытался сделать это с помощью Nifi, но у меня нет способа потреблять из kafka и в то же время фильтровать сообщения, которые я получаю по типу.

Я был бы рад получить рекомендации о способе сделать это в Nifi или любым другим способом (Streamsets, реализующий исчисленную веб-сокет, который потребляет от kafka et c ... )

(Мой код написан на java)

Спасибо:)

1 Ответ

1 голос
/ 27 апреля 2020

с Nifi, но у меня нет способа использовать kafka и одновременно фильтровать полученные сообщения по типу

ConsumeKafka + RecordPath filter должно работать нормально ...


Кроме того, вы не упомянули, какой тип системы работает на вашем веб-сервере ...

Вы бы запишите его в Spring Boot ... или Django, ... или Flask + Faust, или NodeJS, а затем перешлите сообщения Kafka от встроенного потребителя к веб-сокету.

tl; dr Поиск " ваш язык + websocket + kafka" ... Я уверен, что есть будут результаты


Или вы можете использовать Kafka REST Proxy, а затем просто использовать AJAX вместо WebSocket.


Вы также можете использовать Kafka Connect HTTP Sink , чтобы просто отправлять события на открытый веб-крючок (например, ListenHTTP Нифи), например.

...