天天看點

雲原生分布式資料庫PolarDB-X與北京公交系統的不解之緣,從脫離公交卡說起

說起公共交通,在地鐵還沒有發達的時候,北漂的人們或多或少都經曆過“公共汽車囧事”。有人因為公交卡沒錢隻能無奈下車;有人頂着嚴寒酷暑在公共汽車站“望車興歎”——公共汽車一趟又一趟,就是沒有自己要搭的那一路;還有人好不容易等到了車,結果發現公共汽車擠成了“沙丁魚罐頭”,使出渾身解數也擠不上去,隻能繼續原地等待下一輛或者選乘其他交通工具。

近些年随着雲計算、大資料、物聯網等新興技術的高速發展,這些影響着人們出行的問題也得到了極大改善。如果公交卡忘記充錢,可以使用公共汽車軟體掃碼先乘車後付款;在出門前,就可以通過手機APP實時了解公共汽車到站的具體時間和車輛擁擠程度,減少因等車浪費的時間;此前疫情橫行的嚴峻形勢下,為避免交叉感染,公共汽車嚴格控制乘車人數,人們還可以通過手機APP提前預定車次,既保證了有需求的人出行,也加強了防疫力度。

潛移默化間新興技術究竟是如何改變了公共交通?這款幫助大家便利出行的手機APP又是“何方神聖”?它又是憑借哪些技術手段,幫助人們實作實時車輛動态查詢等出行需求的?帶着這些問題,我們來到了這款手機APP誕生的地方——啟迪公交,探尋以上問題的答案。

資料高樓難建“地基”,啟迪公交實行技術突圍

衆所周知,北京有着國内規模最大、車輛最多、計費方式最複雜的城市公交系統。而作為這個公交巨無霸系統的營運者,北京公交集團也是業内公認的“全球最大公交集團”,其擁有兩萬多輛公共電汽車,1000多條營運線路,日均客運量超過了800萬人次。隸屬于北京公交集團的啟迪公交就是這個巨無霸背後的科技“智囊團”。

“支撐北京公交龐大的系統運轉,需要一個強大、高效、高性能、穩定性極強的系統支撐。2018年,啟迪公交成立之初,便決定搭建包括‘北京公交App’在内的一整套數字公交軟硬體系統,幫助北京公交近2.5萬台公共汽車互聯上雲。 ”啟迪公交産品研發總監周國禮面對鏡頭講道。

但事實上,這并不是一個一蹴而就的事情。龐大的高并發資料量增加了研發的難度,巨無霸公交系統需要支撐北京市2萬多輛公共汽車、早晚高峰出行1500筆/秒刷卡并發通路,且随着北京市日均800萬人次的公交出行乘坐量,每日産生的上下車刷卡資料就能高達1600萬筆,預計未來兩年将會産生百億級的資料存儲和通路需求,這種資料高樓建構高可靠性系統架構地基的難度可想而知。

傳統的IT架構顯然很難支撐,它既缺少可靠的資料傳輸機制,同時也缺少有效的對硬體裝置安全管控的機制,以及對裝置遠端監控和管理的能力,難以應對早晚高峰高達每秒上千的并發量級,無法解決傳統公交管理上實時監控、實時排程、基于資料進行支撐決策的難題。

新的市場需求催生着更為強大的技術手段的出現,啟迪公交需要一個強大的技術夥伴合力開展研究。

經過慎重抉擇,最終啟迪公交從市場上諸多資料庫産品中選用了阿裡雲PolarDB-X分布式資料庫,建構雲上全部業務系統。據周國禮介紹,他們做出這一選擇的主要原因是PolarDB-X技術經曆過多年阿裡巴巴雙十一考驗,能夠有效地滿足業務超高并發以及海量資料存儲的需求,還可通過選用多可用區部署滿足同城容災訴求,以及使用線上變配能力解決業務高峰時段的彈性訴求。

基于以上訴求,雙方快速達成了合作。

搭載PolarDB-X雲原生分布式技術,啟迪公交實作全業務系統上雲

在乘客看不到的角落,新系統的開發上線總是會面臨着諸多困難,例如如何才能在不影響居民正常出行的情況下快速完成數萬台刷卡機的替換。“2018年的時候,啟迪公交面臨在不影響道路公交營運的情況下,為全市2萬多輛公共汽車替換6萬+機具的難題。”啟迪公交研發總監王前說到。

以當時的情況來看,這似乎是一個“僞命題”,就在衆人一籌莫展之際,阿裡雲雲原生分布式資料庫成為攻克難題的關鍵鑰匙。

“如果采用在場站等候的方式,至少需要幾個月的時間才能完成全部機具的更換,而基于PolarDB-X雲原生分布式的快速部署能力,我們迅速開發和上線了機具輔助安裝系統,通過安裝人員GPS資料與車輛GPS相結合,實作了人找車快速部署機具,更換新機具的效率大幅提高,短短1個半月的時間,就完成原本要1年時間才能完成的機具更換工作。”

除此之外,PolarDB-X雲原生分布式技術也成功支撐住了北京公交系統龐大的資料高樓,不僅保障了北京日均800萬人次乘車,也支援了6萬多台車載刷卡機的裝置連接配接和管理,同時更頂住了大型節假日、重大賽事下公交出行客流峰值對底層核心系統帶來的嚴峻挑戰。

“基于阿裡雲原生分布式資料庫PolarDB-X産品,我們建構了包括支援掃碼、刷卡、第三方支付、票務管理的核心業務系統,在幫助公交系統實時掌握道路運作情況的同時,也幫助乘客更便捷進行線路查詢。 ”攜手阿裡雲,啟迪公交為北京市民交出了一份滿意的答卷。

當被問及資料化給企業帶來的直覺感受時,王前以票務管理工作台為例進行了說明。

作為公交内部的核心業務系統,票務管理工作台不僅需要承擔與票務相關的業務,還要能夠通過累計的業務資料進行分析,實作科學合理的指揮公交的核心業務,在支援城市公交正常運作上有着舉足輕重的作用。

“以往公交集團獲悉路上具體有多少輛公交汽車在運作,也沒有辦法知道這些公共汽車的一個狀态,沒有辦法快速排程車輛。當我們采用了PolarDB-X建構票務管理工作台後,通過使用者檢錄資料就可以實時同步到阿裡雲原生資料倉庫AnalyticDB,繼而分析出實時客流,結合公交汽車機具上傳的掃碼資訊進行實時統一分析,支援指揮車輛排程,助力場站排程人員更加快速地進行業務政策調整,實作更加合理的排程排班方案。”

比如說在重大節假日時,以往公交系統排班和運力調配往往是根據經驗來進行操作,在某些地點突發客流激增時會出現運力不足、道路擁堵的情況,搭載了PolarDB-X的公交系統可以實時了解客流分布情況、運力情況,以便及時對客流激增地區補排車輛。

雲原生分布式資料庫PolarDB-X與北京公交系統的不解之緣,從脫離公交卡說起

當下,啟迪公交已逐漸将各個業務系統部署到了阿裡雲平台上,包括北京公交App的後端業務服務處理,刷碼刷卡檢錄資料的采集和上傳、合單、支付結算、清算、票務等等。阿裡雲平台統一提供雲資源的配置設定、排程和支撐,包括系統的性能調優、梳理業務和技術架構、優化軟體代碼、協調内外部資源進行統一的研發、測試等一系列工作。除此之外,系統的整體安全性也由阿裡雲來支援配合。

TPS數高達1.4億?雲原生分布式資料庫PolarDB-X的技術特性

作為承載了北京公交最為核心和基礎部分的資料庫,雲原生分布式資料庫PolarDB-X方案到底有哪些優勢和特點?

雲原生分布式資料庫PolarDB-X與北京公交系統的不解之緣,從脫離公交卡說起

從三種目前常見的資料庫架構中便可窺一二,如上圖所示,從左至右依次是單機資料庫、共享存儲資料庫和分布式資料庫。

單機資料庫的計算資源和存儲資源易受到單個節點的容量限制。共享存儲資料庫将開源資料庫(如MySQL)的底層存儲替換成共享的分布式存儲,容量的可擴充性得到了顯著提升,可以做到完全相容開源資料庫,但由于其上層元件保留了單機資料庫結構,仍然受到單個節點的性能限制。而以PolarDB-X為代表的雲原生分布式資料庫架構,所有節點之間互相不共享資源,節點間通過網絡進行通訊,無論是存儲還是計算資源,隻要添加機器就可以了,具有良好的可擴充性。由此可見,作為一種分布式資料庫架構,PolarDB-X的優勢從一誕生便非常顯著。

此外,PolarDB-X一直在朝着一個偉大願景發力,即把各種架構的優勢結合到一起,包括Sharding on MySQL的簡單輕量,NewSQL的高擴容,Cloud Native DB存儲容量的彈性擴充。其具有6個顯著特點:

  • 高可用。基于Paxos協定,資料強一緻;少數派節點故障下資料不丢、不停服;RPO=0 RTO<30s。
  • 高相容。MySQL相容,支援全局事務,二級索引;主流國産作業系統和晶片互認證;全局binlog日志,相容資料庫上下遊生态。
  • 高擴充。水準擴充,按需線上擴縮容,不停服;PB級海量存儲能力,單執行個體突破256節點(真實業務);千萬級并發,可抵禦雙11流量峰值。
  • HTAP。智能讀寫分離,保障TP流量的穩定性;MPP并行查詢,基于隻讀副本保障查詢隔離;基于全局TSO時間戳,保證多副本的一緻性讀寫。
  • 極緻彈性。存儲資源池化,自動按需伸縮,按需付費;擴容不遷移資料,突發流量支援快速升配。
  • 開放生态。擁抱MySQL開源社群,代碼自主可控;閉環生态工具支援,DTS/DBS/DMS;産品架構簡單開放,社會人才密度高。

作為阿裡雲自主研發的雲原生分布式資料庫,PolarDB-X可謂是身經百戰。其采用分布式SQL引擎與存儲引擎,專注解決海量資料存儲、超高并發吞吐,曆經各屆天貓雙十一及阿裡雲各行業客戶業務的考驗,在2020年雙十一期間更是支撐了58.3萬筆/秒建立訂單的峰值,資料庫處理TPS數高達1.4億。

基于以上分析,PolarDB-X能夠承載住北京公交系統如此龐大且繁雜的資料壓力,也就并不足為奇了。

在和啟迪公交的合作中,PolarDB-X将上述的6大特色運用到了極緻,其以雲原生一體化架構設計底層,采用多副本的高可用架構最大限度保證系統的可靠性,為北京公交APP端提供穩定的使用者體驗,同時也為公交票務管理實時大資料分析運作提供着重要的資料支撐。

“公共交通出行關乎整個城市的核心基礎保障,阿裡雲原生分布式資料庫PolarDB-X方案極大地提升了公交營運效率和服務水準,助力啟迪公交打造北京公交智能化業務系統,為首都人民提供了更加綠色和便利的公交出行服務。新基建時代下,未來希望我們能夠更加緊密地結合,助力城市公交系統的智能化發展百尺竿頭更進一步。”