Какова цель createDrainingControl?

#akka #kafka-consumer-api #alpakka

#akka #кафка-потребитель-api #alpakka

Вопрос:

Я читал документацию Alpakka. Читая через Kafka consumer API, я наткнулся на createDrainingControl(), мне было интересно, какая польза от этой функции? Я понимаю, что это используется для слива и остановки потока, но зачем нам нужно останавливать поток, если мы постоянно потребляем сообщения из Kafka MQ?

Ответ №1:

В конечном итоге вы захотите развернуть новую версию приложения, где вам придется остановить текущее приложение и запустить его новую версию. Это всегда можно сделать, убив старое приложение, но это увеличивает количество повторов, тайм-аутов или ошибок, все зависит от того, что делает ваше приложение.

Если вместо этого вы изящно остановите приложение, сначала осушив поток, это уменьшит количество этих нарушений.