1. 程式人生 > >marathon參考(7):應用組

marathon參考(7):應用組

應用組

應用的編排是樹形結構。應用組將應用拆分成多個應用進行管理。
這裡寫圖片描述
應用組的定義如下:

{
  "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應用需要有資料庫才能執行。按照規範定義依賴,馬拉松跟蹤正確的順序開始行動,停止和升級應用程式。

依賴關係可以表示應用程式和應用程式組級別。如果依賴表示應用組級別,這種依賴是繼承了所有傳遞的應用組和這個組中的所有應用。

依賴可以使用相對路徑或絕對路徑進行表示。

例如:在應用程式組中定義的服務,下面的3個定義是一個意思:

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

組伸縮

一個完整的組可以被伸縮。可以改變應用當前的例項數。

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

這個操作以後,所有的應用例項會翻倍。