回答
我假設您正在運行一個或多個Web服務器和一個或多個後端服務器(具有業務邏輯)。我所看到的
一個可行的方法:保持變更計數器在網絡服務器和當後端狀態的變化,讓業務邏輯與通知新的變化計數器的值所有Web服務器。
每個網絡瀏覽器定期輪詢計數器值爲的網絡服務器,並將該值與以前的值進行比較。在old_value!= new_value的情況下,Web瀏覽器進入並向Web服務器詢問新內容。
這使得定期輪詢可以是超快速(1ms)和便宜的。只有真正改變了瀏覽器纔會要求更多資源昂貴的內容生成。
另一種選擇是使用一些異步HTTP魔術(cometd),但上面概述的方法是更簡單,更容易理解,更容易排除故障。
是的,謝謝你的想法,我會試試看。 – LaBracca 2010-10-13 11:54:32
根據您的用戶數量,使用大型的分佈式系統。讓您的網絡服務器更貼近客戶,避免更長的延遲。使用羣集和負載平衡軟件來提高性能。使用反向代理來緩存數據。 但是,「檢查更新」的速度真的很重要嗎?您也可以檢查後臺線程。我會提高其他任務的性能。
是檢查更新只是一個例子,這個特定的情況肯定會更好地在後臺線程中處理。 – LaBracca 2010-10-13 11:54:16
簡單的方法是在服務器上只有一個平面文本或XML文件,其中包含最新版本的詳細信息。客戶端應用程序通過http GET獲取它,比較版本,並作出相應的反應。 http服務器只是返回一個小文件,這是http服務器設計的目的。您應該能夠以這種方式每秒處理數百個請求。
這是「檢查更新」的非常好的技巧。謝謝。 – LaBracca 2010-10-13 12:58:38
這就是我的做法。我只是返回一個純文本文件,其中包含我的應用程序的最新版本。你甚至可以看到它:http://services.rejbrand.se/algosim/update/ver.asp – 2010-10-13 17:19:50
- 1. 更新一個mercurial網絡服務器
- 2. 檢查網絡服務器的響應
- 3. 如何創建pyserial網絡服務?
- 4. 如何建立一個連接到Android的網絡服務器?
- 5. 爲android創建drupal網絡服務
- 6. 創建一個Simpe Python網絡套接字服務器
- 7. 如何在Linux網絡服務器上創建快捷方式文件夾?
- 8. 如何建立一個圖像網絡服務器?
- 9. 如何在橋網絡和主機網絡上創建服務?
- 10. 檢查網絡服務器上數據更新的最佳方法
- 11. 如何在網絡客戶端上從網絡服務器上創建文件
- 12. 如何創建一個SMTP服務器
- 13. 如何數據庫更新網絡服務器,在
- 14. Exchange網絡服務 - 更新任務
- 15. 哪個網絡服務器與Django一起使用? (更新爲2011年使用)
- 16. 創建一個Windows(win32)中的服務在網絡上發現
- 17. 如何爲我的Python腳本創建本地網絡服務器?
- 18. 如何創建一個restangular服務來更新數據
- 19. 檢測到新的網絡連接(Linux的服務器),它是一個Java
- 20. 應用版本更新檢查與Play商店沒有使用任何後端服務器/網絡服務?
- 21. 如何查詢服務器並檢查更新
- 22. 如何創建一個爲每個客戶端創建一個新線程的服務器?
- 23. 如何爲多個服務器創建一個SQL作業網格?
- 24. 如何從網絡服務器查看我的播放網站?
- 25. 如何創建網頁來測試和使用網絡服務?
- 26. 創建一個模擬網絡服務器上的FIFO的.NET應用程序
- 27. 創建網絡信使服務
- 28. 如何爲網址創建網絡圖?
- 29. 檢測網絡服務器類型
- 30. 如何檢查主機的網絡服務
對於大多數現代Web服務器來說,響應時間應該不會超過一秒。什麼是問題? – driis 2010-10-13 09:30:44
儘可能地使用底層操作系統。例如,如果您使用的是Windows和IIS 7或更高版本,那麼沒有更好的方法來減少響應時間,增加吞吐量和卸載系統,而不是讓核心IIS緩存處理* whole *請求。 – bzlm 2010-10-13 09:48:58
用幾百臺Web服務器創建一個服務器園區。 :-) Google和Skype都使用很多強大的硬件來獲得大量的性能。 – 2010-10-13 10:05:58