讀取最近歷史
history API 回傳最近事件與 resume_from;它是交給即時連線的接力點,不是下一頁遊標。
瀏覽器即時事件
SSE 使用一般 HTTP,瀏覽器原生 EventSource 會自動重連;WebSocket 適合既有基礎設施要求升級連線的情境。在 MsgMesh,兩者都只負責下行,發布一律走 HTTP。
快速選擇
| 專案 | SSE | WebSocket |
|---|---|---|
| 方向 | 伺服器 → client | MsgMesh 只提供伺服器 → client;上行 frame 會被丟棄 |
| 瀏覽器原生重連 | EventSource 內建 | 沒有;官方 SDK 會處理 |
| 續傳 cursor | Last-Event-ID 或 from 引數 | 使用 resume 模式與 from 引數 |
| Node.js | JavaScript SDK 的 stream() 目前只支援瀏覽器 | 瀏覽器或 Node 22+ |
| 適合 | 通知、儀錶板、任務進度、一般即時畫面 | SSE 被網路裝置擋下,或團隊已有 WebSocket 運維經驗 |
歷史與續傳
history API 回傳最近事件與 resume_from;它是交給即時連線的接力點,不是下一頁遊標。
SSE 使用 Last-Event-ID 或 from;WebSocket 的 resume 模式也使用 from。官方 SDK 會儲存並帶回 cursor。
at-least-once 允許少量重複。官方 SDK 依 partition cursor 去重;直接使用原生 API 時要自己處理。
超過保留期或單次 5,000 則重播上限時會收到 msgmesh-resync;應用必須從自己的業務系統重建快照。
瀏覽器安全
瀏覽器程式與網路請求都能被檢視,長期金鑰不應出現在 bundle、HTML 或 localStorage。
由你的 token-broker 換發最長 15 分鐘的 token,並限制可用操作、topic 與 room。
提供 token callback 後,SDK 會在到期前更新,並在重連時使用新的 token。
延伸閱讀
不需註冊;切換協議後傳送一筆事件即可觀察差異。