拉推模式總結

轉載至:http://leign.iteye.com/blog/613508

最近做一個消息系統,其中涉及到新消息數的即時更新,當時就想到了觀察者模式,後來聽同事提到推拉模式,感覺推模式原理上應該還是屬於觀察者模式,只不過把server變成了被觀察對象,client被動觀察 。。。

其實推拉模式我們經常遇到,如廣播(推)、HTTP請求(拉),只是沒有刻意去追求概念。設計時還是應該多考慮到。
考慮到性能還效率,最終還是選擇了拉模式,每隔一斷時間請求一次、更新。

下面是引用:
推(push)模式是一種基於客戶器/服務器機制、由服務器主動將信息送到客戶器的技術。在push模式應用中,服務器把信息送給客戶器之前,並沒有明顯的客戶請求。push事務由服務器發起。push模式可以讓信息主動、快速地尋找用戶/客戶器,信息的主動性和實時性比較好。但精確性較差,可能推送的信息並不一定滿足客戶的需求。推送模式不能保證能把信息送到客戶器,因爲推模式採用了廣播機制,如果客戶器正好聯網並且和服務器在同一個頻道上,推送模式纔是有效的。push模式無法跟蹤狀態,採用了開環控制模式,沒有用戶反饋信息。在實際應用中,由客戶器向服務器發送一個申請,並把自己的地址(如IP、port)告知服務器,然後服務器就源源不斷地把信息推送到指定地址。在多媒體信息廣播中也採用了推模式。另外,如手機*、qq廣播。

拉(pull)模式與推模式相反,是由客戶器主動發起的事務。服務器把自己所擁有的信息放在指定地址(如IP、port),客戶器向指定地址發送請求,把自己需要的資源“拉”回來。不僅可以準確獲取自己需要的資源,還可以及時把客戶端的狀態反饋給服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章