pushlet 學習記錄

前兩天看了下pushlet2.0.4,總結了它的大概思路:

客戶端主要使用ajax每隔100ms通過get方式發送請求,請求入口爲PushletServlet,在這主要是使用單例模式初始化了SessionManager(session管理器),這個session是它自己定義的實體類,生命週期通過timer來控制,另外還初始化了Dispatch類,如果請求類型爲Join,則會給當前會話初始化一個session,然後進入到了Controller類,在Controller類的doCommand方法裏判斷請求類型做相應處理,如果類型爲publish,通過Dispatcher.getInstance().multicast(aCommand.reqEvent);廣播到所有session,這裏用到了觀察者模式,SessionManager來管理所有的session,如果有新消息,則通過循環sessionCache這個對象來通知到所有監聽的session。

pushlet最大的問題就是不能集羣,對於小型項目還能適應,中大型項目估計就不行了, 不知道官方是怎麼解決這個問題,期待。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章