使用 Docker-compose 在云部署中使用分布式 memcached

Distributed memcached in cloud deployment with Docker-compose

我在我的开发环境中使用 docker-compose。我有一个简单的 Web 应用程序,它使用 sql 数据库和一个 memcached 容器。

现在,如果有一天我想投入生产,我应该怎么做才能真正分发我的 memcached 实例?

如果我简单地扩展我的 Docker-compose 中指定的所有服务,我最终将拥有独立的 memcached 节点,而不是真正的集群。我是否应该重写我的 Docker-compose for prod env,以便我的每个服务都在自己的 Docker-compose yml 文件中?那么使用 Docker-compose 有什么好处呢?我可以将每个服务部署为单独的 Docker 容器,并扩展到所需的数量。

在云部署中使用Docker-compose 的最佳实践是什么?如何实现分布式集群设置?

memcached "cluster" 并不是真正的集群。每个 memcached 实例都是独立和隔离的。这取决于客户端处理分片并路由到它想要读取和写入的实例。

如果你想要一个做集群和复制的缓存系统,考虑使用Redis

如果您想将 Docker 组合配置变成集群,请使用 Docker Swarm