marathon參考(7):應用組
阿新 • • 發佈:2019-02-14
應用組
應用的編排是樹形結構。應用組將應用拆分成多個應用進行管理。
應用組的定義如下:
{
"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 }
這個操作以後,所有的應用例項會翻倍。