kubernetes 上的 mysql 主从模式是否有必要

2020-06-03 17:43:59 +08:00
 xyqhkr

kubernetes 本身就支持了 pod 的可用性,使用 kubernetes 部署 mysql 是否还有必要使用主从复制的模式??

如果为了解决高并发,直接双主模式就可以了吧?

可否使用 共享存储 的方式,使用同一份数据,启动多个 mysql pod 呢?

3685 次点击
所在节点    Kubernetes
11 条回复
zhenjiachen
2020-06-03 18:05:37 +08:00
我也想知道,我想在 k8s 上部署 vitess,但是文档没太看懂,教程也比较少。
ica10888
2020-06-03 18:36:55 +08:00
读写分离啊...
cheng6563
2020-06-03 21:35:08 +08:00
MySQL 做不了多主。共享存储也不能写入吧。k8s 其实天生跟传统数据库不太搭的。
WispZhan
2020-06-03 22:05:56 +08:00
就算是多主,你也不能共享存储啊。
@cheng6563 +1, 传统数据库 和 云原生的东西不搭, 你专门找云原生的数据库吧。
thinkmore
2020-06-04 09:46:57 +08:00
一般不在 kubernetes 中部署。我们一般部署的是无状态应用,mysql 主从属于有状态的,部署以及理解起来都稍微麻烦些。可以考虑用独立机器来部署
xyqhkr
2020-06-04 14:40:54 +08:00
@cheng6563 Mysql 可以双主或者多主部署的。 K8S 只是因为缺少动态描述,暂时对有状态应用不太友好。
我使用的 nas 存储来共享数据的。
xyqhkr
2020-06-04 14:44:37 +08:00
@thinkmore 恩,使用 StatefulSets 部署有状态应用确实麻烦。不过你可以看看 Operator,是可以一键部署分布式应用的,mysql/ kafka 等这类有状态应用都是一键完成的。
xyqhkr
2020-06-04 14:45:43 +08:00
@zhenjiachen 挺奇怪的,V 站上讨论这些的挺少的。
xyqhkr
2020-06-04 14:48:22 +08:00
@ica10888 读写分离的意义是为了高并发吧,可以用 k8s 启动多个主 mysql,来分担流量。
ica10888
2020-06-04 15:44:46 +08:00
@xyqhkr
双主是热备方案吧,我觉得高并发的瓶颈一般是在 mysql 事务上,流量如果是内网应该没啥瓶颈吧
另外,大多数的选择都是主从读写方案,很少看到用双主的
虽然我不太清楚双主怎么搭建,但是我感觉自己用 k8s api 写一个共享存储的 mysql 双主集群也没啥问题...
xyqhkr
2020-06-04 16:23:20 +08:00
@ica10888 恩,如果从事务处理的角度看,主从倒是比双主好一些。其实我使用共享数据,主要是在想启动两个 mysql 可不可以只用一份数据,这样就省去了两个 mysql 通过 binlog 同步数据的步骤。

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

https://www.v2ex.com/t/678340

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

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

© 2021 V2EX