2011-05-30 22 views
3

我正在研究Windows Azure,並想知道是否可以使用工作者角色實現TCP/IP服務器 - 即當請求進入套接字時 - 工作者角色(而不是Web角色)會接受它,對待它,然後在相同的套接字請求上返回一個答案。使用Windows Azure作爲TCP服務器使用

另一個問題是 - 我應該這樣做,還是隻使用.NET實現我自己的非阻塞服務器,並將其放入一個工作角色或虛擬機中?

謝謝!

回答

7

有上Maaten Balliauw的博客Telnet服務器的一個完整的工作的例子 - 見http://blog.maartenballiauw.be/post/2010/01/17/Creating-an-external-facing-Azure-Worker-Role-endpoint.aspx

關於第二個問題,大多數的答案,似乎可以用輔助角色代碼,而不是使用虛擬機推薦 - 一般工人的角色是「架構首選「,而虛擬機主要用於需要支持現有(遺留)代碼的情況。

+0

URL已更改。 https://blog.maartenballiauw.be/post/2010/01/17/creating-an-external-facing-azure-worker-role-endpoint.html – Kris 2016-12-18 06:07:45

1

添加到Stuart的答案:工作者角色將爲您提供虛擬機角色將爲您提供的幾乎所有內容,而無需擔心維護操作系統。虛擬機角色是幾個特定場景所需要的。我列舉了他們在this other StackOverflow answer,但只是爲了完整性,這裏是那些需要VM角色場景:

  • 啓動/設置需要很長的時間。這有點主觀,但一個好的經驗法則是5分鐘左右。請記住,每次啓動角色實例時,他們都需要在啓動時重新運行任何任務(包括軟件安裝),以便角色實例可用性延遲到所有啓動任務都運行完畢。
  • 啓動/設置任務不可靠,並且在您第一次運行時並不總是有效。軟件設置需要以無人值守模式運行,並且必須可靠地成功。
  • 需要人際互動。如果軟件安裝無法完全自動化,則無法編寫腳本。

當涉及到承載TCP服務時,您可以選擇承載某些可公開使用的內容,也可以僅託管其他角色實例的內部。對於公共主機,您最多可以在整個部署中使用25個端點,對於內部主機,每個角色最多有5個端點。有關詳情,請參閱我的博文here