天天看點

釘釘輕松頂住資訊洪流的原因,竟然是它

今年的疫情來勢洶洶,新冠病毒作為2020最具代表性的黑天鵝事件,雖然引起了一系列不良的連鎖反應,但是卻讓“停工不停業、停課不停學”成為了疫情時期的剛需。

在疫情期間釘釘下載下傳量激增,直沖各大應用商城下載下傳量榜首,同時線上人數最多達到了2億人。即使現在各行業已經正常複工,但釘釘的下載下傳與使用量仍保持一個高速的提升,截至目前為止已有3億的使用者和1500w的企業組織在上面進行工作和學習。

但在這飛速發展的背後,對于技術也自然提出了更高的要求,尤其IM作為釘釘的核心功能,随着使用者應用的不斷深入,是以在業務和系統上也迎來了更大的機遇和挑戰。           

在9月18日雲栖大會上,阿裡雲智能進階技術專家木洛就為我們詳細介紹了,表格存儲Tablestore是如何助力釘釘消息存儲架構的更新,幫助釘釘頂住持續增長的流量。

釘釘IM消息存儲面臨的業務挑戰

1、使用者對于産品的品質要求越來越高。在功能上,要求場景化、定制化;在體驗上,需要多裝置狀态同步,曆史消息漫遊。另外,為了滿足一些大型企業的溝通需求,還需要支援人數超過萬人的大群。這些要求,都是一個企業級IM必須能夠滿足的。

2、疫情過後,釘釘IM系統規模快速擴大,日均消息突破千億,高峰期消息發送TPS超過千萬,消息的存儲大小更是突破1個P,系統的水準擴充性和成本控制已經成為了目前的核心需要解決的問題。

3、企業經常會面臨一些大規模複雜場景下的業務,如何能在這種情況下提供全年99.995%可用性,也是我們需要攻克的重要課題。

什麼是表格存儲

表格存儲 Tablestore是提供集存儲、搜尋和分析多功能一體的一站式結構化資料存儲平台,覆寫物聯網和網際網路下的多場景應用。表格存儲TableStore采用與Google Bigtable類似的寬表模型,天然的分布式架構,能支撐高吞吐的資料寫入以及PB級資料存儲。同時其簡單可靠的資料模型和架構,幫助企業資料在存儲和計算系統之間自然地流轉。

表格存儲如何幫助釘釘實作更新

釘釘整個消息系統架構可以分為三層,分别是:消息端、接入層以及消息系統。在一個完整的資訊流寫入過程中,消息首先會從端發送到接入伺服器,接入層将消息投遞到消息系統後,消息系統會通過一個MQ(消息隊列)來對消息進行異步處理,最後則會有一組消息處理伺服器來處理消息。

而在消息處理階段,又能分為存儲、同步和通知三個步驟。首先系統會将消息持久化存儲到存儲庫内以支援消息漫遊,之後再通過寫擴散或者讀擴散的方式寫入同步庫内,最後消息索引庫會異步地對消息存儲庫内的消息進行全文索引以支援消息線上檢索。

這個架構下存儲層的核心是三個庫,也就是存儲庫、同步庫和索引庫。存儲庫存儲全量消息,根據資料的冷熱進行分層存儲。同步庫支援消息讀寫擴散寫入,支援多端多位點實時拉取消息。索引庫對消息及中繼資料進行索引,支援模糊查詢以及消息全文檢索。

而表格存儲Tablestore之是以能承擔了這三個庫的存儲,核心優勢是:

一,表格存儲Tablestore設計實作了Timeline模型,是專為IM/Feeds場景設計,可簡化模型抽象和開發。

二,表格存儲Tablestore單表能支援海量資料規模存儲,冷熱分層,支撐消息場景下PB級、萬億行規模低成本存儲。

三,表格存儲Tablestore分布式存儲計算分離架構,可支撐每秒千萬TPS擴散消息寫,同時能達到毫秒級查詢性能。

四,表格存儲Tablestore具有Serverless服務形态,極緻彈性,存儲和計算按需擴容,滿足低成本訴求。

達到的效果

在2020年,釘釘把原來的存儲系統全量更新到表格存儲TableStore,而表格存儲Tablestore為釘釘提供了強大的模組化能力和檢索能力,高效地支撐複雜多樣的業務功能實作。同時,其良好的水準拓展能力,也極好地滿足了釘釘業務快速發展的需求。

另外,在成本控制上,表格存儲Tablestore可根據IM的業務特性,實作冷熱資料的分層存儲以及彈性擴縮容能力,降低存儲系統的運作成本,實作業務的可持續發展。

繼續閱讀