These are chat archives for spring-cloud/spring-cloud

26th
Jul 2015
Sergei Egorov
@bsideup
Jul 26 2015 14:23

What is the best way to handle deployments in Spring Cloud? I will explain:

We have a service "foo" version 1.0, it's registered in Eureka, now we want to deploy new version 1.1 with zero downtime. In classic scheme it could be achieved with blue\green deployments. Traffic will not reach new version until we switch route to it. But in case of Spring Cloud new version will register itself in Eureka right after deployment and others will send requests to it. Which is preferred way to avoid it?

Dave Syer
@dsyer
Jul 26 2015 15:49
Does it matter if both versions are accepting traffic at the same time?
I guess what you need is probably to set the health status of the new version to OUT_OF_SERVICE
Sergei Egorov
@bsideup
Jul 26 2015 16:21
but it means that I should manually control instances and common deployment solutions (like Cloud Foundry, Kubernetes, etc) are useless?
Sergei Egorov
@bsideup
Jul 26 2015 16:38
Also, OOS means that it's impossible to immediately switch version
Dave Syer
@dsyer
Jul 26 2015 16:52
Nothing is "immediate"
In Cloud Foundry you can use the gorouter for service calls
I don't think blue-green is any different then
Sergei Egorov
@bsideup
Jul 26 2015 17:09
ummm
so why I should use Spring Cloud then ? :D
gorouter is typical server side load balancer
Dave Syer
@dsyer
Jul 26 2015 17:35
I don't think I'll answer that
Think about it