天天看點

咕咚運動資料存儲實踐

<b></b>

<b>咕咚</b><b>app</b><b>——綜合運動社交平台</b>

<b> </b>

咕咚app緻力于打造運動社交綜合型平台,目前咕咚app所涵蓋人群包括:跑步、健走、騎行、遊泳、滑雪、籃球、足球等多個領域,并為其提供相應功能進行承載。

咕咚app有穩定的gps軌迹記錄及全面的資料存儲,滿足運動人群對于個體/群組的社交需求。咕咚app已經擁有近5000萬注冊使用者,日活人數450萬+人,緻力于為平台上千萬運動愛好者,打造專屬的運動功能、社交功能、以及獨特的o2o功能。

<b>網際網路</b><b>oltp</b><b>模型</b><b></b>

<b>緩存</b><b>(ecs(redis&amp;&amp;twemproxy)+slb)</b>

咕咚運動資料存儲實踐

<b>隊列</b>

經曆的階段:

◆ redis:單線程,擴充性不強,不支援ack。

◆ rabbitmq:叢集方案常出問題,并且無法擷取error log,出問題後很難定位。

阿裡雲mq方案:無單點,無瓶頸,可自由擴充,支援重試機制。

<b>資料庫</b><b>(rds mysql)</b>

1. 托管的資料庫服務。

2. 全方位的基礎監控,權限控制。

3. 高可用性,無感覺自動切換主備。

4. 彈性更新配置。

5. 相關配套中間件功能強大,比如drds,dts。

咕咚運動資料存儲實踐

<b>海量資料存儲方案</b><b>(presharding+drds)</b>

<b>對象資料存儲</b><b>(oss</b><b>咕咚路線詳情資料</b><b>)</b>

oss的優勢表現在以下幾點:

1. 海量擴充性。

2. 高可用性 (可用性不低于99.9% ; 持久性10個9)。

3. 安全性(提供白名單,防盜鍊,主子賬号功能)。

4. 成本低。

5. 團隊的快速響應(咕咚提出的對oss監控的需求,開發到上線非常迅速)。

oss适合在圖檔、音視訊、日志、資料庫備份集&amp;&amp; binlog等場景中應用。那麼,咕咚從oss獲得了哪些便利?主要有以下三個方面:

1. 從rds遷移到oss成本降低了90%以上。

2. 天然多重副本,不用再考慮災難備份。

3. 分布式設計,不用再考慮擴充性。

<b>歸檔資料</b><b>(oas)</b>

1. 價格非常便宜,支援斷點續傳。

2. 單個檔案最大支援40tb。

3. 适合用來存儲歸檔資料。

<b>網際網路</b><b>olap</b><b>模型</b>

<b>移動端日志采集</b>

1. 通用的sdk,來代替原有的埋點api,更加穩定。

2. 多元的報表資料。

3. 相關crash資訊。

4. 日志資料可統一推到odps做進一步的分析處理。

<b>資料倉庫</b><b>(odps)</b>

1. 托管的資料倉庫方案。

2. 分布式列式資料庫模型,強大的計算能力,高壓縮比。

3. 支援sql,mapreduce。

4. 無縫抽取分布式rds資料,集中化資料處理。

本文根據咕咚運動運維負責人李銳在6月29日舉辦的2016雲栖大會·成都峰會上的演講整理而成。