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 }

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章