你还在docker中跑mysql?恭喜你,好下岗了!

xhmj12 xhmj12     2023-01-01     718

关键词:

相关阅读:一个90后员工猝死的全过程

来源:toutiao.com/i6675622107390411276/容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。
目前,容器和 Docker 依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库 MySQL 是否需要容器化?认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来阐述 MySQL 需要容器化,几乎没有什么业务场景进行验证自己的观点;反过来再看反对者,他们从性能、数据安全等多个因素进行阐述 MySQL不需要容器化,也举证了一些不适合的业务场景。之前推送过一篇文章:下面,我们就聊一下 Docker 不适合跑 MySQL 的 N 个原因!数据安全问题不要将数据储存在容器中,这也是 Docker 官方容器使用技巧中的一条。容器随时可以停止、或者删除。当容器被rm掉,容器里的数据将会丢失。为了避免数据丢失,用户可以使用数据卷挂载来存储数据。但是容器的 Volumes 设计是围绕 Union FS 镜像层提供持久存储,数据安全缺乏保证。如果容器突然崩溃,数据库未正常关闭,可能会损坏数据。另外,容器里共享数据卷组,对物理机硬件损伤也比较大。性能问题
大家都知道,MySQL 属于关系型数据库,对IO要求较高。当一台物理机跑多个时,IO就会累加,导致IO瓶颈,大大降低 MySQL 的读写性能。在一次Docker应用的十大难点专场上,某国有银行的一位架构师也曾提出过:“数据库的性能瓶颈一般出现在IO上面,如果按 Docker 的思路,那么多个docker最终IO请求又会出现在存储上面。现在互联网的数据库多是share nothing的架构,可能这也是不考虑迁移到 Docker 的一个因素吧”。其实也有相对应的一些策略来解决这个问题,比如:
1)数据库程序与数据分离如果使用Docker 跑 MySQL,数据库程序与数据需要进行分离,将数据存放到共享存储,程序放到容器里。如果容器有异常或 MySQL 服务异常,自动启动一个全新的容器。另外,建议不要把数据存放到宿主机里,宿主机和容器共享卷组,对宿主机损坏的影响比较大。2)跑轻量级或分布式数据库Docker 里部署轻量级或分布式数据库,Docker 本身就推荐服务挂掉,自动启动新容器,而不是继续重启容器服务。3)合理布局应用对于IO要求比较高的应用或者服务,将数据库部署在物理机或者KVM中比较合适。目前腾讯云的TDSQL和阿里的Oceanbase都是直接部署在物理机器,而非Docker 。状态问题在 Docker 中水平伸缩只能用于无状态计算服务,而不是数据库。搜索公众号互联网架构师后台回复“2T”,获取一份惊喜礼包。Docker 快速扩展的一个重要特征就是无状态,具有数据状态的都不适合直接放在 Docker 里面,如果 Docker 中安装数据库,存储服务需要单独提供。目前,腾讯云的TDSQL(金融分布式数据库)和阿里云的Oceanbase(分布式数据库系统)都直接运行中在物理机器上,并非使用便于管理的 Docker 上。资源隔离方面
资源隔离方面,Docker 确实不如虚拟机KVM,Docker是利用Cgroup实现资源限制的,只能限制资源消耗的最大值,而不能隔绝其他程序占用自己的资源。如果其他应用过渡占用物理机资源,将会影响容器里 MySQL 的读写效率。需要的隔离级别越多,获得的资源开销就越多。相比专用环境而言,容易水平伸缩是Docker的一大优势。然而在 Docker 中水平伸缩只能用于无状态计算服务,数据库并不适用。难道 MySQL 不能跑在容器里吗?
MySQL 也不是全然不能容器化。以下几种场景还是适合的。1)对数据丢失不敏感的业务(例如用户搜索商品)就可以数据化,利用数据库分片来来增加实例数,从而增加吞吐量。2)docker适合跑轻量级或分布式数据库,当docker服务挂掉,会自动启动新容器,而不是继续重启容器服务。3)数据库利用中间件和容器化系统能够自动伸缩、容灾、切换、自带多个节点,也是可以进行容器化的。典型案例:同程旅游、京东、阿里的数据库容器化都是不错的案例,大家可以自行去查看。

1、滴滴、满帮、Boss直聘都被调查,为啥知乎美国上市没被查?

2、字节跳动重大宣布:取消!员工炸了:直接降薪1

3、再见了,Teamviewer!

4、人脸识别的时候,一定要穿上衣服啊!

5、程序员被公司辞退12天,前领导要求回公司讲清楚代码,结果懵了

你在docker中跑mysql?恭喜你,可以下岗了!

...何保证软件能够正常运行”这一问题。目前,容器和Docker依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以 查看详情

你在docker中跑mysql?恭喜你,可以下岗了!

...何保证软件能够正常运行”这一问题。目前,容器和Docker依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库MySQL是否需要容器化?认真... 查看详情

你还只会用atomicxxx?!恭喜你,可以下岗了!(代码片段)

...ff0c;栈长介绍了LongAdder的使用,性能实在太炸了,你还在用AtomicInteger、AtomicLong吗?如果你还不知道LongAdder,赶紧看我之前写的那篇文章。上次也提到了,在JDK8+中的atomic包下,还有另外一个兄弟类:... 查看详情

你还只会用atomicxxx?!恭喜你,可以下岗了!(代码片段)

...ff0c;栈长介绍了LongAdder的使用,性能实在太炸了,你还在用AtomicInteger、AtomicLong吗?如果你还不知道LongAdder,赶紧看我之前写的那篇文章。上次也提到了,在JDK8+中的atomic包下,还有另外一个兄弟类:... 查看详情

别闹了,你还在记密码?|1password备忘&教程

每个人在网上或电脑离线软件上都会有一些账号和密码。这些账号,如果你设置成一个呢,不安全,尤其是如果你很多地方的账号密码都是同一套的话,如果在一个安全系数比较低的地方被盗号了,那其他地方也瞬间都不安全了... 查看详情

docker问题集锦(12)-你还在一个挨一个的删除镜像文件吗?

目录问题解决查看镜像文件查看镜像文件ID执行删除操作 查看详情

你还在为文件读写而烦恼?python已经轻松帮你解决了(代码片段)

不管是Java还是Python,都有相关文件读写操作!很多小伙伴们都困扰于读写文件的各种模式(如阅读、写入、追加等),以及搞不清open、read、readline、readlines、write等方法的使用。小编写这篇文章就是要告诉伙... 查看详情

你还在我身旁

...子签好名字,   关掉电视,帮我把书包背上。  你还在我身旁 查看详情

有docker谁还在自己本地安装mysql?(代码片段)

引言自己在个人电脑上开发项目或脚本时,经常会遇到数据存储的问题,咱们工作项目中Mysql是常用的业务数据库,如果要存储数据,难道除了在我们个人电脑安装Mysql服务就别无他选了吗?No,No,你还有一种选... 查看详情

你还在施工建设柏油路吗?那你就落伍了,看看他们是怎么美化路面!

在生活中总有惊艳你的时候,在你的记忆中留下最深刻的是惊艳了你的岁月,出去旅游也会有惊艳了你的时光;多彩的彩色路面在一瞬间会惊艳了你的目光。看看下面的路面有哪些是惊艳你目光,让你停留的路面。   ... 查看详情

大家都已经实现办公自动化了,你还在依靠手动处理业务?

清晨,很多人喜欢用一杯咖啡唤醒昏昏沉沉的自己,以开启美好的一天。以前,你需要磨豆子、冲泡咖啡,全神贯注的忙碌至少5分钟。现在,有了胶囊咖啡机,你只需要一秒钟就可轻松享用醇香的咖啡了。你的工作也是如此,... 查看详情

你还在select*吗?

应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的... 查看详情

你还在钟情于windowsxp吗?

    windowsXP,微软中的经典。我碰到过不少人,刚买来笔记本,是windows8,因为不习惯要重装系统,不装windows7,硬是要windowsXP。一问为何,答曰:以前在台式机上习惯了,XP兼容性好,玩游戏方便!也有人说XP更节... 查看详情

别人都升职加薪成功了,为什么努力的你还在原地苦苦挣扎?

在职场工作一两年,尤其是工作了几年,很大一部分人会碰到同一个灵魂拷问:“为什么我那么「努力」,升职加薪却永远轮不到我?”如果你最近正巧在为这个问题发愁,那么,我觉得你可以认真审... 查看详情

都2021年了,你还在写es5?快醒醒吧,这份es6超全教程拯救你(代码片段)

...古人学问遗无力,少壮功夫老始成〞都2021年了,你还在写ES5?快醒醒吧,这份ES6超全教程拯救你,作为JavaScript语言的下一代标准。ES6其实在2015年就已经发布了,很多人并不清楚ES和JavaScript之间的关系࿰... 查看详情

最难就是刚刚好

...不正确了)。 但如果你遇到的是一个很瘦的人,你还在劝他,该减肥了,这就非常不合适了。前几天看到明白老师在他的公众号“多元思维hack"里提到了关于是否要学习更多技能的话题,那么有人说不 查看详情

游戏目录

你还在为找游戏而烦恼吗? 你还在为不会安装而头痛吗?你还在等什么拍高级会员,就是我们店的VIP我们有专业人员一对一帮你远程解决问题。技术扣扣:778198208 注意:聊天内不能有游戏名出现。比如:有没有雯雅婷5... 查看详情

mysql用docker管理好还是不用docker好?

参考技术AMySql如果单实例就不用docker折腾了,如果是要集群横向扩容才要考虑docker管理。 查看详情