2016-01-08 98 views
4

我們在Google Compute Engine上託管我們的基礎架構,並正在研究Autoscaling以獲取實例組。我們對隊列中的二進制數據進行了大量批處理。在我們的例子中,這意味着:Google計算引擎根據隊列長度自動縮放

  1. 當工人正在處理數據的CPU總是100%
  2. 當隊列爲空,我們希望終止所有工人
  3. 根據隊列的長度我們想要一定數量的工作人員

但是,我發現很難找出一種方法來在Google Compute Engine上自動縮放此類方法,因爲它們似乎可以擴展僅實例指標,如CPU。從documentation

並非所有自定義指標都可以被自動調節器使用。要選擇 有效的自定義指標,度量必須具備以下所有 屬性:

  • 度量必須是每個實例的指標。
  • 度量標準必須是有效的利用率度量標準,這意味着度量標準中的數據可用於按比例放大或縮小虛擬機的數量。

如果我閱讀文檔妥善這使得它很難使用自動縮放在全球隊列長度?

備份解決方案

  1. 編寫使用谷歌雲API來創建或銷燬新工人使用Instances API
  2. 使用實例組手動編寫一個簡單的自動縮放處理,然後簡單的自動縮放處理插入/刪除實例使用InstanceGroups: insert
  3. 使用InstangeGroupManagers: resize
  4. 寫一個簡單的自動縮放處理程序創建一個自定義每個實例e度量len(queue)/len(workers)所有工人
+0

正如grzenio在他的回答中提到的,該功能尚未用於自動縮放。據說,您可以通過GCE問題跟蹤器(https://code.google.com/p/google-compute-engine/issues/)提交功能請求。 – Faizan

+0

考慮到Faizan的建議,我在https://code.google.com/p/google-compute-engine/issues/detail?id=291上創建了一項功能請求 –

回答

1

據我瞭解,這尚未實施(截至2016年1月)。目前,自動縮放僅針對Web服務場景,您希望從您的計算機爲網頁/其他Web服務提供服務,併爲流量尖峯保留一些合理的空間(例如,在CPU或其他指標方面)。然後系統會調整實例/虛擬機的數量以匹配您的目標。

您正在尋找批量處理方案的自動縮放功能,目前此功能不適用。