我有一塊工作分爲更小的塊。我想將每個塊分配給NumberCruncher的一個實例(每個實例將託管在一個唯一的EndPoint中,並將在服務器上的特定線程上運行)。然後,指定EndPoint中的NumberCruncher實例將返回並緊縮客戶端代理傳遞給它的那些數字,然後以txt文件格式返回結果。WCF,處理來自多個服務器的同時請求
從客戶端來說,我假設我需要保留2個線程安全列表,其中包含鏈接到NumberCruncher實例並等待返回其結果的EndPoints。 NumberCruncher的第二個等待分配更多工作的實例?
關於將項目添加到這些列表中,如何處理來自服務器的多個請求?一次只能添加一個,所以我假設客戶需要發送一條消息給服務,說「是的,你已經成功添加到列表中,現在停止請求添加。」?
編輯
我目前正在運行的時間序列我已經收集了一些分析。我編寫了一個程序(Number Cruncher),它分割我想檢查的不同參數,並將它們分配給不同的線程(由我的電腦中的核心數決定)。每個線程然後運行帶有分配輸入的數字計算器。不幸的是,即使使用所有內核,我的電腦也花費了大量的時間。所以我想運行這個相同的程序,但在幾臺電腦(服務器)上,並編寫一個程序,將工作分配給所有的服務器。每個模擬需要約1小時。所以即時看520小時的計算時間(即不適用於一臺電腦)。
香港專業教育學院編輯我的問題N + 1的什麼ü上面所說的可能是正確的。 – 2013-05-09 17:46:08
爲什麼1個服務器和多個客戶端,而不是其他方式? – 2013-05-09 18:53:40
因爲這使得結果的返回更容易。師父也不需要知道/管理工人的能力。 – 2013-05-09 18:57:54