發表於 2015-07-02 16:03|
csdn|
楊硯雲計算
saas
雅座crm
摘要:雅座提供專業的企業級saas雲服務,對系統的安全性、穩定性、可靠性要求極高,本文是雅座cto對其crm技術的解密分享,經過9年的發展,雅座目前累計為超過15000家餐飲門店提供精準營銷服務,管理超過5000萬會員資料。
以下為原文:
雅座crm歷經9年的成長,累計為超過15000家餐飲門店提供精準營銷服務,管理超過5000萬會員資料,日交易流水超百萬筆,年交易額達200億以上。
雅座提供專業的企業級saas雲服務,對系統的安全性、穩定性、可靠性要求極高,這是企業的基本訴求。同時,基於使用者交易和消費行為的資料分析,是精準營銷的核心,如何快速處理海量資料,進行多維度、低延時的統計分析、資料探勘,對系統效能和可伸縮性提出了更高的挑戰。crm的目標是資料營銷,需要提供各種緯度的靈活的查詢分析。舉例來說,餐廳乙個簡單的需求,希望根據消費時間、性別、消費金額篩選出目標客戶,隨著資料量增大,僅靠關聯式資料庫分庫分表和索引優化已經難以滿足企業的效率要求。高彈性、易擴充套件的大資料處理能力,在crm雲服務中日趨重要。
1. 目標客戶金字塔模型
乙個餐廳的輻射範圍通常覆蓋周圍3公里,這個範圍內的常客為餐廳貢獻了80%以上的銷售額。此外還有一些臨時聚會,或手握超低價**券的客人,這些客人並不能為餐廳帶來持續性消費,不斷的打折、跳樓價甚至可能會損害餐廳的正常經營,餐廳表面看似人頭攢動,但桌均消費大幅降低,服務員前廳後廚百公尺折返跑,服務不斷下降,最終導致把老顧客拒之門外。當餐廳經歷表面的繁榮,發現營業額並無增長,試圖提**格時,圖便宜的客人一呼而散,餐廳則難以為繼。
2. 業務架構
3. 技術架構
1)資料遷移
2)高可用性
3)資料同步秒級延時
雅座crm的技術特點是資料處理手段多樣化,為了滿足靈活快速檢索、統計分析、日常業務、讀寫分離等多種目的,交易資料會被同步到唯讀庫、es、storm、greenplum資料倉儲,目前正在啟動hadoop離線處理。衡量交易系統效能的關鍵指標是tps和吞吐量,當tps不斷提公升時,每秒處理的資料量也會大幅增加,資料同步的效率就尤為關鍵。通過壓力測試和容量測試,可以計算出資料同步的效率是否符合要求。假設我們為10000家餐飲門店提供服務,單店高峰時段每小時100單,那麼系統高峰期的吞吐量指標設定在1000筆/秒。為了滿足效率要求,並考慮容錯機制和可擴充套件性,我們設計了基於pgq的非同步佇列。skytools是skype公司開發的一款基於postgres的訊息套件,在skype內部廣泛使用,開發於2023年,2023年開源skytools framework,至今一直在使用和維護,使用場景如下:
skytools包含三個元件:pgq、londiste、walmgr
pgq提供python api,由非同步處理機制去靈活呼叫。用於解決實時事務的非同步批處理問題。
pgq由producer、ticker、consumer組成,支援高可用部署。producer將events推送到queue中,ticker負責對批量queue制定相應處理規則,consumer從queue中獲取events。
基於pgq,雅座crm設計和實現了協同消費者模式,當系統超負荷時,一鍵式註冊新的消費者,就可以實現多消費者協同處理,提公升資料同步的效率。同時,根據負載水平和批大小,資料延時可以由ticker動態調整。通過壓力測試,我們可以驗證部署方案是否滿足需要,調整線上消費者節點數量。目前,雅座crm可以做到多資料來源同步秒級延時、水平擴充套件。
4)實時分析
目前雅座crm核心資料量達到10億級別,做為crm雲服務,靈活、高效的資料檢索必不可少。一般來說,根據業務時間採用分庫分表、歷史資料遷移的方案降低活躍資料量,提公升查詢效率。但crm系統跨年、連鎖跨門店查詢的需求比較普遍,分庫分表會在實現方案上增加較高的複雜度,同時無法滿足多種緯度的靈活查詢,難以擴充套件。當分庫分表後的資料量仍在乙個較高的水平時,無法利用索引的全表掃瞄查詢效率會大幅下降。
crm的另乙個技術特點是統計分析業務多,通過引入storm流計算框架,將系統日誌和pgq做為storm資料來源,結合業務特點,實現分級彙總的topology,我們將原有的t+1資料分析業務提公升為實時計算,為企業提供更準確、及時的資料決策支援。
5)離線處理
離線處理主要是基於greenplum + 定時任務完成。greenplum是基於postgresql的分布式資料庫。其採用shared nothing架構(mpp),主機,作業系統,記憶體,儲存都是自我控制的,不存在共享。主要由master host,segment host,interconnect三大部分組成。配合合理的分片策略和部署方案,gp的效率可以提公升十倍以上。雅座crm將複雜、難以拆分的sql操作移植到gp上,大資料量的統計分析效率得到了明顯提公升。
6)soa服務化
遠端通訊: 提供對基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及「請求-響應」模式的資訊交換方式,比常規http等短連線協議更快。
基礎業務上,雅座crm在dubbo服務框架上做了分布式快取同步機制,保證使用者和許可權及時重新整理,為所有應用提供統一的使用者服務;運維部署上,實現了跨機房就近呼叫、高可用、監控的目的,也為系統持續整合打下了更好的基礎。
7)監控和預警
saas雲服務對運維提出了更高的要求,因為雅座crm系統服務的不僅是乙個客戶,而是成千上萬的餐飲企業,系統每一次故障中斷,都可能引起餐廳的直接經濟損失,進而損害雅座的品牌形象。在雅座,系統穩定性被定義為最高優先順序,是公司業務的基石,要在問題潛伏期提早發現,盡早解決。在運維環節,雅座自主開發和整合開源監控工具,7x24小時監控系統的各項效能指標,當效能指標超出伐值時,系統自動報警,通過簡訊、郵件及時通知運維中心,並做相應處理。
saas的出現,改變的不僅是軟體體系架構,更多是企業服務的思維方式。傳統軟體的商業模式中,我們提供的僅僅是應用程式,使用者去做運維、使用和學習,成本高、運維難、公升級難、無服務、和使用者無溝通是所有企業軟體很難改變的現狀。在傳統軟體模式下,軟體開發商系統不斷公升級換代,但老使用者卻無法從中受益。當使用者出現系統問題或使用問題時,軟體企業無法快速定位問題、解決問題。軟體企業不敢面對客戶,因為客戶始終不滿意,對系統不滿意,對服務不滿意,使用者在不斷的抱怨中忍受軟體系統帶來的各種「災難」。saas-軟體即服務,為我們帶來了新的思路,企業級市場中軟體+服務缺一不可。軟體的改變在雲端,隨著快速迭代的開發模式,使用者不斷享受無感知的系統公升級帶來的紅利,通過產品運營和服務體系,雅座將快速幫助餐飲企業解決各種問題,讓企業使用者用的放心、滿意。
LikeLib 打造讓使用者放心的商業公有鏈系統
2017年開始區塊鏈的熱度一路飆公升,已成為全球廣泛關注的金融黑科技技術,但爆紅的背後暗藏各種問題,從行業的角度來看,區塊鏈至少存在安全問題和監管問題。目前大多數區塊鏈還是處於初級階段,技術還不太成熟,存在安全隱患,監管不夠,互不流暢等諸多痛點。作為一種新興技術,區塊鏈本身是中性的,如果區塊鏈技術的...
放心過年的正確姿勢 雲監控開啟一鍵報警
監控年關,運維同學最關心的是什麼?服務千萬不要掛,不過服務永遠不掛是不可能的。重點是,服務異常了,你可以及時被通知到,以便快速做出反應,及時修復問題。一句話,讓雲監控通知你,而不是讓老闆通知你。然而,越來越多的企業上雲,使用越來越多的服務 產品,這些產品運維的好不好?有沒有風險?如果有風險,我如何能...
雲科服務 獨特的雲服務聚合商
近年來,越來越多的企業開始了雲計算之旅。對於傳統的it 鏈合作夥伴來說,企業上雲,是否意味著傳統的生意模式不復存在,傳統it渠道合作夥伴的價值不復存在了呢?企業雲的實施運維商機巨大 實際上,與中小企業不同,對於大中型企業來說,通常在進入雲計算領域的時候,其面臨的原有it架構與後續引進的雲計算之間的協...