大佬们,生产环境的 Mysql 和 Redis 都是部署在哪里的呢
我想着是后台服务、mysql 、redis 都放到了 docker 中
生产环境是不是不能这么弄呢
是需要单独购买个云数据库吗
@shenyuzhi 数据量怎么划分的,太抽象了
@lujiaosama 其实就是看预算,看钱。
@lujiaosama 直接买云,等老板觉得云贵了再自建。
@vikaptain 政企都是离线的自建机房,云不了一点。
我觉得放 docker 完全没问题啊。
放 docker 要小心一键 clear, 比如 docker system prune -a -f, 但是数据映射到宿主机目录总是有奇怪权限问题不优雅,看你选择了,运行在 docker 应该没有问题。
docker 有 2 个坑,cpu 限制和内存限制。
生产环境大都会限制容器的资源上限,通过容器参数限制 cpu 和内存,但是容器里获取 cpu 和内存都是 docker 主机的全量值。例如:nginx 默认是根据 cpu 数量来设定 workers 的,在 32 核心 cpu 的 linux 上容器只分配了 4 个 cpu ,nginx 会根据 32 核心生成 workers 导致性能异常。再例如:在 64GB 服务器限制 mysql 容器内存最大使用量为 16GB ,会导致 mysql 用一段时间会内存溢出被 kill 。
解决方式是在容器的参数里设置与 cpu/内存限制相匹配的参数,具体可以问 ai 。
docker compose + 数据卷映射,用了快一年了,没啥问题,中途还断电重启过很多次
容器化没问题,多少年了,很多项目上都很稳定,相比部署方式,更重要的是备份。
@lujiaosama #3 算账。如果你们的业务撑死了就要 3 5 个集群,加起来 100 核,那上云就可以了。如果把上面这个数乘以 1w ,那就不一样了。
小公司运维降本 20%可能就 10w 块钱,大公司运维降本 1 个点估计就 200w
可以放,把数据源挂载出来