#spring-boot #akka-stream #alpakka
Вопрос:
Все,
Я разрабатываю приложение, которое использует интеграцию загрузки alpakka spring для чтения данных из кафки. У меня большая часть кода готова, единственное место, где я застрял, — это как инициализировать непрерывный запущенный поток, так как это будет серверное приложение и у него не будет никакого api, из которого нужно вызывать ?
Ответ №1:
Насколько я знаю, весенняя интеграция Alpakka в основном основана на предоставлении потоков Akka через контроллер HTTP Spring. Поэтому я не уверен, какой цели служит включение Spring в это, поскольку существует значительное несоответствие между тем, как приложение Akka будет работать, и тем, как приложение Spring будет работать.
Предполагая, что вы говорите об использовании Альпакки Кафки, наиболее идиоматичным было бы просто запустить поток, питаемый Альпаккой Кафкой Source
в вашем main
методе, и он будет работать, пока его не убьют или он не выйдет из строя. Возможно, вам захочется использовать рестартсорсинг вокруг потребительской и бизнес-логики, чтобы гарантировать, что в случае сбоя поток перезапустится (обратите внимание, что обычно следует ожидать, что сообщения, для которых фиксация смещения не была обработана снова, так как Кафка в типичных случаях может гарантировать только по крайней мере одну обработку).
Комментарии:
1. Спасибо @levi-ramsey , у меня сложилось впечатление, что akka-потоки с весной будут точным представлением потока. Я хочу провести некоторую работу по интеграции с серверной частью , и именно поэтому я говорил об этом.. но имеет смысл просто иметь основной метод, и он будет работать, пока его не убьют или он не выйдет из строя.