red/black部署策略是如何实现的?

How is red/black deployment strategy achieved?

我最近 运行 浏览了这篇 Netflix 博客文章 http://techblog.netflix.com/2013/08/deploying-netflix-api.html

他们正在谈论 red/black 部署,他们 运行 并排放置新旧代码,并将生产流量引导至它们。如果出现问题,他们会回滚。

如何引导交通?是否可以使用例如两个 Docker 容器来调整此策略?

一种引导流量的方法是使用 Weighted Routing, as you can do in AWS Route 53

最初,您有 100% 的流量流向使用旧代码的服务器。然后逐渐更改它以使用新代码向服务器提供一些流量。

此外,正如您在这篇 blog 中所读到的,您可以使用 Docker 来实现它:

Even with the best testing, things can go wrong after deployment and a rollback may be required. Containers make this easy and we’ve brought similar tools to the operating system with Project Atomic. Red/Black deployments can be done throughout the entire stack with Atomic and Docker.

我认为他们使用 Spinnaker 来实施 red/black 策略。 https://spinnaker.io/docs/concepts/