<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    light-push輕量級推送服務和實時在線監(jiān)控平臺

    聯合創(chuàng)作 · 2023-09-30 04:45

    概述

    輕量級推送服務和實時在線監(jiān)控平臺,基于node的socket.io,支持web、android、ios客戶端,支持移動端離線推送,可大規(guī)模集群部署

    前言

    隨著互聯網網速的不斷提升,實時消息的應用場景越來越多。我在參與公司多個產品的研發(fā)中,不止一次的遇到需要集成聊天功能的需求。既然是聊天就必須把消息盡快送達目標用戶,做的多了就有了一套自己的經驗和想法,然后借著閑暇時間一點點的就寫出了這個項目。這個項目靈感來源于實際開發(fā)工作,同時又把它應用到自己開發(fā)工作中。希望它能幫到你,也希望你能給我更多的反饋和改進意見,讓它幫到更多的人。

    功能特性

    • 業(yè)務系統通過restful接口方式調用推送服務

    • 客戶端通過socket.io協議和推送服務器建立連接

    • 通過命名空間對客戶端進行安全隔離和管理,不同客戶端之間不能相互收發(fā)消息,如果業(yè)務系統是saas模式,命名空間相當于公司或組織的概念

    • 使用負載均衡器來負責每一個客戶端的接入工作,每一個客戶端隨機分配給一個后端服務,保證后端服務負載更佳平均(需要安裝nginx)

    • 單個客戶端和后端服務建立強關聯,會話信息不丟失,可實現多機多進程部署

    • 使用redis保存相關數據,后端服務的整體響應速度更快

    • 可實現單個用戶多端連接,滿足聊天系統多端登陸需求

    • 通過界面或者接口來監(jiān)控和統計客戶端在線信息

    • 通過界面模擬客戶端上線/下線

    • 通過界面模擬推送功能

    • 模擬網絡異常下的推送,方便客戶端編寫數據同步功能

    • 通過界面或者接口統計消息到達率(需要客戶端ack確認回執(zhí))

    • 可查詢歷史消息,可統計每天的推送總量,以及當前小時/當前分鐘的推送總量

    • 當客戶端未收到推送消息時,如果客戶端為ios平臺則用apns做離線推送,如果是android會保存該消息直到客戶端上線

    • 監(jiān)聽每一個客戶端接入事件并可回掉業(yè)務系統由業(yè)務系統決定客戶端是否有權接入

    • 監(jiān)聽每一個用戶的離線事件并可會掉業(yè)務系統

    • 客戶端房間變動事件可選擇行的廣播推送到對應的房間中

    • 客戶端可主動推送消息,滿足聊天系統中正在輸入中的功能需求

    • 可為每一個客戶端保存一些特殊數據,比如最后一次的接入信息,操作系統信息等等,同時提供一鍵清除僵尸客戶端功能(一定時間未接入過服務器)

    • 后端服務本身支持cors跨域訪問

    • 采用消息隊列方式推送離線消息

    • 服務運行時的各個參數可自行配置,比如消息默認失效時間,房間名最大長度等等

    快速體驗

    • docker run -id -p 443:443 --name push-demo liuss/push: /mnt/data/start.sh  需要將 version 改成對應的版本號

    • 訪問管理頁面: https://127.0.0.1 登錄名 demo 密碼 123456 勾選管理員選項

    • 在線體驗

    瀏覽 21
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    編輯 分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    編輯 分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    啪啪啪在线观看网站 | 色月婷婷| 久久99嫩草99久久精品 | 怕怕怕视频网站 | 亚洲免费一级片 |