什么是在微服务架构中部署数据库的最佳实践,更准确地说,在分布式环境下,例如docker swarm?微服务原则指出,为了实现可扩展性,每个服务都应该是无状态的。由于数据库显然具有状态,因此它应该位于集群外的固定位置上,在集群初始化之前部署和配置吗?
我感到困惑,因为所有的docker compose示例都包括在服务定义中的数据库容器。但事情并不那么简单。通常需要对数据库进行大量配置,使其准备好使用。此外,docker在协调服务启动顺序方面表现不佳。
如果在docker swarm中与服务一起部署数据库确实是一个好的实践,如何确保关键数据的一致性和持久性?
我感到困惑,因为所有的docker compose示例都包括在服务定义中的数据库容器。但事情并不那么简单。通常需要对数据库进行大量配置,使其准备好使用。此外,docker在协调服务启动顺序方面表现不佳。
如果在docker swarm中与服务一起部署数据库确实是一个好的实践,如何确保关键数据的一致性和持久性?