長連線

長連線

長連線,指在一個連線上可以連續傳送多個數據包,在連線保持期間,如果沒有數據包傳送,需要雙方發鏈路檢測包。

基本介紹

  • 中文名:長連線
  • 定義:一個連線上連續傳送多個數據包
  • 套用:手機推送
  • 特點:穩定安全
  • 缺點:損耗較多資源
  • 對應:短連線
定義,套用,手機推送原理,推送方案評價標準,

定義

短連線是指通訊雙方有數據互動時,就建立一個連線,數據傳送完成後,則斷開此連線,即每次連線只完成一項業務的傳送。
長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況。每個TCP連線都需要三步握手,這需要時間,如果每個操作都是短連線,再操作的話那么處理速度會降低很多,所以每個操作完後都不斷開,下次處理時直接傳送數據包就OK了,不用建立TCP連線。例如:資料庫的連線用長連線,如果用短連線頻繁的通信會造成socket錯誤,而且頻繁的socket 創建也是對資源的浪費。
而像WEB網站的http服務一般都用短連結,因為長連線對於服務端來說會耗費一定的資源,而像WEB網站這么頻繁的成千上萬甚至上億客戶端的連線用短連線會更省一些資源,如果用長連線,而且同時有成千上萬的用戶,如果每個用戶都占用一個連線的話,那可想而知吧。所以並發量大,但每個用戶無需頻繁操作情況下需用短連好。
總之,長連線和短連線的選擇要視情況而定。

套用

手機推送原理

手機推送服務的原理很簡單,就是通過建立一條手機與伺服器的連線鏈路,當有訊息需要傳送到手機時,通過此鏈路傳送即可。 推送服務的使用流程雖然略有差別但是大致都和IOS的APNS相似
1、首先是應用程式註冊訊息推送。
2、 IOS跟APNS Server要deviceToken。應用程式接受deviceToken。
3、應用程式將deviceToken傳送給PUSH服務端程式。
4、 服務端程式向APNS服務傳送訊息。
5、APNS服務將訊息傳送給iPhone應用程式

推送方案評價標準

推送方案的公認評價採取4s標準:1.Safe(安全) 2. Stable(穩定) 3.Save(省電省流量省成本) 4.Slim(體積小)
1.Safe (安全)
推送方案應支持透傳及各種加密方案,保障信息傳遞安全。
推送方案的ID系統應該獨立於已有的網站或服務的ID系統,這樣保障用戶在不同手機上登錄後的信息投遞準確性,避免因為取消綁定事件失敗因網路傳輸而造成的信息誤投送。
2. Stable(穩定)
穩定包括兩個部分一個是伺服器端的穩定性,一個是手機端的穩定性。
服務端穩定性,因為使用長連線方案,對伺服器的開銷和要求很大,推送方案對伺服器開發要求很高,海量執行緒連線下的伺服器穩定性是非常具有挑戰性的。一般的評判標準包括:
- 同時線上時峰值 (一般按照百萬並發連線時伺服器穩定性評測)
- 高並發時訊息平均延遲時間(一般按照1分鐘處理1百萬條信息評測)
- 服務穩定性 (一般要求全年99.9%以上可用,有備份,有負載均衡等)
鑒於伺服器穩定的開發難度很大,小團隊不建議自己開發,建議使用穩定的第三方推送方案,如個推,蝴蝶等。
手機端的穩定性,主要是因為中國的複雜網路狀況及手機型號適配情況造成手機長時間穩定聯網較困難,所以穩定性非常重要,一般的評判標準包括:
- 每日聯網23.5小時以上用戶比例 (表征聯網穩定性)
- 訊息傳送後9小時內收到率 (表徵到達率)
一般來說,推送方案要做網路的分運營商,分省,分機型適配,自己開發工作量較大
3.Save(節省)
省電應注意CPU休眠,一般用服務縮短待機時間百分比評判
省流量應注意協定的修改和冗餘數據包的處理,一般用空載待機月流量評判
省成本應考慮單伺服器承載同時連線數,可承載同時連線數越多成本越低,業內 頂尖水平為個推的單伺服器50萬連線
4.Slim(體積小)
推送服務應該體積儘量小,不影響主程式的大小和複雜度,一般以小於300K為宜。

相關詞條

熱門詞條

聯絡我們