Storm在spider.io應用的經驗教訓
Storm at spider.io - London Storm
spider.io 是一個為線上廣告提供反惡意軟體,反惡意點選的系統,其任務是如何從大量日誌中發現廣告舞弊點選以騙取廣告費。
spider.io 原先已經使用Queue/Worker來擴充套件其系統,問題:
1.太依賴程式碼,寫太多底層程式碼不是每個人都擅長的。
2.維持in-memory資料庫帶來費用提高,主要是AWS記憶體費用。
3.不能動彈伸縮擴充套件,整個DB叢集需要重啟。
遷移到Storm後:
1.將自己的基於事件流驅動event-stream-based遷移到Storm,這樣有整個開源社群來盯著它。
2.從記憶體資料庫移植到HBase,能夠持久資料很長時間。
spider.io在2011年9月花一個月由一個工程師搞定Storm。期間經過幾次波折,他們現在狀況是:
使用 Storm,和Mahout結對
● 使用 Cascading + Mahout來對付億萬級別廣告展現。
● 實時響應使用 Trident + Mahout
使用“壞簽名”識別新的殭屍網路IP地址,以及嫌疑出版商。
能夠線上學習適應新出現的威脅模型
他們的經驗教訓是:
如果你的業務變化,你的架構必須跟隨變化。
● 只有在下面請看選擇Storm:
○ 如果你已經有一個基於事件流的系統,使用Storm能夠更有彈性。
○ 你的業務需要的實時分析元件正好是一個事件流驅動模型。
○ 你樂於在基於底層編碼。
● 下面情況不要使用Storm:
○ 你無需實時資料分析
○ 你只是覺得它很酷。
使用Cascading實現Hadoop jobs,使用Storm用來實現實時分析,這兩者搭配真的很方便:
○ 保留了基於事件流的正規化
○進行升級遷移時,不必換一個角度來思考Sotrm(因為你習慣了EDA方式)
○ 能夠共享程式碼
○ 有一個通用分析元件庫來評估他們。
●一個適當的可管理的Storm叢集能執行很長時間。
spider.io 是一個為線上廣告提供反惡意軟體,反惡意點選的系統,其任務是如何從大量日誌中發現廣告舞弊點選以騙取廣告費。
spider.io 原先已經使用Queue/Worker來擴充套件其系統,問題:
1.太依賴程式碼,寫太多底層程式碼不是每個人都擅長的。
2.維持in-memory資料庫帶來費用提高,主要是AWS記憶體費用。
3.不能動彈伸縮擴充套件,整個DB叢集需要重啟。
遷移到Storm後:
1.將自己的基於事件流驅動event-stream-based遷移到Storm,這樣有整個開源社群來盯著它。
2.從記憶體資料庫移植到HBase,能夠持久資料很長時間。
spider.io在2011年9月花一個月由一個工程師搞定Storm。期間經過幾次波折,他們現在狀況是:
使用 Storm,和Mahout結對
● 使用 Cascading + Mahout來對付億萬級別廣告展現。
● 實時響應使用 Trident + Mahout
使用“壞簽名”識別新的殭屍網路IP地址,以及嫌疑出版商。
能夠線上學習適應新出現的威脅模型
他們的經驗教訓是:
如果你的業務變化,你的架構必須跟隨變化。
● 只有在下面請看選擇Storm:
○ 如果你已經有一個基於事件流的系統,使用Storm能夠更有彈性。
○ 你的業務需要的實時分析元件正好是一個事件流驅動模型。
○ 你樂於在基於底層編碼。
● 下面情況不要使用Storm:
○ 你無需實時資料分析
○ 你只是覺得它很酷。
使用Cascading實現Hadoop jobs,使用Storm用來實現實時分析,這兩者搭配真的很方便:
○ 保留了基於事件流的正規化
○進行升級遷移時,不必換一個角度來思考Sotrm(因為你習慣了EDA方式)
○ 能夠共享程式碼
○ 有一個通用分析元件庫來評估他們。
●一個適當的可管理的Storm叢集能執行很長時間。
相關文章
- 建立安卓應用的 30 個經驗教訓安卓
- 企業在機器學習應用中需要吸取的經驗和教訓機器學習
- Apache Storm 的歷史及經驗教訓——Nathan Marz【翻譯】ApacheORM
- 面試經驗之教訓面試
- 需求分析經驗及教訓
- 經驗教訓,慎用Oracle的審計Oracle
- 阿里巴巴的 Kubernetes 應用管理實踐經驗與教訓阿里
- 採用 SOA 最佳實踐,借鑑經驗教訓
- 微服務遷移:經驗教訓微服務
- Heap使用Postgres SQL後的經驗教訓SQL
- 引入新程式語言的經驗教訓
- 使用MongoDB血淚般的經驗教訓MongoDB
- 關於Web 2.0 的SOA 經驗教訓Web
- [譯] Data Binding 庫使用的經驗教訓
- 我的軟體開發中經驗教訓
- 艱困之道中學到的經驗教訓
- Storm經驗總結ORM
- 在K8s上運維Java和GC的經驗教訓 - CoufalK8S運維JavaGC
- 19歲程式設計師在谷歌學到的5條經驗教訓程式設計師谷歌
- Go 併發程式設計中的經驗教訓Go程式設計
- 20+條軟體開發的經驗教訓
- 來自10位 IT 大牛的23條經驗教訓
- 「譯文」Google SRE 二十年的經驗教訓Go
- 安裝pytorch-gpu的經驗與教訓PyTorchGPU
- 口袋妖怪Go手遊的幾個經驗教訓Go
- 17個創業公司的失敗經驗教訓創業
- 作為專案經理的7個經驗教訓總結
- 經驗&教訓分享:我的第一個機器學習專案機器學習
- 《神鬼寓言》的開發中有些什麼經驗教訓?
- Supercell成立10週年的10條經驗和教訓
- 經驗教訓:Instacart 的實時機器學習之旅 - shu機器學習
- 大規模執行 Apache Airflow 的經驗教訓 - shopifyApacheAI
- 新人入職100天,聊聊自己的經驗&教訓
- 大資料要牢記的5大經驗教訓大資料
- 一個小碼農這半年的經驗和教訓
- 程式碼審查的5點經驗教訓總結
- 給年青設計師們的10個經驗教訓
- 來自10位成功IT人士的23條經驗教訓