Hey Kafka lovers,

I have a lot of questioning around the roll-out and the update of kafka
streams app (continuous deployment fashion).

We are used to ship our apps in dockers quite frequently (our current
orchestrator is AWS ECS).
In the context of streams app, i understand we should be much more careful
to avoid messing up internal state. Each app update could potentially
change a computation of an internal state, change how we compute some
output values, etc.

What do you usually do ? change the app.id ? use the application reset tool
?
Application reset only manages internal states. What about all the rest
downstream ? (We will have a couple of databases downstream). Do you
manually reset all this stuff ?
How do you manage orchestration of app shutdown, downstream cleanup, start
of the new version in a distributed context ?
Is there a way to query kafka broker about running apps to wait the
shutdown of the previous ? How do you automate all this ?  With a bunch of
scripts  ?
Are you able to test (like in automated CI test) that kind of update ?

I know that 's a lot of questions ... :-/

If you're experienced in the topic and have 10-15mn of time to spare, I'd
be happy to have a quick talk over google-meet or anything. This could be
easier to discuss than to write a long email.

If you have any resources, books, posts, conference talks, I'd be happy (if
they are about real-lifeā„¢ apps... not really interested in hello-worlds...)

Thanks a lot !
Mathieu D

Reply via email to