基於akka和data-sketch技術的實時數據統計服務

實時流數據分析服務: 實時提交分析數據,實時獲取分析結果git

    以前一直在一家公司作埋點的後臺數據處理分析程序,在碰到不少問題後就產生一個想法,能不能直接弄一個數據分析服務,github

用戶能夠隨時調用分析服務的接口提交分析數據和獲取分析結果(www.xiuyundata.com)編程

 

技術背景:

  • data-sketch對常見的統計需求,如count(distinct), quantiles, topN等 在精確程度,存儲成本,計算成本之間進行了折衷,對每個計算元素只touch一次的狀況下,獲得精度至關高的統計結果。
  • akka是一個實現了actor pattern的異步編程 library。業務功能都被封閉成actor, 相互之間的調用或狀態改變,經過message傳遞完成,無狀態共享.

目前封裝了三種計算模型:

  • theta sketch:基數計算,即計算count(distinct)
  • quantile sketch:分位數計算,即計算一系列數值的分佈狀況
  • frequency sketch:頻率計算,即topn計算

 

數據安全性:

  • 提交數據使用wss,獲取數據使用https,數據不會被中途截取
  • 後臺服務不存儲任何原始數據,算後即扔,服務端只有分析後的數據
  • 相關計算參數,好比userid,business,能夠hash或混淆後再傳值
  • 因爲目前只作authenticate,開發者應注意appid的保密性,建議後臺調用

 

目前整個服務後臺算是完成了0.5左右吧,因爲是試驗性質,目前只用了一臺阿里雲的ES,下一步要作的工做有兩方面,安全

  1. 增長統計模型app

  2. 增長對akka cluster 的支持,使整個後臺服務能力可擴展異步

相關文章
相關標籤/搜索