Mesos是一个两级调度程序。当然,它从每台机器获取资源信息,并将其提供给顶级调度器,这样像kubernetes这样的框架就可以用来跨机器调度容器,但是kubernetes本身可以跨机器调度容器(在这方面不需要Mesos)。那么Apache Mesos能做的Kubernetes做不到或反之亦然的事情有哪些呢?
Mesos和Kubernetes都是第n级容器编排器。这意味着您可以实现相同的功能,但在其中一个功能上可以更容易地完成某些任务(阅读。更好)。事实上,你可以在Mesos和反之亦然地运行Kubernetes。
让我们来看看主要的差异,当你需要做决定时,这些差异会给你一些线索:
正如您所指出的,Mesos是一个两级调度器,这是体系结构的主要区别。这使您能够创建自定义调度程序(又名框架)来运行任务。更重要的是,您可以有多个调度程序。您的所有调度器都使用主导资源公平算法(可以用自定义分配器代替)来竞争公平分配的资源。您还可以为框架和任务分配角色,并为这些角色分配权重,以确定一些调度器的优先级。角色与资源紧密相连。上面的特性使您能够根据您想要运行的任务类型,使用不同的启发式为不同的应用程序(例如Fenzo)创建自己的调度方式。例如,当运行批处理任务时,最好将它们放在数据附近,开始的时间并不重要。另一方面,运行无状态服务是独立于节点的,尽快运行这些服务更为关键。
Mesos社区比Kubernetes小得多。事实就是这样。Kubernetes得到了许多大公司的财政支持,包括谷歌、英特尔、Mirantis、RedHat等,而Mesos主要由Mesosphere开发,并得到了苹果、微软的一些支持。虽然Mesos是一个成熟的项目,但它的发展缓慢但稳定。另一方面,Kubernetes年轻得多,但发展迅速。
Meso贡献者来源
Kubernetes社区--Ian Lewis,谷歌开发者倡导者
看起来Kubernetes已经赢得了集装箱指挥战。但是如果您有一些定制的工作负载和真正的大规模,Mesos可能是一个很好的选择。
主要区别在于社区规模和开放源码模型:DCOS由Mesosphere支持,只在商业产品中提供企业特性(因为Mesosphere不是慈善家),K8S有一个更大的社区,来自不同公司的强大贡献,从而提供了更多集成的企业特性(多租户、RBAC、配额、抢占、网关...)这意味着它们更容易使用,但不一定在DCOS中不存在。我要在全球范围内说:
您能说Apache Karaf包括以下内容吗?其中包括: Apache Felix(它是OSGi 4.2框架的实现) Apache Aries(它是Blueprint标准的实现)
我正试图把我的头缠在Apache Mesos上,需要澄清几个项目。 我对Mesos的理解是,它是一个安装在集群中的每个物理/VM服务器(“节点”)上的可执行文件,然后提供一个Java API(不知何故),将每个单独的节点视为计算资源(CPU/RAM/等)的集体池。因此,对于使用Java API编码的程序,他们只看到一组资源,而不必担心如何/在哪里部署代码。 因此,首先,我在这里的理解可能是根本错误
我有一个Mesos集群启动和运行(1个主和2个从)与马拉松。我使用docker作为Mesos/Marathon中的容器。我有一个卡拉夫码头,将在马拉松作为集群发射。我计划用织物的地窖作为卡拉夫的聚类解决方案。我的问题是 提前致谢
Apache Kafka:分布式消息传递系统 Apache Storm:实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据? 在实时数据管道方面,我觉得两者做的工作是一样的。如何在数据管道上同时使用这两种技术?
问题内容: 为什么我们需要特定于数据库的功能,例如mysql_real_escape_string()?addlashes()不能做什么? 暂时忽略了参数化查询的高级替代方案,是一个仅使用addlashes()的web应用仍然容易受到SQL注入的攻击,如果是,怎么办? 问题答案: 当处理多字节编码的字符串时,加号通常不够好。