面试题:为什么 MySQL 不要使用 Docker 部署。。。。

50 天前
 michael2016

如果你去找工作,遇到我问你以下几个问题如何回答:

  1. 在大厂 MySQL 是不能用 Docker 的,为什么?
  2. 今天业务被 DDoS 了,你如何在 10 分钟内解决问题?
  3. 如果被爬虫爬了,你应该如何解决?
  4. RAG 和 Agent RAG 有什么区别?
18871 次点击
所在节点    程序员
161 条回复
pollux
50 天前
如果是新型的分布式数据库,倒是可以容器化的,只好做好底层存储与协议兼容,路由层隔离,如果是传统数据库,容器化并没有提升性能,还引入了不必要的运维排错风险,尤其是在大厂的 SLA 严格考核下,专机专用也是优良传统。
wheat0r
50 天前
@shenlanAZ #42 我真见过最后一种,找我要一个虚拟机,分配 64GB 内存,说是拿来跑数据库。
我说这个库就跑一个会员卡系统,并发还不到 10 个,怎么测出来的数据库内存需求。
他说他们的测试服务器 64GB 内存 SQL Server 长期运行会占满,肯定不能更少了。
我问有没有使用限制实例的内存占用。
他问怎么限制…
ivvei
50 天前
为什么?因为菜
shenlanAZ
50 天前
@wheat0r 我之前在某国央企工作过,也是遇到过类似的情况,有两种情况

1. 他们那种组织架构就不允许弹性伸缩,所以一次性会拿很大的配额保证后面一定是够用的,或者挪作他用。
2. 因为技术问题写的程序有内存泄露的问题,不敢去动代码或者别的什么原因,最后的解决办法就是定时重启...
siteshen
49 天前
1. 不知道啊,我一直都用 PostgreSQL ,MySQL 这东西也能火真是没天理。我的建议是不仅是不要用 Docker 部署,更不要部署。
Amex
49 天前
经典命题作文面试
SeaSaltPepper
49 天前
@Kumo31 点了,看标题以为是讨论贴,进来一看 OP 一股说教的语气,整的好像我是来面试的一样...... 而且 OP 反复强度自己维护大规模集群更有发言权,然而还是不承认这种问题毫无含金量反复在评论区给自己找补
mengdodo
49 天前
因为沙雕人 docker run mysql 时没有挂载文件,data 文件全在容器内。删了容器后发现数据库也没了,所以它们在恼羞成怒后也不许别人使用。
cyrivlclth
49 天前
为什么大厂不用 docker 部署 MySQL ?答:docker 协议问题,不过我们可以用 k8s, containerd, podman 来代理
yb2313
49 天前
@forblackking 这下一切的疑问都有答案了
mayday526
49 天前
@junkk 是 io 问题,wsl 也有这个问题,运行的时候会把 php 挂载目录的文件读取到容器/虚拟机环境,是跨文件系统的,贼慢。你直接把 php 文件复制到容器里就会快多了,但是开发环境这么搞太麻烦了
Vesc
49 天前
如果被 DDoS 了又没有购买清洗服务,哪个神仙能 10 分钟内解决?
jadeborner
49 天前
第二个问题也太抽象了,跟开发有什么关系
guanzhangzhang
49 天前
能问出 mysql 不适合容器的,我估计 nginx 容器都照样玩不转的,云厂商的 rds 实例一定是本地盘吗,既然人家存储计算分离,docker run 选项全部和 host 一样-v bind mount 本地盘/块存储挂载路径/rdma 的路径之类的有啥问题,不会没有加选项用到只用 rootfs 隔离功能吧。
增加运维成本?,sock 文件落地的目录挂载出去不会吗,容器起不来? mysql 实体进程起不来你不也是 cd 进目录和用 mysql 相关命令看吗,mysql 容器起不来不会 docker run --rm -ti -v data:/var/lib/mysql --entrypoint bash mysql_image_name 进去查和修复吗。
按照你说的,那我也来喷下 java ,jdk8 不识别 cgroup 限制,不适合上容器,java 好多服务启动内存很高,Pod 容器启动的时候容易超过 limit 被杀掉😅,什么,我一个 java 开发还需要学这么多容器,那我还上容器干啥
aiyayaya
49 天前
我有一个具体的案例, 因为安全问题我需要修改完配置之后重启 docker, 这时候如果是容器的 MySQL, 不得不面临重启 MySQL.
KagurazakaNyaa
49 天前
自己菜不要怪工具难用
我就是运维岗位,我们团队都习惯把数据库容器化部署,无论是数据可管理性还是可观测性还是部署的方便程度都要比手工部署好。同时 cicd 也好写,配置可以直接部署到自己构建的镜像里,灰度和实例轮替(依靠主备和 binlog )也都比直接手工部署要好,遇到问题也容易复现和解决
salmon5
49 天前
等等,docker 安装 mysql 很难吗?应届生都能轻松搞定好吧
探讨的必要性,要看场景和公司人力资源投入
encro
49 天前
1.在大厂 MySQL 是不能用 Docker 的,为什么?

因为大厂在用 k8s

2.今天业务被 DDoS 了,你如何在 10 分钟内解决问题?

切 ip 就行,刚好域名解析 10 分钟

3.如果被爬虫爬了,你应该如何解决?

开启 waf

4.RAG 和 Agent RAG 有什么区别?

Agent RAG 属于多步推理和工具链调用。
wangtian2020
49 天前
我就用我就用,气死你。我不仅用 docker ,我还用不用 mysql 用 sqlite
yuanxing008
49 天前
第一个问题 是哪个大厂?发一下好避雷

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1160112

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX