问题
I am deploying my java rest services on Azure App services, I am trying to understand blue green deployment on azure, I read this official blog on Azure Blue Green : https://azure.microsoft.com/en-in/blog/blue-green-deployments-using-azure-traffic-manager/
I got the initial idea, but what if there are many live connections on Blue instance and new code is deployed on the green instance and after sanity testing, we swap blue with green. If there is any live connection on blue will it die or will it hold till it serves the meaning full response from the end service
From swap I a mean the control button called Swap available on Azure App services. My main concern will there be any data lost while swapping when there is a live connection
回答1:
No existing requests will be terminated or impacted in any way. The article itself talks about how you gradually move traffic from one blue to green. It doesn't abruptly terminate the requests.
I think this part gives some confusion:
we swap blue with green
The swapping is not a destructive operation where you kill one instance and start using another one. The swapping is just telling traffic manager to point to another IP. Requests pointing to the old IP are not impacted.
You can test this by creating an endpoint that holds a connection for a long time. Then while connection is held, click swap. Have logging to see what happened.
For App Service specifically, the documentation says this:
The traffic redirection is seamless, and no requests are dropped because of swap operations.
https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots
来源:https://stackoverflow.com/questions/56258043/are-the-live-connections-dropped-on-azure-while-doing-blue-green-deployment