你好,游客 登录 注册 搜索
背景:
阅读新闻

如何实现 Docker 与分布式数据库结合(1)

[日期:2015-10-19] 来源:segmentfault  作者:蒋勇 [字体: ]

  来自重庆慧谷科技的蒋勇先生,作为SequoiaDB社区的“骨灰级成员”,于最近分享了主题为“Dockerizing SequoiaDB”的技术专题,分享主要介绍了他们公司如何使用Docker制作国内领先的NoSQL数据库SequoiaDB的镜像的过程,以及有关Docker和Core OS一些介绍和使用心得,那么笔者就将对他的演讲进行归纳总结,顺便谈一谈Docker与分布式数据库结合的必要性。

  技术新潮流 - Docker

  随着如今开源软件以及开源项目的热潮,Docker作为如今在技术圈非常火爆的一款开源软件产品,除了开源项目的贡献非常活跃,目前应用也十分的广泛,包括Redhat在内的多个操作系统都已经能支持Docker,而更是无数的软件已经在使用Docker镜像进行安装部署。

  那么Docker是什么呢?

  Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

  这是对Docker的一个官方解释,简单说,有两个部分:

  1) 对于应用程序,曾经我们需要为了不同的系统专门的调整应用程序的代码或者是构造相应的依赖包驱动等等,大大增加了开发量以及开发的难度。现在,Docker向不同的应用程序,提供了一个统一的环境。

  2) 对于服务器,为了支持不同版本的应用,曾经可能需要在物理机上安装多个版本或者不同的GuestOS或者说虚拟机。这就大大占用了物理机的性能,影响了最终程序的表现,提高了资源的成本。

大数据

  使用Docker容器的方式,对于应用程序,不需要开发多种多样的版本或者是针对OS每个版本的升级再进行代码方面的调整,实现了广泛的兼容性和开发的最简性。同时对于物理机,部署的环境“瘦身”也节约了更多的资源,将更多的资源用于提高应用程序本身的性能。

  CoreOS是Docker的不二之选?

  之前大概介绍了Docker,那么服务器上面还是需要最基本的应操作系统才能支撑Docker容器,那么这么多中的Linux内核OS究竟哪一个好呢?笔者和很多Docker技术专家的的观点就是Core OS。

  CoreOS是一个基于Linux 内核的轻量级操作系统,为了计算机集群的基础设施建设而生,专注于自动化,轻松部署,安全,可靠,规模化。作为一个操作系统,CoreOS 提供了在应用容器内部署应用所需要的基础功能环境以及一系列用于服务发现和配置共享的内建工具。

  简单说,CoreOS去掉了大量的非必要的功能,只保留了Server端需要的最基本功能,真正意义做到了“轻量化”。

  此外,CoreOS还做到了:整体系统升级/回滚方案;容器化所有非系统应用、无包管理器;集群化调度器Fleet;分布式高可靠的KV存储系统ETCD

 

  这些特性都让它成为Docker生态的首选操作系统。不过最新的消息是,CoreOS不满足于做Docker生态下的一环,它正在推出自己的容器AppC计划,想对Docker来一招“釜底抽薪”。当然,现阶段并没有出现完全的两者 “分手”,所以对于普通使用者,并没有太大影响。





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款