Marathon(3):Application Groups

Application Group

应用程序可以嵌套到以组作为分支、以应用作为叶子的n元树中。应用程序组是用来将多个应用程序划分成可管理的集合。

这里写图片描述

如上图所示的结构,该定义看起来是这样的:

{
  "id": "/product",
  "groups": [
    {
      "id": "/product/database",
      "apps": [
         { "id": "/product/mongo", ... },
         { "id": "/product/mysql", ... }
       ]
    },{
      "id": "/product/service",
      "dependencies": ["/product/database"],
      "apps": [
         { "id": "/product/rails-app", ... },
         { "id": "/product/play-app", ... }
      ]
    }
  ]
}

依赖

应用程序可以有依赖。例如,一个Play应用程序可能需要一个数据库来运行。如果依赖在应用规范中被定义,那么Marathon会跟踪应用程启动,停止和升级等操作的正确顺序。

依赖可以用应用级别和应用程序组级别来表示。如果依赖是应用程序组级别上表达,这种依赖会在改组中所有可传递应用和可传递组中被继承。

依赖关系可以通过绝对或相对路径来表示。

例如:如果在应用程序组的服务的定义,以下3种定义具有相同的含义:

{
  ...
  "dependencies": ["/product/database"],
  "dependencies": ["../database"],
  "dependencies": ["specific/../../database"],
  ...
}  

Group Scaling

可以对整个组进行scaling。所有可传递应用实例的数量也会相应的改变。

PUT /v2/groups/product HTTP/1.1
Content-Length: 21
Host: localhost:8080
User-Agent: HTTPie/0.7.2
{ "scaleBy": 2 }

通过执行上面的示例操作,每个应用程序的实例数是执行前的一倍。


参考资料:

[1]:http://mesosphere.github.io/marathon/docs/application-groups.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值