我这边描述的情景是,例如我有 3 个应用的 DB1、DB2、DB3,若是 3 个应用的 DB 都跑一个 Mysql 实例(举例)
那么会开启 3 个 Mysql 实例,这样比开启 1 个实例将 3 个 DB 都放在同一个实例中 会浪费更多的性能资源啊?
诸如此类的还有 Apache HTTP Server、Nginx 等,是否可以直接单实例载入不同的配置文件从而避免多实例造成的性能资源开销?
1
EXE 2018-08-28 17:57:51 +08:00
docker 的优点之一就是可以快速创建多个实例
|
2
linuxchild 2018-08-28 18:12:48 +08:00
其实从业务角度来讲,支持分开的;
至于性能,开启多个肯定资源要占用的多,但是这东西真的会影响到你么? 业务量大了再考虑优化吧 |
3
Judoon 2018-08-28 18:27:55 +08:00 via Android
没看懂,第一种是指开三个容器,每个容器中各跑一个 mysql ?第二种是指开一个容器中起三个 mysql 进程?
原则上一个容器跑一个程序比较好 |
4
icekingcy OP @EXE 优势知晓的,我的疑虑是对性能的开销
@linuxchild 比如说现在有 10 个独立静态 Web 项目。每个项目分配一个 Apache 镜像的容器,即有 10 个,非常便于独立开发、管理。另外一种方案是 一个 Apache 容器,通过载入 Vhosts 配置文件,里面配置了 10 个目录。 这样的一个场景岂不是浪费了很多的资源吗? 此处的 10 个独立静态项目只是举例哈~ @Judoon 第一种你的理解是对的。第二种就是传统的方式,相当于只跑一个 Mysql 容器,但是一个 Mysql 里面可以建立多个数据库呀,这样相当于一个 Mysql 实例里运行的是 3 个数据库。不知我讲明白否? |
5
Judoon 2018-08-28 19:39:23 +08:00 via Android
@icekingcy 如果是这样的话,我觉得你的两种方案没什么可比性啊。取决于业务方对这三个库隔离性的要求。没要求当然一个实例里建多个库好了。
|
6
meowoo 2018-08-28 22:02:51 +08:00 via iPhone
个人觉得单实例单应用比较好
最简单的就是,一个挂了不会影响别人 |
7
xenme 2018-08-28 22:05:40 +08:00
docker 主要就是分离,快速部署。
如果三个跑一起,那还要 docker 干嘛? 如果性能开销是主要考虑因素,要 docker 干嘛? |
8
0312birdzhang 2018-08-28 22:34:58 +08:00
LXC 了解一下,虽然现在的 docker 不用 lxc 了,原理差不多
|
9
linuxchild 2018-08-31 17:18:48 +08:00
@icekingcy 浪费资源就浪费吧;这个实际上应该不算主要的考虑因素,hhha
|