實時互動平臺流程與技術分析
最近幾個月一直在做基於storm的流式處理,索性整理下所有的知識點與技術知識。
一、資料準備
1、首先,我們需要使用者的所有資料,使用MapReduce進行資料處理,生成業務寬表匯入hbase與Redis,用於後續實時處理直接從Redis中獲取相應資料,減少讀寫磁碟IO的消耗。
二、訊息的接入
1、傳入的資料是經過二進位制處理的,所以使用jetty輕量級服務對傳入的報文進行接入解析,同時部署多個服務,使用nginx進行負載均衡。
2、每個服務同時啟動多個執行緒進行訊息的接入,通過blockingQueue進行儲存,隨後進行報文解析,序列化後傳送對應主題的kafka.
三、storm處理
1、使用整合的kafkaspout進行訊息的接入代替storm的spout,降低工程複雜度,可直接編寫bolt進行業務邏輯處理,隨後進行資料的一次性過濾bolt,驗證訊息的正確性並並封裝入物件中。
2、通過訊息中的相應主鍵,從Redis中載入該使用者的全量資料,以便後續業務處理(存入hbase是以防redis出現問題進而再查詢hbase,同時hbase中的rowkey做了雜湊,資料均勻分佈在每個region中)。
3、載入配置活動規則,這些規則通過前臺web系統配置儲存,儲存於redis中。對多個規則進行遍歷匹配,封裝成一個大的物件,傳入下游推送拓撲。
4、推送拓撲在接收到訊息後,從物件中獲取封裝的訊息物件的渠道物件,對其進行遍歷傳送至不同的渠道。
相關文章
- 美團開放平臺SDK自動生成技術與實踐
- AI 加持實時互動|ZegoAvatar 面部表情隨動技術解析AIGo
- Cordys BOP 4平臺的子流程與嵌入子流程對比以及子流程建模技術
- 如何設計實時資料平臺(技術篇)
- 對話式互動技術原理及流程揭祕
- APP跨平臺開發技術分析APP
- 音視訊互動平臺應用分析薦
- 2021 技術展望丨實時互動場景下,音訊的技術變遷與機遇音訊
- Android:是時候掌握WebView與Js的互動技術了AndroidWebViewJS
- 物流平臺如何與電商平臺進行自動化流程管理
- 移動平臺的技術演變
- 移動端跨平臺技術之下的變與不變
- Limitless牽手VR社交平臺HighFidelity,提供互動角色建立技術MITVRIDE
- 愛奇藝大資料實時分析平臺的建設與實踐大資料
- 全球實時互動技術服務平臺聲網釋出:全球20萬+開發者 連線20億終端使用者
- 螞蟻區塊鏈平臺BaaS技術解析與實踐區塊鏈
- 移動跨平臺技術方案總結
- 實時音視訊互動系列(下):基於 WebRTC 技術的實戰解析Web
- Rational 軟體交付平臺的技術資源與最佳實踐
- Flutter與原生互動(安卓、iOS),實現原生分享 | 掘金技術徵文Flutter安卓iOS
- 上海互動直播平臺招GOGo
- 構建實時資料整合平臺時,在技術選型上的考量點
- BAAS平臺_區塊鏈baas平臺技術_區塊鏈技術開發區塊鏈
- 「人機自然互動技術」的趨勢與挑戰
- Flutter:移動端跨平臺技術演進之路Flutter
- 移動開發的跨平臺技術演進移動開發
- 跨平臺技術演進
- [技術分析]探討大世界遊戲的製作流程及技術——前期流程篇遊戲
- 展訊平臺 LCD(Mipi) 載入流程分析
- 美團容器平臺架構及容器技術實踐架構
- 螞蟻集團技術風險程式碼化平臺實踐(MaaS)
- 百億互金平臺技術棧大起底
- Redux流程分析與實現Redux
- 【劉文彬】EOS技術研究:合約與資料庫互動資料庫
- H5 與 Native 互動之 JSBridge 技術H5JS
- RPA技術如何與財務共享平臺完美融合?
- Http(s)與後臺互動方式HTTP
- 筆記:前端與後臺互動筆記前端