揭開微盟百萬商家營銷大戰背後的資料庫祕密

danny_2018發表於2021-11-11

又到了雙十一、雙十二、年終大促季,每年這個時候都是購物狂歡節,不僅促銷產品多、種類全、覆蓋面廣,促銷花樣也在不斷翻新,直播、砍價、優惠券、加價購等,令人眼花繚亂。當全國人民沉浸在買買買的自嗨中無法自拔時,考驗的不僅是百萬商家的戰略戰術,更是各種技術平臺的實力比拼,尤其是底層的資料庫,將迎來流量峰值期間的高併發和快速響應挑戰。

高併發業務場景下快速、彈性擴縮容挑戰

▲微盟產品和服務佈局

以微盟為例,公司承載的是和多渠道的廣告營銷業務,提供和各個細分領域相關的垂直SaaS解決方案及服務。比如:雙11期間的秒殺、拼團和砍價,需要很多專業解決方案和功能支撐,而微盟擁有豐富的產品和解決方案,處於業界最領先地位,很多優惠券、抽獎、廣告牌、激勵轉化等功能,都有專門的數字化外掛。

借用微盟資料庫技術負責人 餘成真 的話來說,“雖然微盟的很多SaaS業務經常被模仿,但從未被超越。”

從大的平臺架構來看,每個業務系統都是獨立應用,包括獨立的後臺、技術棧、資料庫,並且對於庫和表的設計,也各不相同。

而對於“秒殺”類活動,每天收到的活動報備請求至少幾十個,遇到重要節日以及重大營銷活動時,可能會有上百個商家發起活動報備申請,無論是使用者線上數,還是業務請求量,都是TOP級別。

所以,對於資料庫的效能來說,必須滿足如下要求:

● 反應要快,並且不同應用介面響應要求不一樣。

● 針對惡意刷票行為,要進行流量防控。

● 要具備資料庫的大量讀寫能力。

大體來看,微盟資料庫團隊主要面臨4大挑戰:

1.高併發、低延時需求。

微盟的核心介面在平常狀態下都是毫秒級響應,資料庫的每條請求都是幾毫秒,甚至是納秒級響應時間。在活動高峰期,某些營銷外掛的場景類資料庫,單例項就有超過7萬真實QPS記錄值。

2.確保穩定性及高可用性。

穩定性和可用性是基本要求,目前主要依賴騰訊雲資料庫底層高可用能力,同時微盟自己也有一套針對應急場景的可用性工具,未來希望能更可靠、更穩定。

3.資料安全

如何對人員安全、資料庫安全進行治理,成為一項長期工作。需要進一步加強治理的事項,包括:資料分類分級、線上資料查詢的精細授權、資料災備的定期演練、運維操作風控等。

4.海量例項資料庫運維。

微盟資料庫型別多、數量多、業務線多,管理好這些後設資料是DBA做好各項工作的先決條件。同時,只有做到精細化運維,才能將規避工作中遇到的資料庫問題 、將故障及風險降至最低。

此種背景下,微盟開啟了全面的雲資料庫轉型征程,從思維模式開始,讓整個架構向更彈性、更靈活的服務模式演進。

採用現代化架構解決資料安全、技術能力擴張問題

▲基於雲資料庫的解決方案與實踐

“SaaS電商業務的本質是,對資料庫應用效能要求較高,必須抗住各種壓力。” 餘成真說道。

在數字化轉型背景下,企業業務的核心是資料,資料驅動業務,數字即服務。而承載所有資料的資料庫,既有事務ACID特性的要求,又有海量資料儲存的要求。所以,資料庫產品在具備聯機事務處理能力同時,資料庫的讀取效能也必須強悍,同時還要具備資料分析能力。另外,微盟業務發展速度飛快,資源需求呈指數級倍增,資料安全、資料庫型別擴充套件、資料庫技術能力擴充套件等核心問題,都需要重新考慮。

微盟持續保持高速發展,創新和不斷迭代是內在基因。2020年,為了助力更多商家實現數字化轉型,微盟提出了“TSO全鏈路智慧增長”,從流量、SaaS工具和運營角度,構建全域數字化商業閉環。從產品角度看,最重要的是,全面提升資訊保安保護能力,防止災害及不可抗拒因素給業務系統帶來的傷害。

為了配合集團業務高速發展的需求,資料庫團隊必須基於現代化業務架構,轉變思維模式,讓所有業務在充分享受雲的彈效能力的同時,也要兼具業務的隔離性。

利用雲資料庫彈性滿足高併發和快速調整需求

縱觀微盟資料庫的發展史,主要分為3個重要階段:

1. 早期IDC建設階段,包括自建黑石資料庫服務叢集。

2016年,微盟的資料庫從阿里雲全線遷移到騰訊黑石機房,實現了跨IDC的異地同步。在遷移之初,不僅要保證資料的一致性,對資料可用性的時間也有極高要求,資料庫例項要在30分鐘內全部切換完,具體到單套例項的不可用時間要限制到秒級。而且,遷移過程中注意的細節非常多,涉及到對專案的協調及人員的動員力,在資料庫同步遷移技術上,要保證資料的絕對一致性,遷移過程中也要具備更縝密的思維。同時,還講求戰略戰術和技巧,微盟當時使用的是主從複製技術,因為經典意味著可靠。

為了更貼合業務發展,微盟還自建了資料庫服務叢集,用半年時間打造了一整套資料庫私有云解決方案,包括具備監控、告警、備份、高可用等相關功能。不僅解決了業務問題,在技術上也有重大突破,包括藉助開源工具實現了二次開發,期間還編寫了大量輔助運維工具,將零散的運維工作進行了工程化建模。由於資料庫硬體伺服器是高效及高可用架構設計,所以資料庫叢集在4年多線上真實環境應用中,沒有出現任何事故級故障,整體叢集非常穩定、高效。

2. 資料庫全面上雲以及異地多活架構升級。

2020年,為了配合TSO業務戰略落地,微盟嘗試探索公有云路線。因為,相對於私有云,公有云的彈性擴充套件能力強,更能滿足業務高併發需求。經過大量調研、測試、選型、驗證後,公司開始制定實施計劃,全面上雲。其實,當時很多雲廠商提供的異地多活方案都不是非常成熟。期間,微盟資料庫團隊和騰訊雲資料庫部門保持密切溝通與互動。從最初通過線上邊緣業務進行測試,到之後發展到週期性全例項的多活故障演練,最終才實現了技術上的突破,創造了成功的多活方案,高度確保了業務的穩定性。

3. 加碼資料安全,實現精細化運維。

2021年,為了確保資料庫部門擁有全線的業務支撐能力,微盟制定了很多和運維相關的規範及流程。主要包含兩個維度:一方面,運維操作人員要具有可量化的操作細節;另一方面,降低風險,提升溝通效率。

集中式+分散式技術架構設計

大體來看,微盟雲資料庫轉型是企業支援數字化業務的最重要里程碑,他們開創了新的思維模式,用一個更靈活的策略,把大業務拆小,小業務拆得更細。並且,在每一個細的模組上,都做了資料庫級別的支撐。這意味著,整個後臺不僅擁有眾多例項,能充分利用雲基礎設施的彈性,隨時按需使用,還能確保例項之間的隔離性。即便是小商戶,也能做到專案式的隔離,確保每個專案都不受影響。

在具體的資料庫設計上,微盟採用的是集中式+分散式技術架構。

分散式應用場景:微盟把Redis、Kafaka作為大型分散式系統的關鍵元件,這些元件在實時資料或流式資料架構中扮演著重要角色。

聯機事務處理應用:微盟採用騰訊自研的雲原生資料庫TDSQL-C、騰訊雲MySQL、騰訊雲PostgreSQL支撐底層全業務線儲存,儲存所有業務線的後設資料,並提供重要資料計算及存取能力。

分析型應用場景:通過TiDB/ HBase /TDSQL-H解決實時及離線分析問題。

在餘成真看來,決定微盟雲資料庫選型的最關鍵因素有四點,即安全、效能、穩定和成本。

微盟是基於微信生態做的產品級應用,也是騰訊雲華東地區頭部、重要VIP客戶,所以對騰訊雲有著天然的親和力,微盟的很多基礎設施服務都在使用騰訊雲提供的產品,比如:高防、LB、VPC網路、CVM、COS、DB、EMR等等。針對騰訊雲資料庫產品提供層面,微盟目前主要使用的是MySQL及雲原生資料庫TDSQL-C,以及非關係型資料庫Redis。

更安全、更穩定、效能更強

“資料庫全面上雲後,不僅實現了當初規劃的目標,在資料安全性、應用的穩定性以及效能方面,也有更卓越表現。” 餘成真對雲資料庫上線後的效果,給與了高度評價。

總結而言,資料庫上雲後,獲得瞭如下效果:

● 全面確保資料安全。

底層基礎設施安全:由於資料庫底層運維工作主要交給騰訊雲資料庫團隊來做,極大地確保了底層基礎設施的安全性。

資料安全:為了從根本上確保資料安全,微盟在資料庫許可權系統上設定了最小粒度的授權原則。具體做法是,將許可權繫結於資源物件上,人及業務組僅有許可權檢視所屬的資料庫資源。對這些資源的操作,會進一步細化許可權,如:流程化管理,要經過“申請、一級審批、二級審批、執行”這樣一個流程。

權責到人:微盟還將所有DBA操作進行工單化,具體包括:查詢申請工單、SQL上線工單、資料遷移工單、資料歸檔工單等等。通過對人、對資源的許可權控制,對資料的分類分級等方式,來保證資料安全。為了與國家資料安全法保持實時同步,微盟已將資料安全法進行了平臺化處理。

● 運營能力提升。

為了滿足更精細化的運維需求,微盟基於騰訊雲資料庫提供的能力,做了進一步擴充套件,對更貼近業務場景的功能做了處理。為了全面提升資料庫運營能力,通過監控資料、告警資料、慢日誌資料等進行資源評分,為資源配置提供重要依據,也可推導業務程式碼質量,產品響應質量等。簡單理解,騰訊雲資料庫把底層的髒活苦活累活都幹完了,微盟的資料庫團隊就無須再關心底層基礎設施問題,而是拿出更多時間,關注業務層面的問題。

● 效能增強。

對於微盟最關注的資料庫效能,也做了進一步增強,實現了底層核心以及整體效能的優化。微盟建立了資料庫效能壓測跟蹤平臺,可按照自己的標準進行快速衡量各廠商雲資料庫質量。在資料庫上雲後,微盟還建立了真實業務SQL模型,能推導程式碼質量,度量介面響應指標等。

● 成本優勢。

雲資料庫上面的資源彈性擴縮容能力,以及在節約成本方面,也是傳統業務模式無法比擬的。騰訊雲資料庫擁有資源的全生命週期管理,包括:資源申請、資源建立、資料庫管理、賬號型別管理、賬號許可權客理、資源業務域歸屬、資源負責人管理、資源監控備份告警管理、資源下架單、資源回收站。傳統IDC模式下,一旦活動來了,進行擴容以後,成本就一次性加進去了,即使縮容以後,成本還是那麼多。但使用騰訊雲就不一樣,可以按需使用,隨用隨付。

微盟雲資料庫不僅全面擁抱了雲原生,在HTAP融合發展趨勢上也在不斷探索。目前,具有業務屬性的雲原生資料庫TDSQL-C,已開始逐步遷移,承擔的是高讀QPS類的業務;其中還有一小部分是TDSQL-H系列,解決了分析型應用場景的查詢問題,承擔一些AP類的業務。微盟通過騰訊雲資料庫的全棧服務,滿足了AP、TP全場景需求,支撐著百萬商家的大促及秒殺等核心業務。

小結:從某種角度看,微盟資料庫上雲旅程,其實是企業業務創新不斷髮展的結果。以資料庫例項數量為例,上線之前是1000多套,現在使用了雲上的資源以後,已經發展到2000多套,翻了至少一倍。從資源規模上,已經做了一定的數量級,如果全部自己搭建,其業務的難度以及工作量,都無法想象。

關於微盟:

微盟,成立於2013年,雖然發展時間不長,但已成為一家領軍企業雲端商業及營銷解決方案提供商,擁有超過7500名員工,全球加盟商超過1600家,入駐商戶超過300萬家。公司旗下業務主要包括商業雲(微商城、智慧零售、智慧餐飲、智慧酒店、智慧美業)、營銷雲(微站、智營銷、企微助手)、銷售雲(銷氪)以及和精準營銷相關的豐富的媒體資源和DMP。媒體資源主要是指和騰訊、抖音、快手、頭條、知乎、小紅書等平臺的對接;而DMP,則包括精準受眾定位、分析與優化和更靈活的格式等。微盟的企業理念是,致力於成為企業數字化轉型最佳夥伴,助力更多商家開啟數字化轉型征程。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2841667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章