答疑解惑:Mesos 的实际使用场景

简介:

文中内容来源于stackoverflow上的一个问题 ,提问者想知道Mesos在实际的使用中都有哪些使用场景,来自Twitter的工程师从容器编排、资源利用率、优先级和资源抢占、以及服务运行等几个角度,对问题进行了回答。

我尝试探究用户使用Mesos的原因究竟有哪些,以下是暂时列出的几个要点,不知道还有没有其他的例子?

1)让用户把所有的服务都运行在同一个集群中而不是运行在专用的集群中(比如通过终端应用的集群+DevOps的方式,例如像Jekins)

2) 在同一个集群中运行不同类型的成熟的服务(dev,test,production)不知道这样是否可行?Kubernetes中已经可以通过lables标签来提供类似的功能。

3) Mesos 通过提供简化部署、统一标准的API、资源装箱等一系列的操作,简化了传统的分布式服务(比如像Hadoop)的使用流程。

回答(Dave Lester):

我目前在Twitter工作,我同时参与到了Apache Mesos以及Autora项目的相关工作中,下面是我对Mesos使用场景的理解。

Mesos的实际使用场景可能会受到以下几个因素的影响:集群规模(数十台服务器到成千上万台)、可使用的硬件(专用的/静态的,或者是云端的/可扩展的)、以及工作量(提供基本的服务或是批量处理的服务,或两种服务同时提供)

上面所列出的几点都很有道理,这里我再加上几种新的使用案例。

容器编排

随着容器环境(比如Docker)变得越来越流行,许多潜在的用户正在寻找一种 Mesos+调度器的方案来管理镜像在创建之后的编排工作。Mesos到目前为止已经相当成熟,已经被证明可以规模化地提供服务,我认为Mesos的解决方案比某些临时出现的方案要好很多。

提升资源利用率

对于使用超过50台服务器的公司而言,一个通常的使用Mesos的动机就是提升资源利用率,并且减少运维成本。目前已经有许多这样的公司,比如各种公有云和私有云服务的提供商。在Ebay的案例中,它们曾经在Mesos上运行Jekins这样可以减少虚拟机的使用。Mesosphere也发布了相关的文章对于 HubSpot (运行在AWS上)的案例研究,文章中介绍了HubSpot是如何使用几十台大型的服务器来替代了几百台小型的服务器,使得硬件的利用率更高。

优先级和资源抢占

在Twitter,我们通过一个调度器: Apache Aurora 来运行Mesos服务。在这个使用场景中,我们有一种方式可以提高资源的利用率:在同一个集群上运行不同的成熟的服务。Aurora有一个环境变量的概念,这可以让用户可以运行不同环境类型的服务,比如production、development、或者是test环境。此外,Aurora还有一种内建的优先级抢占机制,这可以允许它来优先考虑production环境下的任务,当这些资源需要被production环境中的任务使用的时候,系统可以及时结束非production的任务,在每一种环境中,都有类似的优先级系统。

长期的,功能性相关的资源抢占功能也将会存在于Mesos本身的内核中 -- 这是一个杀手级的特性,这个功能可以增强资源利用率,并且在不同的环境下(dev、test、prod)运行不同的成熟的服务。如果你对相关的话题感兴趣,可以参考MESOS-155以及MESOS-1474。

同时运行批处理服务和普通服务

可以在一个共享的Mesos集群中同时运行批处理任务以及其他的普通服务,这将对资源利用率的提升起到关键作用。让我们回顾一下Myriad项目,这个项目希望把Mesos以及YARN的工作任务放在同一个集群中。在这个时候,用户并不在意同时进行批量服务和普通服务的大规模的部署工作,在一个共享的集群中运行多个框架也将变得更加简单,这也是社区发展的一个方向。


本文作者:王哲

来源:51CTO

相关文章
|
12月前
|
弹性计算 固态存储 Linux
阿里云服务器、轻量应用服务器、gpu云服务器收费标准与实时活动价格参考
云服务器ECS、轻量应用服务器和gpu云服务器是阿里云的主要云服务器产品,目前轻量应用服务器2核2G收费标准为60元/月,活动价格只要36元/1年或68元1年,云服务器1核1G包月收费标准最低为24.0元/月,GPU云服务器中gn6i实例4核15G配置月付1681.00/1个月起,gn6v实例8核32G配置月付3817.00/1个月起。本文为大家整理汇总了阿里云服务器、轻量应用服务器、gpu云服务器的最新收费标准与活动价格情况,以表格形式展示给大家,以供参考。
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的资产管理与维护
【7月更文挑战第25天】 ERP系统中的资产管理与维护
468 2
|
自然语言处理
什么是大模型的局限性?
【7月更文挑战第25天】什么是大模型的局限性?
2294 3
|
前端开发
Promise的链式调用
Promise的链式调用是指在一个Promise对象上连续调用多个then方法的过程。通过链式调用,可以将多个异步操作按照顺序执行,并且可以在每个操作完成后处理返回的结果。
315 0
|
监控 Linux
配置zabbix连接grafana展示监控图形(十)
zabbix连接grafana 1.安装grafana
1711 0
配置zabbix连接grafana展示监控图形(十)
|
SQL 弹性计算 关系型数据库
PostgreSQL 12 preview - CTE 增强,支持用户语法层控制 materialized 优化
标签 PostgreSQL , CTE , materialized , not materialized , push down 背景 PostgreSQL with 语法,能跑非常复杂的SQL逻辑,包括递归,多语句物化计算等。 在12以前的版本中,WITH中的每一个CTE(common table express),都是直接进行物化的,也就是说外层的条件不会推到CTE(物化节点)里
1249 0
|
资源调度 分布式计算 Java
Yarn基础入门
Yarn基础入门
426 0
|
SQL 缓存 NoSQL
MySQL 数据库崩溃(crash)的常见原因和解决办法---发表到 《数据和云》 公众号
Linux 系统中的 systemd 和 mysqld_safe 会在 mysqld 进程 crash 后自动重新启动 MySQL 的服务,需要注意的是使用 kill -9 杀死 mysqld 进程系统会自动重新启动,而只使用 kill 命令则不会重新启动
1499 0
|
存储 安全 关系型数据库
win10下最新MySQL8.0安装与环境配置,Navicat图形化管理工具连接,完整详细可收藏
win10下最新MySQL8.0安装与环境配置,Navicat图形化管理工具连接,完整详细可收藏
win10下最新MySQL8.0安装与环境配置,Navicat图形化管理工具连接,完整详细可收藏

热门文章

最新文章