【发布时间】:2017-04-22 11:40:11
【问题描述】:
在微服务架构中部署数据库的最佳实践是什么,更准确地说是在分布式环境中,例如 docker swarm?微服务原则指出,每个服务都应该是无状态的以实现扩展。由于数据库显然是有状态的,它是否应该在集群外部的固定位置,在集群初始化之前部署和配置?
我很困惑,因为所有 docker compose 示例都在服务定义中包含数据库容器。但事情并没有那么简单。通常,数据库在准备好使用之前需要进行大量配置。此外,docker 在协调服务启动顺序方面很糟糕。
如果将数据库与服务一起部署到 docker swarm 确实是一个好习惯,那么如何确保关键数据的一致性和持久性?
【问题讨论】:
标签: database docker cloud microservices docker-swarm