0

I've been evaluating Spring XD for a major project and I'm wondering how to update module code with zero downtime.

It seems that, for updating a module, it first needs to be deleted. And deleting a module implies destroying streams.

Several ideas comes to my mind on how to do this with zero downtime (like rerouting a stream to a queue). Any other ideas, ways or solutions?

thiago
  • 117
  • 1
  • 7

1 Answers1

1

I had the same problem as yours, and one way to approach it is to use versioning in your module name - in the same way you use versioning for your jar file name. That way you can try a newer version of your module without removing the old one, and remove the old one (if you want) once you deploy and test your new stream.

tzachi
  • 26
  • 1
  • That's a good approach. Maybe even tap the current production stream to a staging stream that's pointing to the module's newer version. – thiago Sep 03 '15 at 14:33