您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Kafka集群在馬蜂窩大數據平臺的優化是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Kafka是當下熱門的消息隊列中間件,它可以實時地處理海量數據,具備高吞吐、低延時等特性及可靠的消息異步傳遞機制,可以很好地解決不同系統間數據的交流和傳遞問題。
Kafka在馬蜂窩也有非常廣泛的應用,為很多核心的業務提供支撐。下面將圍繞Kafka在馬蜂窩大數據平臺的應用實踐,介紹相關業務場景、在Kafka應用的不同階段我們遇到了哪些問題以及如何解決、之后還有哪些計劃等。
從Kafka在大數據平臺的應用場景來看,主要分為以下三類:
第一類是將Kafka作為數據庫,提供大數據平臺對實時數據的存儲服務。從來源和用途兩個維度來說,可以將實時數據分為業務端DB數據、監控類型日志、基于埋點的客戶端日志(H5、WEB、APP、小程序)和服務端日志。
第二類是為數據分析提供數據源,各埋點日志會作為數據源,支持并對接公司離線數據、實時數據倉庫及分析系統,包括多維查詢、實時DruidOLAP、日志明細等。
第三類是為業務方提供數據訂閱。除了在大數據平臺內部的應用之外,我們還使用Kafka為推薦搜索、大交通、酒店、內容中心等核心業務提供數據訂閱服務,如用戶實時特征計算、用戶實時畫像訓練及實時推薦、反作弊、業務監控報警等。
早期大數據平臺之所以引入Kafka作為業務日志的收集處理系統,主要是考慮到它高吞吐低延遲、多重訂閱、數據回溯等特點,可以更好地滿足大數據場景的需求。但隨著業務量的迅速增加,以及在業務使用和系統維護中遇到的問題,例如注冊機制、監控機制等的不完善,導致出現問題無法快速定位,以及一些線上實時任務發生故障后沒有快速恢復導致消息積壓等,使Kafka集群的穩定性和可用性得受到挑戰,經歷了幾次嚴重的故障。
解決以上問題對我們來說迫切而棘手。針對大數據平臺在使用Kafka上存在的一些痛點,我們從集群使用到應用層擴展做了一系列的實踐,整體來說包括四個階段:
第一階段:版本升級。圍繞平臺數據生產和消費方面存在的一些瓶頸和問題,我們針對目前的Kafka版本進行技術選型,最終確定使用1.1.1版本。
第二階段:資源隔離。為了支持業務的快速發展,我們完善了多集群建設以及集群內Topic間的資源隔離。
第三階段:權限控制和監控告警。
首先在安全方面,早期的Kafka集群處于裸跑狀態。由于多產品線共用Kafka,很容易由于誤讀其他業務的Topic導致數據安全問題。因此我們基于SASL/SCRAM+ACL增加了鑒權的功能。
在監控告警方面,Kafka目前已然成為實時計算中輸入數據源的標配,那么其中Lag積壓情況、吞吐情況就成為實時任務是否健康的重要指標。因此,大數據平臺構建了統一的Kafka監控告警平臺并命名「雷達」,多維度監控Kafka集群及使用方情況。
第四階段:應用擴展。早期Kafka在對公司各業務線開放的過程中,由于缺乏統一的使用規范,導致了一些業務方的不正確使用。為解決該痛點,我們構建了實時訂閱平臺,通過應用服務的形式賦能給業務方,實現數據生產和消費申請、平臺的用戶授權、使用方監控告警等眾多環節流程化自動化,打造從需求方使用到資源全方位管控的整體閉環。
以上就是Kafka集群在馬蜂窩大數據平臺的優化是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。