假设我有几个不同的容器,每个容器都使用它自己的数据库.在这种情况下,有关性能的最佳做法是什么?运行一个容器,比如MySQL服务器,其中包含所有数据库,或者每个数据库运行一个数据库服务器容器?
除了表演之外的任何其他评论都将受到欢迎.
最佳答案
由于Docker容器开销在这里并不重要且可以忽略不计,因此问题更多的是关于微服务范式中的体系结构.
表演确实是一个复杂的问题,没有一般性建议,但也许以下内容可以帮助您:
Personaly我怀疑项目的开始应该尝试提前解决所有可能的性能问题(#MVP,#agile)
但是,纠正我,但看起来你没有太多的资源(一个主机?),并希望提前节省这些资源.
好的,你现在最关心的是什么?
记忆?
然后在同一主机上有两个同意的MysqL实例可能不是那么好(但对于不同的设置不是问题)
对于一个主机,我建议开始使用一个数据库容器,但创建不同的模式.
它可能涉及标准容器的额外工作(https://forums.docker.com/t/multiple-databases-in-official-mysql-container/8324)
不记忆
我现在不太关心并从开始使用单独的数据库.
能够将您的服务水平分离到数据库是一个巨大的价值!我不想因为非常理论化的未来性能问题而削弱这个设计决策.