企业Mesos应用指南:为什么他们都选择了它?
Posted 优云数智
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业Mesos应用指南:为什么他们都选择了它?相关的知识,希望对你有一定的参考价值。
本文的结构分为三个部分:
企业面临的挑战
数据中心分区和资源管理
Apache Mesos的优势
微服务是一个广泛的趋势,特别是如果你的公司运作良好,也许已经应用了微服务。微服务非常适合用来做好每一件事,并且充分迎合了企业的组织结构需求,在创建、测试、部署和回转等各个环节使其独立不受干扰。但是,如果没有以分布式系统的方式设计它,那么服务可能会变成单点,不再适合独立的机器,因为它需要更多的内存或者计算内核来处理“大数据”或者并发的用户。并且随着企业规模的扩大,用户和数据也在不断增长。
典型的使用多机器托管多服务的企业数据中心分区如下:
如何处理故障是一个重要的任务。想象一下顶层连接Cassandra rack的开关突然挂掉了,意味着没有人可以查询Cassandra。
这是一封笔者收到的真实邮件,OpenStack托管的一批机器重启启动,在它上面运行的服务都挂掉了:
回到静态分区,故障可能会看起来是这样子的:
另一个挑战是资源利用率。大多数情况下,观察资源利用率会发现,使用Hadoop和Kafka的机器大约用到了资源的30-40%,Java应用在白天使用更多资源,到了晚上基本是闲置的。
正如你所见,大多数资源都在此闲置,而我们希望能够有一个工具像下面那样减轻资源浪费、提高资源利用。
使用Apache Mesos可以很好地解决上述问题。Apache Mesos是一个时髦且通用的集群管理工具,始于2009年加州大学伯克利分校,在Twitter上进行了首次大规模实践,Twitter的大部分应用都跑在Mesos数以万计的节点上。Mesos也公开了一系列丰富的API,支持各种编程语言如Java/C++/Python。另外,许多顶级的Apache项目也移植到Mesos上运行:
就像大多数分布式系统一样,Apache Mesos有一个master和slave的结构。
调度器/framework与master机器进行交互,调度slave机器上的任务。
这部分十分简单明了,创建应用,并且将它容器化,它可以是二进制文件,tgz,或者docker镜像。将包上传到能够被slave机器访问的位置(HDFS/S3/HTTP),描述该服务并调度它。你可以通过使用Marathon Web UI, REST endpoint或者CLI来实现。
这是一个JSON的例子:
正文部分结束,对Mesos和Marathon感兴趣的小伙伴可以了解一下数人云开源Mesos调度器Swan,实现并补充了很多Marathon的功能:https://github.com/Dataman-Cloud/swan
文章来源:https://hackernoon.com/why-your-organization-should-start-using-apache-mesos-a730d0a82c78#.v3lrmnrgu
相关阅读:
活动推荐:
上海活动太火热不得不暂停报名,
请报名的小伙伴本周六下午早点到场,
没报上名的坐等实录分享吧,见谅:)
北京的同学请看这里 ↓
以上是关于企业Mesos应用指南:为什么他们都选择了它?的主要内容,如果未能解决你的问题,请参考以下文章