婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 搭建websocket消息推送服務,必須要考慮的幾個問題

搭建websocket消息推送服務,必須要考慮的幾個問題

熱門標簽:承德地圖標注公司收費 臨沂ai電銷機器人招商 鶴壁外呼系統公司 華創e路航彩票銷售點地圖標注 外呼系統號顯示星號怎么看 揭陽電腦外呼系統公司 銀川語音外呼系統中心 suitecrm 地圖標注 高德地圖標注常顯

近年,不論是正在快速增長的直播,遠程教育以及IM聊天場景,還是在常規企業級系統中用到的系統提醒,對websocket的需求越來越大,對websocket的要求也越來越高。從早期對websocket的應用僅限于少部分功能和IM等特殊場景,逐步發展為追求支持高并發,百萬、千萬級每秒通訊的高可用websocket服務。

面對各種新場景對websocket功能和性能越來越高的需求,不同的團隊有不同的選擇,有的直接使用由專業團隊開發的成熟穩定的第三方websocket服務,有些則選擇自建websocket服務。

作為一個具有多年websocket開發經驗的老程序猿,經歷了GoEasy企業級websocket服務從無到有,從小到大的過程,此文是根據過去幾年在GoEasy開發過程中踩過的坑,以及為眾多開發團隊提供websocket服務、與眾多開發者交流中的總結的一些經驗和體會。

這次主要從搭建websocket服務的基本功能和特性方面做一些分享,下次有機會再從構建一個高可用websocket時要面對的高并發,海量消息,集群容災,橫向擴展,以及自動化運維等方面進更多的分享。

以下幾點是個人認為在構建websocket服務時必須要考慮的一些技術特性以及能顯著提高用戶體驗的功能,供各位同學參考:

1.建立心跳機制
心跳機制幾乎是所有網絡編程的第一步,經常容易被新手忽略。因為在websocket長連接中,客戶端和服務端并不會一直通信,如果雙方長期沒有溝通則都不清楚彼此當前狀態,所以需要發送一段很小的報文告訴對方“我還活著”。另外還有兩個目的:
服務端檢測到某個客戶端遲遲沒有心跳過來可以主動關閉通道,讓它下線;
客戶端檢測到某個服務端遲遲沒有響應心跳也能重連獲取一個新的連接。

2.建立具有良好兼容性的客戶端SDK
雖說現在主流瀏覽器都支持websocket,但在編碼中還是會遇到瀏覽器兼容性問題,而且通過websocket通信的客戶端早已不僅限于各種web瀏覽器,還包括越來越多的APP,小程序。因此就要求構建的websocket服務必須能夠很友好的支持各種客戶端。最好的方式就是構建一個能夠兼容所有主流瀏覽器、小程序和APP,以及uni-app、vue、react-native等目前常見的各種前端框架的客戶端SDK,這樣不論公司的各個項目使用什么樣的前端技術,都能夠快速的集成websocket服務。

3.斷網自動重連和消息補發機制
移動互聯網時代,終端用戶所處的網絡環境多樣且復雜,如用戶進出電梯,出入地下室或地鐵等網絡不穩定的場所,或其他原因導致的網絡不穩定都是很常見的場景。因此,一個可靠的websocket服務必須具備完善的斷網自動重連機制。確保斷網后,網絡一旦恢復,能第一時間自動重新建立長連接,并且能夠立即補發在網絡不穩定期間發送的消息。

4.離線消息
基礎的Websocket通訊從技術上來說,消息送達的前提條件就是建立起一個長連接,沒有建立網絡連接就來討論通訊那是耍流氓。但是從使用者的角度上來說,隨手關閉瀏覽器,或者將小程序、APP進程直接殺掉而導致網絡連接斷開的情況是隨時都在發生的。然后我們下意識的期待,就是我下次打開瀏覽器訪問網頁,或者打開APP時,能夠收到用戶離開系統期間的所有信息。從技術上這是一個跟websocket沒有多大關系的需求,但實際上卻是websocket服務不可或缺的基本特性,也是一個能夠極大提升用戶體驗的功能。

5.上下線提醒,客戶端在線列表
掌握當前系統有哪些用戶在線,捕捉用戶上下線事件,是搭建一個企業級websocket服務,必不可少的特性,尤其是開發IM和游戲類產品。

6.支持歷史消息查詢
websocket服務,某種意義也是屬于一個消息系統,對于歷史消息的查詢需求,是無法繞開的話題。比如IM系統中常見的歷史消息,因此在websocket服務內部實現一個高速,可靠的消息隊列機制來支持websocket服務實現歷史消息的查詢就是一個必須的工作。

7.消息的壓縮機制
不論是為了保證消息通訊的速度和實時性,還是為了節約流量和帶寬費用,或者是出于提高網卡的使用效率和增加系統的吞吐量,在通訊過程中對消息進行必要的壓縮都是必不可少的。

除了需要考慮以上七點以外,筆者認為,還有幾個問題也是很值得初學者積極關注的:

1.緩存和持久化
選擇合適的消息緩存機制,是企業級websocket服務保證性能必須要考慮的問題。

2.異步調用
要支持大量消息通訊的高性能系統,必然推薦異步調用。若設計為同步調用,調用方就需要一直等待被調用方完成。如果一層一層的同步調用下去,所有的調用方需要相同的等待時間,調用方的資源會被大量的浪費。更糟糕的是一旦被調用方出問題,其他調用就會出現多米諾骨牌效應跟著出問題,導致故障蔓延。收到請求立即返回結果,然后再異步執行,不僅可以增加系統的吞吐量,最大的好處是讓服務之間的解耦更為徹底。

3.獨立于業務和標準化
盡管在一個web項目中可以同時存在常規http服務和websocket服務,尤其對性能要求不高的單應用web系統,這種方式更簡單,更便于維護。但對于性能和可用性高的企業級系統或者互聯網平臺,更好的方式,是將websocket服務作為一個單獨的微服務來進行設計,避免和常規的http服務搶占資源,導致系統性能不可控,同時也更便于橫向擴展。

一個設計良好的企業級websocket服務應該是一個獨立于業務系統、標準化的單獨存在的技術性微服務,能夠作為公司基礎架構的一部分為公司的所有項目提供通訊服務。

4.冪等性和重復消息的過濾
所謂冪等性,就是一次和多次請求一個接口都應該具有同樣的后果。為什么需要?對每個接口的調用都會有三種可能的結果:成功,失敗和超時。對最后一種的原因很多可能是網絡丟包,可能請求沒有到達,也有可能返回沒有收到。于是在對接口的調用時往往都會有重試機制,但重試機制很容易導致消息的重復發送,從用戶層面這往往是不可接受的,因此在接口的設計時,我們就需要考慮接口的冪等性,確保同一條消息發送一次和十次都不回導致消息的重復到達。

5.支持QoS 服務質量分級
其實對于上一點消息重復的問題,行業已經有了解決方案和標準規范,對于消息到達率和重復,常用的手段就是通過消息確認的方式來確保消息到達,要求越高,意味著確認機制越復雜,成本越高。為了在成本和到達率之間有很好的平衡,通常對消息系統的服務質量(QoS)分為以下三個級別 :

QoS 0(At most once):“最多發一次”,意味著發送就可以了,不需要確認機制,發送了即可,適用于要求不高的場景,可以接受一定的不到達率,成本最低。

QoS 1(At least once):“至少發一次”,意味著發送方必須明確收到接收方的確認信號,否則就會反復發,每條消息至少需要兩次通信來確認到達,可以接受一些消息被重發,但成本不高 。

QoS 2(Exactly once):“確保只發一次”,意味著每條消息只能到達一次,且不允許重復到達,為了達到這個目標就需要雙方至少通訊三次,成本最高。

一個完善的websocket服務面對不同的應用場景,應該能夠支持選擇不同等級的QoS,在成本和服務質量之間取得平衡。

最后
雖然websocket已經廣泛的應用于各種系統和平臺,但如果要搭建一個滿足企業級或者大型互聯網平臺的可靠、安全穩定的websocket服務,對于沒有經驗的同學,在具體的技術實踐過程依然是有不少的坑要踩。

對websocket服務有較高要求,選擇成熟可靠的第三方websocket服務其實也是一個成本更低和高效的選擇。GoEasy作為國內領先的第三方websocket消息平臺,已經穩定運行了5年時間,支持千萬級消息并發,除了兼容所有常見的瀏覽器以外,同時也兼容uni-app,各種小程序,以及vue、react-native等常見的前端框架。

希望本文能為初次搭建websocket服務的同學在思路上有所幫助和參考,也歡迎各位前輩多多批評指正,同時也希望未來有機會就更多的技術與大家進行交流。

GoEasy官網:https://www.goeasy.io/

到此這篇關于搭建websocket消息推送服務,必須要考慮的幾個問題的文章就介紹到這了,更多相關websocket消息推送服務內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php實現websocket實時消息推送
  • Java中websocket消息推送的實現代碼
  • 詳解在Spring Boot框架下使用WebSocket實現消息推送
  • Android中使用WebSocket實現群聊和消息推送功能(不使用WebView)
  • Spring和Websocket相結合實現消息的推送

標簽:七臺河 三沙 棗莊 忻州 萊蕪 咸寧 許昌 汕尾

巨人網絡通訊聲明:本文標題《搭建websocket消息推送服務,必須要考慮的幾個問題》,本文關鍵詞  搭建,websocket,消息,推送,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《搭建websocket消息推送服務,必須要考慮的幾個問題》相關的同類信息!
  • 本頁收集關于搭建websocket消息推送服務,必須要考慮的幾個問題的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩高清在线不卡| 国产成人夜色高潮福利影视| 日本va欧美va精品| 成人污污视频在线观看| 欧美一级艳片视频免费观看| 亚洲欧美日韩在线不卡| 国产成人亚洲综合a∨婷婷| 91精品国产综合久久久久久久久久 | 亚洲欧美日韩国产另类专区| 国产一区二区三区在线观看免费视频 | 在线综合+亚洲+欧美中文字幕| 亚洲午夜免费福利视频| 国产传媒一区在线| 欧美电影精品一区二区| 日韩二区三区在线观看| 欧美亚洲自拍偷拍| 亚洲一二三四在线观看| 91在线观看视频| 国产精品麻豆网站| 不卡av在线网| 国产精品久久久久久久久免费相片 | 国产一区福利在线| 欧美成人精品二区三区99精品| 热久久免费视频| 91精品国产全国免费观看| 午夜精品一区二区三区三上悠亚| 在线免费观看一区| 亚洲成a人v欧美综合天堂| 在线观看日韩一区| 亚洲高清不卡在线观看| 欧美日韩精品是欧美日韩精品| 亚洲与欧洲av电影| 欧美日韩精品一区二区三区蜜桃| 五月激情丁香一区二区三区| 337p亚洲精品色噜噜狠狠| 免费看日韩精品| 久久综合中文字幕| 丁香婷婷综合激情五月色| 国产精品嫩草影院com| 91网页版在线| 亚洲午夜电影网| 欧美一区二区三区四区久久| 国产在线不卡一区| 国产精品久久久久精k8| 91国偷自产一区二区使用方法| 污片在线观看一区二区| 精品国产乱码久久久久久久| 成人激情黄色小说| 亚洲伊人色欲综合网| 日韩一区二区高清| 国产麻豆精品久久一二三| 亚洲人成亚洲人成在线观看图片| 欧美日韩精品系列| 国产精品一二三区| 久久精品国内一区二区三区| 欧美成人激情免费网| 成人亚洲精品久久久久软件| 夜色激情一区二区| 精品国产电影一区二区| 99久久99久久久精品齐齐| 日韩精品一级中文字幕精品视频免费观看| 日韩亚洲国产中文字幕欧美| 成人免费看黄yyy456| 亚洲国产视频网站| 久久精品一区蜜桃臀影院| 色婷婷精品大在线视频| 国产一区二区三区电影在线观看| 国产精品免费看片| 日韩欧美综合在线| 色香蕉成人二区免费| 久久电影网电视剧免费观看| 亚洲精品中文在线| 久久精品亚洲国产奇米99| 色综合久久天天| 精品一区二区国语对白| 亚洲午夜成aⅴ人片| 中文文精品字幕一区二区| 欧美高清视频不卡网| av亚洲精华国产精华精| 久久99久久久欧美国产| 亚洲综合色网站| 亚洲欧洲www| 精品成人一区二区三区四区| 欧美日韩三级在线| 91成人免费电影| 成人app在线观看| 国产精品一区二区三区网站| 爽爽淫人综合网网站| 亚洲欧美另类在线| 中文在线一区二区| 久久综合久久鬼色中文字| 欧美一区二区在线视频| 色狠狠av一区二区三区| 不卡的av电影| 粉嫩一区二区三区在线看| 久久99久久99小草精品免视看| 亚洲成人免费观看| 亚洲一线二线三线视频| 亚洲女厕所小便bbb| 国产精品国产精品国产专区不片| 久久久久88色偷偷免费| 夜夜嗨av一区二区三区中文字幕| 国产欧美日韩不卡| 国产日韩欧美精品电影三级在线| 精品国产a毛片| 26uuu精品一区二区三区四区在线| 91精品国产综合久久香蕉麻豆| 欧美丰满美乳xxx高潮www| 欧美日韩精品欧美日韩精品| 欧美人牲a欧美精品| 91精品蜜臀在线一区尤物| 欧美一区二区三区视频免费播放| 91精品国产91久久久久久一区二区| 在线播放中文一区| 欧美一级日韩一级| 欧美成人官网二区| 日本一区二区三区四区在线视频| 国产欧美日本一区视频| 中文字幕久久午夜不卡| 亚洲少妇30p| 午夜av电影一区| 青青青伊人色综合久久| 韩国av一区二区| 国产成人一区二区精品非洲| 91在线观看下载| 欧美在线观看禁18| 欧美不卡视频一区| 国产精品视频一二三| 亚洲欧美一区二区三区极速播放| 亚洲国产成人高清精品| 久久不见久久见免费视频7| 国产黑丝在线一区二区三区| 99精品国产热久久91蜜凸| 欧美在线影院一区二区| 欧美二区在线观看| 久久久久久久一区| 一区二区三区在线视频观看58| 日韩精品91亚洲二区在线观看| 激情文学综合丁香| 欧美在线制服丝袜| 久久精品一区二区三区不卡 | 亚洲精品国产一区二区三区四区在线 | 99久久er热在这里只有精品15| 色菇凉天天综合网| 精品少妇一区二区三区| 1区2区3区精品视频| 日韩av电影免费观看高清完整版在线观看 | 国产精品一级黄| 欧美无砖专区一中文字| 久久久久国产精品麻豆| 亚洲图片欧美视频| 成人小视频免费在线观看| 欧美日韩一区二区在线观看视频 | 成人黄色电影在线| 91精品久久久久久久99蜜桃| 中文字幕一区二区在线播放| 免费观看在线色综合| 在线亚洲+欧美+日本专区| 久久嫩草精品久久久久| 亚洲国产精品人人做人人爽| youjizz国产精品| 日韩一级免费观看| 一区二区三区91| 99视频精品全部免费在线| 精品精品欲导航| 丝袜美腿亚洲色图| 91在线视频官网| 国产精品美女视频| 国产精品456| 26uuu精品一区二区在线观看| 日韩精品亚洲一区| 欧洲精品视频在线观看| 麻豆精品一区二区综合av| 91女人视频在线观看| 国产日韩亚洲欧美综合| 久久99九九99精品| 91精品欧美福利在线观看| 洋洋成人永久网站入口| 91网站最新地址| 亚洲欧洲日韩av| 99国产欧美久久久精品| 国产精品福利在线播放| 高清国产午夜精品久久久久久| 精品国产乱码久久久久久影片| 日韩成人av影视| 日韩午夜小视频| 91精品国产色综合久久不卡电影| 久久伊人蜜桃av一区二区| 蜜臀久久99精品久久久画质超高清| 欧美亚洲综合色| 一区二区三区美女视频| 不卡视频在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产成人午夜视频| 亚洲国产岛国毛片在线| av一二三不卡影片| 亚洲精品久久久久久国产精华液| 在线亚洲一区观看| 丝袜脚交一区二区| 精品成人私密视频|