摘要:運行過程中,客戶數據量集中在早晚高峰。多年運營結果是并發和數據庫處理能力是統計分析的最大瓶頸。
架構使用的語言知識
這幾年數據分析迅速發展,我們也做了一個微數據分析工具。該產品已成功運行三年,滿足日活百萬的企業。產品結構很簡單,用世上最簡單的語言php,最普遍的數據庫mysql,服務器可以選擇apache也可以選擇nginx,一切看你自己的喜好。
一、微服務架構圖
整個流程圖:
1、SDK上傳數據到服務器,如果安裝redis做緩存,數據會最先進到redis,然后定時抽取數據到DB服務器。有了redis可以大大提高并行數據處理能力。
2、數據庫收集原始數據,存儲過程將數據按照不同維度統計各個指標數據,同時將數據匯總表。
3、前臺報表展示,實時報表、小時報表和天報表數據展示。最好做到讀寫分離。
二、功能架構
功能架構主要包括功能、角色和權限三部分。功能是企業服務,用戶使用的每一個功能,就是企業的每一個服務。角色是用戶操作的歸類,功能與角色的對應關系及權限。了解系統架構的現狀,從功能架構開始。
三、應用架構
應用架構的內容包括現有架構圖、web應用現狀和接口架構。其中,接口是應用層面的關鍵,它是程序之間交互的部分。
主要包括clientdata、usinglog、event和errorlog等接口。
SDK通過接口定時發送數據到后臺。
應用架構羅列出前后端調用關系。
四、數據設計
兩個數據庫,大約一百張表。數據庫的設計依賴業務數據,對業務數據歸類,導致數據設計畫出E_R圖,數據設計完成,最終數據庫設計就出來了。數據庫只要早起設計的號,是可以做到易伸縮、易拆分的。統計類主要分為統計的維度,還有就是用戶、設備、錯誤信息等。
1、數據處理能力
日活百萬,啟動次數大概兩百萬,事件數和頁面訪問量起碼在三百到五百萬之間,平均每小時數據量五十萬。運行過程中,**客戶數據量集中在早晚高峰。根據客戶的特殊情況,會把一些任務安排在閑暇時間段,比如日任務、周任務、月任務等安排在零晨。
好的硬件配置是數據處理的好幫手,更大的內存更快的硬盤絕對可以讓數據流快速執行。
2、數據清洗和讀寫分離
大量原始數據入庫,這些數據處理之后就是垃圾數據了。當所有報表數據都統計之后并寫入各個維度表之后,需要定時把這些數據清除掉。
前臺報表展示數據跟存儲分析數據庫最好分開。
五、物理架構
微服務的物理架構需要的機器很少,一臺機器也能跑起來。分析統計主要是數據處理能力要求很高,數據庫服務器需要兩臺,web端需要一臺足矣。多年運營結果是并發和數據庫處理能力是統計分析的最大瓶頸。
六、繼續優化的方向
1、數據讀寫分離,數據清洗。
2、并發量。
七、客戶
客戶最關心的數據:
每一個客戶最關心的就是用戶表,用戶新增狀況、用戶活躍情況、用戶留存情況。
不同的客戶對用戶要求不同,需要判斷用戶是否是刷機來的,用戶跟設備號及用戶ID(用戶號碼)之間的映射關系。
事件數據也是很重要的,關系轉化率。
頁面訪問跟事件是同等重要。
錯誤數據可以檢測應用存在的Bug。
不同的客戶,不同的使用場景對指標會有不同需求。
本文原創首發于Cobub Razor官網博客,作者qhzhang, 轉載請注明出處!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25978.html
摘要:運行過程中,客戶數據量集中在早晚高峰。多年運營結果是并發和數據庫處理能力是統計分析的最大瓶頸。 架構使用的語言知識 這幾年數據分析迅速發展,我們也做了一個微數據分析工具。該產品已成功運行三年,滿足日活百萬的企業。產品結構很簡單,用世上最簡單的語言php,最普遍的數據庫mysql,服務器可以選擇apache也可以選擇nginx,一切看你自己的喜好。 一、微服務架構圖 showImg(ht...
摘要:運行過程中,客戶數據量集中在早晚高峰。多年運營結果是并發和數據庫處理能力是統計分析的最大瓶頸。 架構使用的語言知識 這幾年數據分析迅速發展,我們也做了一個微數據分析工具。該產品已成功運行三年,滿足日活百萬的企業。產品結構很簡單,用世上最簡單的語言php,最普遍的數據庫mysql,服務器可以選擇apache也可以選擇nginx,一切看你自己的喜好。 一、微服務架構圖 showImg(ht...
閱讀 2511·2021-09-26 10:18
閱讀 3386·2021-09-22 10:02
閱讀 3183·2019-08-30 15:44
閱讀 3326·2019-08-30 15:44
閱讀 1831·2019-08-29 15:25
閱讀 2572·2019-08-26 14:04
閱讀 2035·2019-08-26 12:15
閱讀 2437·2019-08-26 11:43