大多数关于设置Docker容器的在线文章似乎都是围绕将应用程序分解为微服务并将其分配到各种容器并将它们部署到集群的想法编写的。
我想找出处理多个无关应用程序的数据库(例如mySQL)的最佳方法,这些应用程序是为不同客户端编写的,部署在同一个集群中。
假设我有10个不相关的小型应用程序(如wordpress),所有这些应用程序都需要访问mySQL数据库。我可以:
这些解决方案中哪一种在应用程序架构设计中是最好的,哪一种是对计算机资源的最佳利用?我的感觉是,在部署多个mysql容器(每个应用程序一个)时,可能是最好的设计,但它可能不是最有效的资源,因为我们将运行一堆mySQL容器。
发布于 2016-01-17 12:03:51
每个应用程序都包含db似乎是“对接方式”,并提供了更好的隔离和可移植性。
对接方式不是每个应用程序的db,而是每个容器的服务。如果您没有在MySQL容器中运行另一个服务(app/ssh/ mysql .),那么它就是一个服务。这是该走的路。
因此,每个应用程序一个db还是每个应用一个db的决定取决于您.。
我个人的选择是第三个:
我将kubernetes与postgres容器一起使用,将其用作所有应用程序的DB服务器。
我更喜欢这种选择,因为从操作的角度来看,备份/复制/应用维护要比拥有30台不同的db服务器+30*从服务器+30*外部池+30*监视工具等操作更容易.同样,在我的例子中,我有一个更好的hw资源使用。
但我保留了将数据库移动到另一个专用数据库服务器容器的可能性,以防应用程序使用过多的资源,或者太多的应用程序已经在使用DB。
https://stackoverflow.com/questions/34821744
复制相似问题