在微服务架构中部署数据库的最佳做法是什么,更确切地说是在分布式环境中,例如docker swarm?微服务原则规定每个服务应该是无状态的,以实现扩展。由于数据库显然处于状态,它是否应该位于集群外的固定位置,在集群初始化之前进行部署和配置?
我很困惑,因为所有docker组合示例都包含服务定义中的数据库容器。但事情并非那么简单。通常,数据库在准备使用之前需要进行大量配置。此外,docker很难协调服务启动顺序。
如果将数据库与服务器一起部署到docker swarm是一个很好的做法,那么如何确保cricial数据的一致性和持久性呢?
答案 0 :(得分:1)
这是一个很好的问题,我认为就最佳实践而言,很多人仍在思考。答案真的取决于您的需求。有几种方法可以破解这个坚果,但这些是我现在正在使用的两个:
如前所述,我的理解是,仍然有很多实验正在进行这项和最佳实践。没有完全建立。这些最佳实践最终将取决于您的需求和风险承受能力。