Home / Th? sáo vàng / 產(chǎn)品特色 / 手機(jī)郵件實(shí)時(shí)推送:推動(dòng)(Push)模式和拉動(dòng)(Pull)模式

手機(jī)郵件實(shí)時(shí)推送:推動(dòng)(Push)模式和拉動(dòng)(Pull)模式

push:保持長連接(采用異步socket建立tcp連接),能實(shí)時(shí)無延遲的收到服務(wù)推送過來的消息。服務(wù)器的域名不會改變,客戶端能夠找到服務(wù)器,而手機(jī)客戶端是用的是移動(dòng)運(yùn)營商的網(wǎng)絡(luò),若30分鐘(不同省份的運(yùn)營商設(shè)置的可能不同,大部分運(yùn)營商設(shè)置的是30分鐘)用戶不使用網(wǎng)絡(luò),運(yùn)營商可能把這個(gè)IP分配給其它的用戶,所以服務(wù)器一般不能實(shí)時(shí)的找到手機(jī)客戶端。所要要實(shí)現(xiàn)push,那么就要再服務(wù)器和手機(jī)客戶端建立長連接。由于手機(jī)客戶端需要連接服務(wù)器的連接很多,通常服務(wù)器要支持集群,畢竟一臺服務(wù)器要實(shí)現(xiàn)少?zèng)_突的分配長連接端口號,那么就最好不超過20000個(gè)連接。Push的好處是實(shí)時(shí),維護(hù)通道的流量超少,只需要每30分鐘維護(hù)一次通道(為保持安全穩(wěn)定最好每14分鐘維護(hù)一次通道,就是發(fā)送一次請求,應(yīng)用前后臺切換時(shí)有繼續(xù)讓線程僵死,所以應(yīng)用前后切換時(shí)要維護(hù)一次通道)就可以。個(gè)推的透傳和蘋果APNS本質(zhì)就時(shí)push長連接,所以他們很省點(diǎn),也較快。只所以它們沒有做到想象的那么實(shí)時(shí)是因?yàn)樘O果運(yùn)營的手機(jī)是海量的,APNS連接也是海量的,消息的調(diào)度是很費(fèi)時(shí)間的。個(gè)推的連接比蘋果少,但是再少也是海量級別的。所以個(gè)推付費(fèi)能提高響應(yīng)速度,但不能從根本上解決問題。想解決響應(yīng)慢的問題只有你自己實(shí)現(xiàn)push長連接才更安全可能,畢竟是消息隊(duì)列調(diào)度問題還是連接問題你都實(shí)時(shí)的知道,可以用http請求的方案替代暫時(shí)連接異常。大部分郵箱和郵箱客戶端都不真正的支持push。微軟的exchange服務(wù)器的imap idle從實(shí)現(xiàn)機(jī)制上它是push。

個(gè)推的付費(fèi)用戶也不是單獨(dú)給你搭建一個(gè)服務(wù)器,而是調(diào)整給你有消息隊(duì)列插隊(duì)的的特權(quán)。如:你是付費(fèi)用戶,個(gè)推服務(wù)器有1億條消息在排隊(duì),又一次性來1000萬條消息,其中有5000條消息是付費(fèi)用戶的,那么這5000條消息肯定排列在1億條消息緊挨著的后面,至于這5000條消息的那么就靠誰先來誰就在前面了。若一條消息處理時(shí)間是x毫秒,那么你的等待時(shí)間最快就是1億*x毫秒。所以你可以看到你的個(gè)推消息響應(yīng)時(shí)間不但于你的應(yīng)用使用量,也取決于這個(gè)時(shí)間段消息擁堵狀況,其它人使用個(gè)推發(fā)送消息的瞬時(shí)情況,個(gè)推的透傳可能發(fā)送很快(長連接大部分情況正常,無需建立通道的時(shí)間)但是它們大部分時(shí)間被耽誤在消息排隊(duì)上了。蘋果的APNS服務(wù)器也是一樣,只是沒有插隊(duì)的后門而已。自己在服務(wù)器上實(shí)現(xiàn)蘋果的APNS的通信功能,不但在要求這方面的技術(shù),最關(guān)鍵的是它不支持類似的安卓手機(jī)遠(yuǎn)程。而是個(gè)推集成了iOS和android這兩方面的遠(yuǎn)程推送,所以你若想用不依賴于手機(jī)是否開啟都推送消息,最簡單的方法是使用個(gè)推。個(gè)推的APNS遠(yuǎn)程遠(yuǎn)沒有個(gè)推的透傳來的快,畢竟少了,在個(gè)推推送到蘋果APNS服務(wù),在哪里排隊(duì)的時(shí)間,蘋果的連接可是海量的。個(gè)推的付費(fèi)用戶對你的及時(shí)性有所提高,但是也沒有你想象的那么及時(shí),必定要在個(gè)推那里進(jìn)行大量消息排隊(duì)。自己實(shí)現(xiàn)push長連接,只排隊(duì)等待自己應(yīng)用的消息和其它應(yīng)用的消息無關(guān),所以響應(yīng)最快最準(zhǔn)確,不用擔(dān)心消息丟失率的問題。

Pull:就是定時(shí)獲取。優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,技術(shù)難點(diǎn)和異常很少。缺點(diǎn)不夠?qū)崟r(shí),若獲取的時(shí)間間隔太短,設(shè)備的耗電量超快。還有一種實(shí)現(xiàn)方案是結(jié)合push和pull兩者的優(yōu)缺點(diǎn),具有實(shí)時(shí)收到消息,實(shí)現(xiàn)簡單,耗電量界于兩者間。具體的是建立長連接,卻是10秒維護(hù)一次通道(服務(wù)器或客戶端不夠強(qiáng)大,沒有實(shí)現(xiàn)監(jiān)控兩者間異常的機(jī)制,才頻繁的發(fā)送心跳消息來代替這種異常監(jiān)控機(jī)制)。這種方案的優(yōu)點(diǎn)是基本做到了push的省去了發(fā)送請求才建立tcp通道的時(shí)間,達(dá)到了實(shí)時(shí)發(fā)送。它可以是異步socket也可以是同步socket。同步socket的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,異常較少;缺點(diǎn)是阻塞連接線程,異步socket的優(yōu)點(diǎn)是實(shí)時(shí)發(fā)現(xiàn)異常,不阻塞連接線程;缺點(diǎn)是實(shí)現(xiàn)相對復(fù)雜,異常較多。綜上所述push的實(shí)現(xiàn)方案最優(yōu),pull的實(shí)現(xiàn)方案最簡單,兩者結(jié)合的方案是兩者的折中,具體實(shí)現(xiàn)那種實(shí)現(xiàn)方案,根據(jù)自己技術(shù)團(tuán)隊(duì)的技術(shù)水平和項(xiàng)目緊急水平。金笛郵件系統(tǒng)支持推送方式,用最小的心跳包減少手機(jī)的電力消耗,同時(shí)又保證的消息的及時(shí)性。

国产AV天堂无码色| 亚洲欧美日韩中文字幕在线一区 | 久久久人精午夜精国| 人妻无码社区| www.sihucn| 一级a做免费久久| 17c 国产精品| 蜜桃在线中文字幕| 一久久久久久中文字幕| 无遮挡免费网站视频| 看污网站| 天堂蜜臀中文| 欧洲熟妇色XXXX欧美老妇性| 东京热小香蕉AV| 老司机在线精品视频网站| 毛片不卡网站一区二区| 18禁无遮挡啪啪无码网站 | 青青青在线视频人视频在线| www。激情。com| 亚洲色一区| 日本东京热成人网| 亚洲色一区色二区| 中文字幕人妻中文AV不卡专区| 中国熟妇老人精品| 成人网站在线进入爽爽爽| 精品大久久| 秋霞亚洲无码| 中文字幕在线官网| 欧美视频在线线蕉| 性色欧美| AV激情+喷浆+裸体| 精品久久久久久久久久中出| 狂交极品少妇无码| 日韩在线毛片| 国产亚洲日韩欧美令类| 爱爱帝国综合社区| 亚洲嫩| 成人人人人人欧美片做爰| 久久国产精品 一区| 破处精品一级片| 亚欧美日韩香蕉在线播放视频|