Web服务Docker化的优势
docker能够简化配置一致的示例的发布流程,很好的应对了负载波动较大的情况;同时它比虚拟机更加轻量级,成本更为低廉。诸多优势下,它终于成为了新时代的宠儿。
我们总会发现公司的项目总是上到服务器的docker中运行,而自己开发的项目通常为了方便直接打包为一个war包上传到服务器,再使用java -jar命令运行。结果两种方案都能够正常运行起来,这个时候爱思考的同学们就会去想:既然我们有简单的部署方式,那为何还要使用docker呢?非常好的问题,我们接着往下看:
docker是什么?
docker是一个开源的应用容器引擎,如果你是docker的初学者,同时也有开发过基于Maven的java项目的经验,那就会比较容易理解:我们可以把docker想作一个拥有类似Maven仓库的镜像资源仓库的虚拟机。我们能够在docker容器之中运行来自仓库的各类应用。
为什么使用docker?
作为程序员,是否经常听到身边有人说“怎么在我的机器上没办法复现啊?”这样的话,很大程度上是因为QA人员与工程师们使用的各种环境各种配置不同导致的。我们想一想,使用虚拟机最大的好处是什么?就是让使用者处于一个自己可配置的可控的“标准”环境里。docker同样也拥有虚拟机的这一大优势。因此,它的第一大优势就是:保证程序运行环境的统一。
再描述一个场景:一台服务器通常是由多人/多项目共享,如果某天与你共用服务器的同事的项目出现了各种占用CPU/硬盘这样的问题,你在此台服务器中运行的项目也会因此收到影响。而当你使用docker时,我们可以限制每个应用实例的各类资源的上限,对方的服务到达上限只会使它自己崩掉而不会影响别的项目。这就是docker的第二大优势:隔离性。
第三个场景:在双十一这样的峰值期,电商网站平时使用的服务器负载一定是跟不上的,我们必须临时加服务器进来分担负荷,在负荷降下来的时候再撤出这些临时服务器。我们想一想,当我们拥有一台全新的服务器后,想部署一个web应用,需要安装配置各种运行环境,麻烦炸了,运维工程师正在拿刀过来的路上!而docker只需要几个简单的命令,就能将同样的配置迅速移植到多台机器上去,同样几个命令就能将这几台机器撤下来,负责服务器的工程师爽歪歪。这就是docker的第三大优势:标准化,它能够带来优秀的可移植性。
总结
docker能够简化配置一致的示例的发布流程,很好的应对了负载波动较大的情况;同时它比虚拟机更加轻量级,成本更为低廉。诸多优势下,它终于成为了新时代的宠儿。
更多推荐
所有评论(0)