不把DB放进容器的理由
原文地址:http://www.tuicool.com/articles/6VbqeqQ
原文为英文,以下是笔者的个人总结。
此处的DB包括但不限于Redis、ElasticSearch。
1、数据安全
Docker程序中断时,如果容器内的DB没有被正常关闭,可能造成数据丢失
甚至如果容器损坏,内部的DB数据文件可能无法恢复,丢失全部数据
2、额外的硬件资源使用
DB在内存使用、磁盘I/O控制等方面需要使用额外的资源,除了数据文件之外,DBMS也会占用容器的硬件资源
如果有多个数据库,多个容器内的多个DBMS比同一台物理机上,一个DBMS下的多个数据库占用的资源更多
3、网络问题
Docker使用了网络虚拟化技术,如果是部署在虚拟机环境下的Docker,可能会引起DB额外的问题
4、DB是有状态的
Docker本身是stateless的,而数据却是有状态的,不同时间写入DB的不同数据让DB也成了有状态的
因此容器的损坏可能影响业务工作流程
5、与Docker的特点不合
Docker的特点:
- 便于安装
- 便于部署
- 便于平行展开
- 适用于不同的系统环境
而DB不需要频繁的安装和部署,即使存在备份,也不需要在每个环境中都有一份(这样也会带来额外的同步负担),而且考虑到兼容性,DB本身也不会经常更新版本
6、DB层不需要安装在“隔离室”中
安装在高于系统环境的虚拟机Docker中,会带来额外的硬件资源消耗和网络问题
7、云平台的版本更新问题
Docker中的DB导致如果要更新云平台上的容器,就需要将容器中DB的数据导入新容器的DB中,再进行更新
这与使用容器,便捷更新的初衷不符
不把DB放进容器的理由的更多相关文章
- FMDB将对象放进数据库[一]
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 新建childTest文件夹,里面依然放进我们需要的.py文件即可
一.模块 我们编写文件:a.py,放在C:\Python34\Lib\sit-packages下,里面写上一句代码为: print('this is a') 之后我们就可以在我们的代码里面引用a.py ...
- Dictionary解析json,里面的数组放进list,并绑定到DataGridView指定列
Dictionary解析json,1.根据json建立相应的实体类,json里面的数组形式放进list集合2.取list中的数据,将相应的数据绑定到DataGridView,如下:循环(动态添加一行数 ...
- 如果将彩色图像和灰度图像一起放进 CNN 中去,会是什么结果?
如果将彩色图像和灰度图像一起放进 CNN 中去,会是什么结果? 今天,坑爹的实验,我处理 SUN397 的时候,忘记去掉灰度图了,结果,利用微调后的 model 提取 feature,悲剧的发现,无论 ...
- FMDB将对象放进数据库[二](使用runtime)
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 将dll放进exe[.Net]
原文:将dll放进exe[.Net] 两种方案: 1.使用ILMerge工具. 缺点:需离开工程,使用第三方工具(ILMerge). 2.将dll作为Resource放进exe,exe执行时动态加载( ...
- MPC8313ERDB不新鲜pkg包裹,把文件放进Ramdisk
MPC8313ERDB不新鲜pkg包裹,把文件放进Ramdisk 经ltib编译器生成rootfs.ext2.gz.uboot它可以直接uboot采用.假设我们编写了相应的外部文件把Ramdisk往里 ...
- Win7里面如何把这一堆图标放进那个右下角的小三角框框
Win7里面如何把这一堆图标放进那个右下角的小三角框框.. Win7里面如何把这一堆图标放进那个小框框:1.在任务栏空白处右击,点击属性:2.在属性中的通知区域-->点击自定义按钮:3.去除勾选 ...
- 请将你的App签名文件放进保险箱
这是一篇以我自己的实际经历写的一篇文章. 当下移动开发正值火爆,由于门槛低,任何一个程序员都可以比较容易的进入移动开发领域,作为App或者游戏等移动开发者,当你开发完成一个作品后,准备上线时,需要对你 ...
随机推荐
- windows server 2016部署服务
绪论 有时候,如果安装系统数量比较多,而且数量较多,人工使用U盘或者光盘安装,效率较低,通过网络可以批量安装. 还可以做到无人安装. PXE PXE(preboot execute env ...
- TITLE: BizTalk Server 2013 Administration Console
TITLE: BizTalk Server 2013 Administration Console------------------------------ Could not store tran ...
- 【Excel】坐下,VLOOKUP基本操作
坐下,VLOOKUP基本操作 VLOOKUP如何使用我就不在这里详细介绍了,简单说一下好了. 如上图,第一个填写你要查找的值,第二个空选取你查找的范围,第三个空填你要得到第几列的值,最后选 ...
- Mycat分片规则详解
1.分片枚举 通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的,这类业务使用本条规则,配置如下: <tab ...
- SQL——快速定位相关的外键表
- 17:54 思维导图coggle布置好了
钱不是好赚的,要赚钱就要冒险,就会有损失.为了家庭还是旱涝保收一点好,没有现金流什么都是白搭,通过博客来学习也是件不错的是,问题是我现在完全没有想法,比如冒泡算法什么的,没有概念,背不出来,其实可以推 ...
- WCF自寄宿实现Https绑定
一.WCF配置 1 Address 将服务端发布地址和客户端访问地址都配置为https开始的安全地址.参考如下. <add key="SrvUrl" value=" ...
- UE4中动画蒙太奇的合成
在游戏中的技能施法动作是可以通过软件合成的,笔者在这里介绍一种用UE4合成多个动画的操作. 在UE4中角色的动作可以由多种方式达成,一种是混合空间,例如角色的跑动和跳跃,其中的动作是由状态机控制的,原 ...
- 【译文】Web Service 众所周知的问题
1. 什么是web service Web Service是一种网络程序间的通信方式,它允许开发者用API方式暴露自己的业务逻辑功能,这样,其他开发者可以使用它 2. Web Service的特性 互 ...
- (转)em重建全过程
该问题遇到N次,被郁闷N次,特此记录以备不时之需 由于n久不用em,而本机在公司使用dhcp自动获取ip,导致ip变化,而使em启动报出ora-12514 DBD ERROR: OCIServerAt ...