2014-04-20 14 views
2

我們有一個自託管的WCF應用程序,用於分析文本。我們正在討論的安裝包括處理批量的小文本片斷(社交媒體)和較長的文本(如報紙文章)。在一個WCF實例中,較長的片段平均需要5-6秒才能處理,而較短的片段不到1秒。每天有數百萬種每種物品需要處理。用於中等長度任務的WCF集羣

幾個問題:

  1. 什麼是推薦的配置? Windows Azure /負載平衡器管理的任何類型的Amazon /集羣等IaaS?
  2. 是否有一個內置的支持WCF中的負載平衡,它不需要編寫一個包裝?
  3. 出於某種原因,當一個長期的任務正在運行,另一個任務提交到部署在多臺機器上的情況下,它們都運行在相同的核心並行,而不是開始用另一種核是免費的。這是一種保守的分配方式嗎?它可以更有效地管理嗎?

回答

1
  1. 最簡單的答案是Azure的(因爲它是一個PaaS的由微軟),但它不是一個真正的技術問題。這取決於成本和增長預測。
  2. 不是。 WCF supports load balancing,但WCF本身在您的進程中運行並且無法負載平衡本身。這通常是您的主機平臺的一項功能。
  3. 如果這是2級不同的進程,該操作系統調度佔用CPU的時間,我不會推薦與搞亂。如果兩者都運行在相同的核心上,這可能是因爲它們可以(這是有道理的,因爲WCF使用很多,如果IO)
+0

我曾經在這個網站上得到的最有用的答案。你能否詳細說明1號?在Azure中,我是否只部署一項服務並忘記它們並管理負載均衡器?它是否像每個實例的無限CPU功率? 關於最後一個項目,我想在IaaS中,我將不得不部署每臺機器的兩個實例。 –

+1

@VadimBerman在蔚藍你只是通過Visual Studio上傳您的項目,並利用自己的門戶網站來管理它。無論您的需求是什麼,您都可以擁有一個或多個實例,遍佈世界各地。關於IasS,它取決於您的WCF配置。你可能有一個使用大量線程的實例。 – i3arnon