如何保障跨系統(tǒng)數(shù)據(jù)的最終一致性?
作者: 數(shù)環(huán)通發(fā)布時間: 2023-08-22 20:47:23
大家看到數(shù)據(jù)一致性第一時間想到的是什么? 大多數(shù)人想到的是是緩存和數(shù)據(jù)庫的一致性,或者是一個數(shù)據(jù)庫內(nèi)的多個表的數(shù)據(jù)一致性。那么如何保障跨系統(tǒng)數(shù)據(jù)的最終一致性呢?這個問題對眾多企業(yè)來講是個難題,本文將為大家提供解決方案。
關(guān)于緩存和數(shù)據(jù)庫的一致性大家肯定都已經(jīng)很熟悉了,無非是先改數(shù)據(jù)庫還是先改緩存,分別會對應(yīng)什么樣的問題。同一個數(shù)據(jù)庫內(nèi)多個表的一致性也好解決,一般用事務(wù)足以。
那么這里請大家想一下,一個調(diào)用鏈路下來,一共十幾個甚至幾十個系統(tǒng),如何保證他們各自系統(tǒng)的數(shù)據(jù)一致性。如何保證整個鏈路的連續(xù)性呢。
比如一個場景,用戶使用優(yōu)惠券選擇商品下單。這里面的資金流包括券資產(chǎn)的核銷、用戶實際的資金從第三方支付渠道比如支付寶、微信或者銀行卡支付劃撥到平臺;用戶確認收貨后,資金根據(jù)商品的性質(zhì)劃分到商家、平臺、推廣傭金等等、用戶方賬單和商家方賬單的更新、對應(yīng)物理資金的流轉(zhuǎn),每一步都不能錯,即使一分錢對不上就是資損、就是事故。
解決方案
數(shù)據(jù)量大了之后,難免會因為網(wǎng)絡(luò)抖動、數(shù)據(jù)庫抖動、云服務(wù)商抖動等原因,導(dǎo)致出現(xiàn)一些異常數(shù)據(jù)。這種情況既然無法避免,就要想辦法能及時快速的排查出來,確保整個調(diào)用鏈路的最終一致性。想達到這樣的效果,要怎么做呢?要防止這些小概率事件,只能多做冗余保護措施。
一般分為實時核對和離線核對兩種思路。
實時核對
目前最常用的數(shù)據(jù)庫當(dāng)屬MySQL,我們便以MySQL為例。通過監(jiān)聽MySQL產(chǎn)生的binlog,解析出特定類型的DML語句作為觸發(fā)點來進行某些操作。比如可以將 DML語句中牽扯到的字段作為參數(shù)來發(fā)送MQ、調(diào)用RPC由接收方負責(zé)具體的業(yè)務(wù)核對邏輯。或者將表的關(guān)聯(lián)規(guī)則和具體核對業(yè)務(wù)規(guī)則都寫在負責(zé)實時核對的平臺,解析出來后由平臺進行統(tǒng)一的核對操作。
離線核對
為了保證數(shù)據(jù)的準(zhǔn)確性,還可以每日將數(shù)據(jù)庫中的數(shù)據(jù)同步到HBase等離線表中,根據(jù)業(yè)務(wù)需要同步全量或者增量,然后通過寫Hive SQL將多個離線表Join在一起,核對數(shù)據(jù)有無缺失、不一致。
凡事必有代價,技術(shù)方案總有取舍,一般來說在比較重要尤其涉及到錢的部分,會通過實時核對和離線核對兩種方案來保證數(shù)據(jù)的一致性,這背后的代價就是成本,包括離線表的儲存使用成本、核對規(guī)則的編寫成本、數(shù)據(jù)的同步成本等。
數(shù)環(huán)通數(shù)據(jù)連接器iPaaS是一款開箱即用、安全穩(wěn)定與多場景適用的一站式企業(yè)級應(yīng)用集成平臺。基于云原生基座,通過預(yù)置連接器、可視化流程編排和API治理等能力,將企業(yè)內(nèi)外部不同的業(yè)務(wù)、活動、應(yīng)用、數(shù)據(jù)、API、設(shè)備連接起來,實現(xiàn)各個系統(tǒng)間的業(yè)務(wù)銜接、數(shù)據(jù)流轉(zhuǎn)、資源整合,高效實現(xiàn)企業(yè)上下游、內(nèi)外網(wǎng)應(yīng)用系統(tǒng)的數(shù)據(jù)互通,從而實現(xiàn)企業(yè)流程自動化,助力企業(yè)敏捷創(chuàng)新發(fā)展和數(shù)字化轉(zhuǎn)型升級。
目前,數(shù)環(huán)通已對接打通釘釘、金蝶云、維格表、抖音、企業(yè)微信、CRM、巨量千川、用友等1000+應(yīng)用系統(tǒng),擁有超20000+指令動作,且持續(xù)周周更新。能夠快速擴展您現(xiàn)有系統(tǒng)的功能,并將各個系統(tǒng)串聯(lián)起來。
中國南方電網(wǎng)、易方達基金、綠城中國、認養(yǎng)一頭牛、迪卡儂等數(shù)千家企業(yè)已選擇數(shù)環(huán)通助力企業(yè)數(shù)字化經(jīng)營。
- 相關(guān)文章推薦