我正在尝试向与eShopOnContainers示例项目非常相似的微服务项目中添加头盔。
https://github.com/dotnet-architecture/eShopOnContainers
我的问题是,应该在解决方案级别,每个项目还是两者结合地添加图表文件夹和配置?
答案 0 :(得分:1)
我的实践经验是,在使用Helm实现的微服务体系结构中,每个服务都应具有自己的Helm图表。
真正的问题是Helm对递归依赖关系的处理不佳。一个典型的体系结构声明是,每个服务都有其自己的独立存储,而没有服务会“借用”另一个存储。如果图表A和B都在其m.gameweek = (SELECT COALESCE(MIN(CASE WHEN m2.status < 5 THEN m2.gameweek END),
MAX(m2.gameweek)
)
FROM `match` m2
)
中说他们需要一些数据库作为依赖项,而您的“包装器”图表W取决于A和B,那么Helm的解析器将实例化 single 数据库相关性图表,并将其用于两个组件。
此样式在某种程度上也更易于部署。如果将Docker image标签作为图表的参数,则可以完全独立于其他所有内容部署每个图表/服务。使用一张“包装纸”图表,您需要不断地重新部署该图表并协调对其特定值的更改。 (相反的情况是,要知道整个系统的哪些特定版本全部部署在一个地方,要花些技巧。)