2012-03-22 52 views
0

嗨我正在開發基於Azure的GPS記錄器應用程序。需要關於基於Azure的GPS記錄器應用程序的體系結構建議

的功能包括在Web瀏覽器谷歌地圖的位置的實時更新和報告生成

我已決定於具有WorkerRole獲取傳入TCP GPS數據,並把它放在表(對未來的報表生成)和一個隊列(用於通過WebRole顯示具有最新座標的地圖)。

但是讓Worker,Web角色整天保持活躍狀態​​並保持等待數據輸入將會浪費資源並降低成本。

我期待數據每10秒鐘來一次,每天只有幾個小時,隨機。

有沒有其他辦法來檢查數據輸入並啓動輔助角色?或者某種調度可能?

如何優化應用程序。

問候, 阿尼爾

回答

0

我需要更多地瞭解你的應用程序;但是有一些事情我可以在開始時拋出去讓你走。

你需要怎樣的「實時」處理?

1)你可以運行一個XS實例,它什麼也沒做,但是喚醒了大型工作者角色。當它不需要潛在的時候仍然運行,但XS幾乎沒有成本。

2)從本地檢查隊列,並部署一個輔助角色。但是這會導致每次部署角色的延遲時間爲15分鐘。因爲你每小時收費15分鐘後拿下來15分鐘就沒有意義了,你可以把它留在整整一個小時。 3)計劃任務內部部署每天晚上部署您的工作人員角色,從隊列中讀取當天建立的信息,完成工作並終止部署。

我想說的解決方案3將是你最好的解決方案,如果處理沒有需要「實時」

希望這些幫助。其他人也可以ping我,我很樂意參與更深層次的活動,或者指引我們的實地團隊中的某些人爲您提供更多幫助。

查找我的Twitter,LinkedIn等

+0

有沒有使用本地的任何教程?如何設置調度程序並終止部署? – 2012-03-22 08:54:07

+0

谷歌地圖上實時顯示的處理時間應該在10秒以內。報告生成可能需要一些時間。 – 2012-03-22 09:05:12

+0

在我看來,使用調度程序會降低Azure的高可用性。你選擇一個xs實例來觸發更大的工作人員聽起來像是一個更好的選擇 – 2012-03-22 20:27:18

0

我能想到這樣做將是對-PREM運行的監測過程,當它檢測到的數據,它可以將應用程序部署到Azure以最好的方式處理它。完成後,刪除應用程序。您可以使用Azure的PowerShell命令做到這一點,看看:

http://wappowershell.codeplex.com/

0

我不認爲啓動和停止您的服務真的是你想要做什麼實際的。基本上你想要一直提供你的服務,但不想爲他們付錢。

如果您擔心成本問題,我建議的唯一方法就是如果您的工作人員角色在80以外的端口上運行,請在您的Web角色中運行它。我的意思是把你目前在你工作角色的RoleEntryPoint中做的所有事情放在Web角色的RoleEntryPoint中。它應該沒有任何代碼更改。這樣你只需支付一套實例,而不是兩套。

相關問題