docker_practice/mesos/intro.md
2017-05-02 23:17:58 +08:00

2.0 KiB
Raw Blame History

简介

Mesos 最初由 UC Berkeley 的 AMP 实验室于 2009 年发起,遵循 Apache 协议,目前已经成立了 Mesosphere 公司进行运营。Mesos 可以将整个数据中心的资源(包括 CPU、内存、存储、网络等进行抽象和调度使得多个应用同时运行在集群中分享资源并无需关心资源的物理分布情况。

如果把数据中心中的集群资源看做一台服务器,那么 Mesos 要做的事情,其实就是今天操作系统内核的职责:抽象资源 + 调度任务。Mesos 项目是 Mesosphere 公司 Datacenter Operating System (DCOS) 产品的核心部件。

Mesos 项目主要由 C++ 语言编写,项目官方地址为 http://mesos.apache.org,代码仍在快速演化中,已经发布了正式版 1.0.0 版本。

Mesos 拥有许多引人注目的特性,包括:

  • 支持数万个节点的大规模场景Apple、Twitter、eBay 等公司实践);
  • 支持多种应用框架,包括 Marathon、Singularity、Aurora 等;
  • 支持 HA基于 ZooKeeper 实现);
  • 支持 Docker、LXC 等容器机制进行任务隔离;
  • 提供了多个流行语言的 API包括 Python、Java、C++ 等;
  • 自带了简洁易用的 WebUI方便用户直接进行操作。

值得注意的是Mesos 自身只是一个资源抽象的平台,要使用它往往需要结合运行其上的分布式应用(在 Mesos 中被称作框架framework比如 Hadoop、Spark 等可以进行分布式计算的大数据处理应用;比如 Marathon 可以实现 PaaS快速部署应用并自动保持运行比如 ElasticSearch 可以索引海量数据,提供灵活的整合和查询能力……

大部分时候,用户只需要跟这些框架打交道即可,完全无需关心底下的资源调度情况,因为 Mesos 已经自动帮你实现了。这大大方便了上层应用的开发和运维。

当然,用户也可以基于 Mesos 打造自己的分布式应用框架。