分布式系统调用之Marathon

Marathon is a production-grade container orchestration platform for Mesosphere's Datacenter Operating System (DC/OS) and Apache Mesos.

最近,有一个叫 Marathon的项目进行了开源,它的设计宗旨就是让用户在同一组服务器之上,更智能地运行多种应用程序和服务——Hadoop、Storm,甚至一个标准的Web应用。Marathon出自于一家初创公司 Mesosphere之手,这家公司主要就是想构建一个数据中心操作系统,不过这个系统是运行在 Mesos集群管理软件之上,这也是 Twitter基础设施的重要组成部分。该公司的联合创始人是前Airbnb的工程师Florian Leibert(也曾在Twitter工作过)和Tobias Knaup。 



 

Features

High Availability. Marathon runs as an active/passive cluster with leader election for 100% uptime.

Multiple container runtimes. Marathon has first-class support for both Mesos containers (using cgroups) and Docker.

Stateful apps. Marathon can bind persistent storage volumes to your application. You can run databases like MySQL and Postgres, and have storage accounted for by Mesos.

Beautiful and powerful UI.

Constraints. e.g. Only one instance of an application per rack, node, etc.

Service Discovery & Load Balancing. Several methods available.

Health Checks. Evaluate your application's health using HTTP or TCP checks.

Event Subscription. Supply an HTTP endpoint to receive notifications - for example to integrate with an external load balancer.

Metrics. Query them at /metrics in JSON format or push them to systems like graphite, statsd and Datadog.

Complete REST API for easy integration and scriptability.



 

 

DC/OS features

Running on DC/OS, Marathon gains the following additional features:

Virtual IP routing. Allocate a dedicated, virtual address to your app. Your app is now reachable anywhere in the cluster, wherever it might be scheduled. Load balancing and rerouting around failures are done automatically.

Authorization (DC/OS Enterprise Edition only). True multitenancy with each user or group having access to their own applications and groups.

猜你喜欢

转载自gaojingsong.iteye.com/blog/2352713