我有一个关于使用 docker 容器的最佳实践的问题。
我开发的每个应用程序都需要一个数据库。现在我的问题是我是否应该使用一个内部有多个数据库的 mysql docker 实例,还是应该为每个数据库创建一个实例。我发现为每个数据库创建一个实例的缺点是我无法拥有可以访问所有数据库的用户。我知道出于安全原因这是一个专业人士,但是当我尝试从客户端备份时,我需要在每个实例中进行备份。并且多个实例不会占用太多资源开销(虽然mysql可能使用较少的资源,但是使用退出更大的e.x. mssql实例可能会导致稍后出现资源问题)
我的问题是使用 docker 执行此操作的常见方法是什么以及优点和缺点是什么?
Docker 特别适合微服务的部署。以下链接讨论了有关数据库使用的两种策略:
- 每个服务的数据库 http://microservices.io/patterns/data/database-per-service.html
- 共享数据库 http://microservices.io/patterns/data/shared-database.html
我个人赞成每个服务使用单个数据库,并将其扩展到数据库服务器的单独实例的部署。这确保了服务是松散耦合的,如果一项服务遭受数据库中断,则不会影响另一项服务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)