1. 程式人生 > >討論一下大使用者量應用客戶端與伺服器通訊技術方案選擇

討論一下大使用者量應用客戶端與伺服器通訊技術方案選擇

最近公司正在做一個專案,該專案的客戶端應用相當廣泛,類似與QQ這樣的專案。其中有一項要求服務端與普通使用者的客戶端程式能適時互動。當服務端系統狀態有變化時,能及時通知所有線上的使用者更新資料。由於客戶端使用者數量群較大,有上千萬的使用者規模,所以目前選擇的各種方案都有優缺點。結一下比較可行的方法主要有以下幾種:
1、通過UDP socket方式,實現服務端與客戶端通訊。這種方式優缺點就不說了。
2、能過tcp/ip socket方式,實現服務端與客戶端通訊。這種方式缺點就是大使用者量的soket連線佔用伺服器系統資源,同時對已經登出的使用者連線也不好判斷。
3、通過java 訊息機制 實現訊息訂閱方式,來實現服務端向客戶端訊息的及時通知。但是這種方式在誇平臺方面存在弊端,同時對上千萬使用者級別規模的效能也不清楚。

請教各位有什麼更好的辦法實現?