Hello Mr.J——开个新坑,Docker!

    最近开始加班状态,没什么时间看mycat源码了,也有一种可能是后面看不懂了,假装弃坑了。

    近期也没什么新的进展了,项目也没什么好玩的东西可以研究了,准备看看之前遗留的一个新坑——docker。

    Docker这个东西都在传,而且还都传的很邪乎,都说什么这是云时代的标志什么什么的,然而当我们有认识过虚拟化技术之后,这些看起来都是差不多的。

    在我的眼中,OpenStack这种虚拟化技术,实现的是高层次的虚拟化,物理机和虚拟机的隔离程度很高,在物理机器的操作系统之外还需要额外启动一个虚拟机的操作系统。

    而Docker这种方式,是在物理机之上建立一个docker 容器,虚拟机可以直接通过docker容器直接使用物理机的资源,并不需要额外的操作系统。

    这种方式其实我们可以类比一下EJB容器和Spring容器,一个重量级,功能全面,一个轻量级,但是能够应对大多数的使用场景。Docker在快速发布,批量启动等方面存在极大优势,适用于解决开发、测试、生产环境的一致化,以及在应对业务压力的快速扩容、缩减,对资源的快速调度。

    而传统的VM则更加适合传统的云服务,比如存储,代码管理库,企业私有云等对高可用性要求较高的场景。

    每种技术都有自己的使用场景,目前Docker的技术还不成熟,随时有可能发生运行中的服务错误的情况,比如,前几天我们公司的Docker就在某个服务部署之后反复的自动关闭。查询服务的日志发现一切正常,最后Google给的答案是使用的Docker调度器有Bug,升级之后解决的。

   在我看来,Docker特别适合的是咱们这种爱玩的人,随便出一个新的技术,手痒想试试怎么办?拉个Docker镜像跑一下,不好玩?镜像一删换一个。

   而在平时的开发中,Docker更加适合微服务的框架,每个单独的服务可以根据负载的不同进行批量部署和降级,结合jenkins实现CI。

你可能感兴趣的:(JAVA)