日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者 | Eran Stiller

譯者 | 張衛濱

策劃 | 丁曉昀

Slack 最近公布了它們是如何實現在全球范圍內每天發送數百萬條實時消息的。該公司提供了對其 Pub/Sub 架構的全面講解,這個架構的設計目標就是管理大規模的實時消息。它強調了在不同時區和地區發送實時消息的獨特挑戰,以及 Slack 的工程師如何設計基礎設施來處理這些挑戰的。

Slack 的高級軟件工程師 Sameera Thangudu 闡述了這種架構的重要性:

我們的服務器要為每臺主機上的數千萬個通道以及數千萬個連接的客戶端提供服務,我們的系統要在 500 毫秒內將消息傳遞到世界各地。憑借當前架構的線性可擴展性,我們可以為更多客戶提供服務。

 

她表示,該公司會加強其架構,以服務更多的客戶群。

該系統的后端由多個服務組成。通道服務器(Channel Server,CS)是有狀態的內存服務器,持有通道的歷史。這里會有一個一致性散列機制將每個 CS 映射到通道的一個子集中。在峰值時期,每個主機大約為 1600 萬個通道提供服務。一致性哈希環管理器(consistent hash ring manager,CHARM)會管理 CS 的一致性哈希環,確保在 20 秒內替換掉不健康的 CS。Consul 會存儲一致性哈希值的最新配置。

圖片來源:https://slack.engineering/real-time-messaging/

網關服務器(Gateway Server,GS),與 CS 類似,是有狀態的內存服務器。它們維護用戶信息和 WebSocket 通道訂閱,并作為 Slack 客戶端和 CS 之間的接口。GS 會被部署到多個地理區域,以優化連接速度。管理服務器(Admin Server,AS)是無狀態的內存服務器,它們是 WebApp 后端和 CS 之間的接口。最后,狀態服務器(Presence Server,PS)會跟蹤在線用戶,支撐 Slack 客戶端的綠色狀態點(green presence dot)。

每個 Slack 客戶端有一個到 Slack 服務器的持久性 WebSocket 連接,以接收實時事件來維護其狀態。客戶端需要通過幾個步驟來搭建 WebSocket 連接,比如從 Webapp 后端獲取用戶令牌和 WebSocket 連接的設置信息。然后,客戶端會初始化一個 WebSocket 連接到最近的邊緣區域,GS 獲取用戶信息并向客戶端發送第一條消息。Envoy 會平衡傳入的流量并處理 TLS 終止。

客戶端設置完成后,在通道中發送的每條消息都會廣播至通道中所有在線的客戶端。消息在發送至全球范圍的每個訂閱的 GS 之前,要經過 Webapp API、AS 和 CS。每個收到消息的 GS 都會將消息發送至訂閱該通道 ID 的客戶端。

除了聊天消息,實時改變客戶端狀態的另一種消息類型是事件。瞬時事件,比如用戶在通道中進行輸入,會遵循一個略有差異的流程,因為數據庫不會持久化保存這些事件。下圖說明了這個流程。

原文鏈接:

Real-Time Messaging Architecture at Slack(https://www.infoq.com/news/2023/04/real-time-messaging-slack/)

相關閱讀:

Slack 工程師如何解決最常見的移動開發痛點 (https://www.infoq.cn/article/hhh8OGLNbsz121H43Df4)

Zoom 和 Slack 的第二曲線 (https://www.infoq.cn/article/Pwkm3Ro1IqSzM3wLXvMS)

聲明:本文為 InfoQ 翻譯,未經許可禁止轉載。

點擊底部閱讀原文訪問 InfoQ 官網,獲取更多精彩內容!

今日好文推薦

阿里取消 CTO 崗位;星火大模型“套殼”OpenAI?科大訊飛回應;近一半微軟員工擔心被 AI 搶飯碗|Q資訊

“Type不值得!”前端框架Svelte作者宣布重構代碼,反向遷移到JAVA引爭議

谷歌終于能與OpenAI 打擂臺了!全新PaLM 2比肩GPT-4:一部手機就可運行,精通Python/ target=_blank class=infotextkey>Python等20種語言

從微服務轉為單體架構、成本降低 90%,亞馬遜內部案例引發轟動!CTO:莫慌,要持開放心態

分享到:
標簽:Slack
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定