如何为 hybris 进行 blue/green 部署?

Ho to do blue/green deployment for hybris?

我想以零停机时间部署 hybris 构建。我们的技术架构由两台前端服务器、两台后端服务器、两个 master/slave solr 集群和一个数据库服务器组成(MS SQL 2012)。新构建可能需要执行补丁,这会更改数据库架构。

是否可以在单个数据库环境中实现这一点?

如果需要两个数据库(蓝色和绿色),那么在 hybris 的情况下,数据库复制的最佳实践是什么?

Hybris 只向数据库添加新列,从不更改它们的类型或删除它们。所以单个数据库可以。我在更新系统时没有使用店面对此进行测试。我想会好的。 另一方面,您需要开发 empty/null 检查开发中的新属性。

Hybris 确实提供了滚动更新功能(当您 运行 在集群环境中使用它时)。 这是为了实现零停机时间。

您可以在 hybris 帮助页面上找到更多信息,例如 https://help.hybris.com/6.5.0/hcd/8c455268866910149b25f7b53d1af3e1.html

看那里的第一张图片,它似乎非常适合您描述的架构。

(但老实说我没有这方面的经验,所以我不能告诉你它是否有效或效果如何:))

如果您进行了有风险的更改或最终需要回滚已推出的更新,您将不得不进行大量的数据库清理等工作。

从这个角度来看,blue/green 设置可能听起来更好,尽管使用数据库复制你最终会遇到同样的问题(因为我假设你更新的模式也会被复制)。