2012-07-09 105 views
0

我們有一些用於從互聯網收集數據的履帶。 EC2 spot對於我們的應用來說是一個非常便宜的解決方案。你如何管理你自己的應用程序?

在我們的例子中,我們可以通過以下步驟設置爬蟲:

  1. 推出亞馬遜快速啓動模板
  2. 的AMI安裝依賴庫
  3. 發送履帶式應用實例
  4. 爲我們的爬蟲設置啓動器,在啓動完成後讓它工作
  5. 使實例成爲ami

但是當爬蟲需要更新時,我們需要重複第3步。 它影響其他設置,例如自動縮放 或其他專色實例請求腳本中的'ami-id'。

'ami'中的應用程序管理是一個部署問題,因此我們需要使其儘可能簡單的建議。現在,有另一種方式來管理它。我們使用源代碼管理工具,部署步驟如下:

  • 3 git clone from source code repo。
  • 3.1從源頭
  • 3.2編譯應用程序中刪除以前的版本
  • 3.3安裝最新版本
  • 4發射器總是從重建最新發布的履帶它喚醒履帶前。

新的方法可以防止ami-id變化,但它必須每次都檢出源代碼。最後,獲取源代碼需要更多時間(源代碼每天都在增長)

如何管理您的ami上的工件? 我不確定始終從源頭建設是最好的選擇。 它只克服了一些部署問題,但在爬行器實例運行後沒有尋址更新。

回答

1

好吧,如果你的爬蟲沒有更新的每一天小時,然後我想你應該write some script即您將同時使用你的想法以前的和新的,從如果你的服務器做這麼寫劇本檢查目前的版本是最新的然後go normal爬行,如果這比較老,然後move to the GIT Clone stuff,通過這個,如果你不經常修改爬蟲,你可以有高效的性能。

上面實際上你會被降低了重建的大部分時間,因爲你描述你必須做這些步驟大多沒有理由

希望這有助於你

+0

感謝您的建議的重建過程。檢查變更集是一個好主意,可以指示新版本即將推出。 – qrtt1 2012-07-10 03:12:58

+0

歡迎光臨!很高興聽到它幫助你:) – Junaid 2012-07-10 06:41:54

相關問題