当前位置:首页 > Docker 与 SequoiaDB 分布式数据库结合

公司新闻业界资讯网站技术社会宠物

Docker 与 SequoiaDB 分布式数据库结合

在5月23号举办的开源我国源创会(图文回忆)上,来自重庆慧谷科技的蒋勇先生共享了主题为“Dockernizing 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 来一招“釜底抽薪”。当然,现期间并没有呈现彻底的两者 “分手”,所以关于一般运用者,并没有太大影响。

Docker+分布式数据库

数 据库是每一个软件项目有必要的一个有些,作为这样的一类底层根底软件,兼容性、通用性、易费用都是需求思考的要点。十分遗憾的是,现在的操作体系以及数据库 都没有彻底的完成彻底的通用。格外关于NoSQL数据库这样的分布式体系,需求布置在多台物理机时,关于通用性要求就更高了。

当前,像 SequoiaDB 现已完成了自动化的装置,大大提升了布置的功率,但是思考到布置以后的装备以及不一样环境下的调试疑问,依然也许会耗费不小的人力物力。 所以根据刚刚说到的 Docker 的长处,作为一个通用的根底软件,NoSQL 数据库的 Docker 化就成了有必要。

一个简略的比如,你能够用 docker 把数据库的数据与数据库程序自身别离开:用一个 container A 作为数据存储,然后另一个 container B 运转数据库。当你想晋级数据库时,用新的 container C 替换掉container B 即可。

Docker+ 分布式数据库的联系,带来许多的好处:

1)  布置简略,运用镜像布置十分简略,格外是对集群环境,运用 Docker 镜像的布置还能够再数据库上提前集成 Hadoop、Spark 等架构,真实完成“一步到位”。

2)  便利运用的更新,运用的更新只需求思考制造一个新的镜像就能够与容器适配,无需从头再调整与底层的装备。数据和程序的别离,这样晋级替换等等都不会影响到数据。

3)  操作简略便利,除了底层免除了杂乱的与环境进行装备的作业,操作也愈加便利,装备好的 Docker 镜像在布置时分只需求一条指令就能够了。

4)  开发、运用环境共同,Docker 让数据库能做到 开发---测验---施行运用 三个期间的环境是彻底共同的。降低开发到运用进程中的作业量,开发出来就能确保实践运用环境上能相同的运转。

5)  体系安稳,由于 Docker 的阻隔作用,将运用与 OS 独立开,这样能非常好确保全部体系的安稳性。

6)  节省体系资本,体系只需求运转一个一致的环境就能够,不需求占用太多性能去支撑运转环境自身,能将更多的体系资本投入到运用傍边。

有了这些特性, Docker+ 数据库,将变成一个数据库开展的新方向,Docker 这样的通用性和简略操作解决方案,大大进步了数据库运用的功率,协助运用者节省了很多本钱。

Docker 是现在技能圈的新潮流,嘉兴网站建设开发人员是最乐见于 Docker 的这种运用布置模式,由于运用的生命周期起始于开发人员的开发体系,通过开发,测验,压力测验,等 进程,终究运用发布到出产体系,并也许在不一样的出产体系中搬迁。运用开发人员对此都会有切身的体会,任何细小的运转环境的错误都会致使运用呈现疑问,特别 在考究疾速灵敏的今日,运用模块,新的代码,新的装备,被疾速的加入运用的环境中,也许还没等写入到文档,新特性就现已被推送到出产上了。作为一个新的技能,笔者也期望更多的商品能加强与 Docker 的联系,协助商品非常好的运用。


分享到:
点击次数:  更新时间:2015-06-19  【打印此页】  【关闭


嘉兴蜂鸟网络科技 版权所有 2008-2015 浙ICP备05784968