日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

阿里技术专家:数据一致性检测的应用场景与最佳实践

發(fā)布時間:2024/4/11 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里技术专家:数据一致性检测的应用场景与最佳实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

點擊上方“朱小廝的博客”,選擇“設(shè)為星標”

后臺回復(fù)"書",獲取

后臺回復(fù)“k8s”,可領(lǐng)取k8s資料

來源:阿里巴巴中間件

隨著業(yè)務(wù)規(guī)模的擴張,企業(yè)系統(tǒng)變得越來越復(fù)雜,在這種復(fù)雜的分布式系統(tǒng)架構(gòu)下,難免會出現(xiàn)遠程調(diào)用失敗,消息發(fā)送失敗,并發(fā) bug 等等問題,這些問題最終會導(dǎo)致系統(tǒng)間的數(shù)據(jù)不一致,導(dǎo)致用戶體驗受損,用戶利益受損,對平臺來說就是產(chǎn)生資損。因此如何持續(xù)保障系統(tǒng)的業(yè)務(wù)穩(wěn)定性對于企業(yè)來說是一個很重要的課題,本文旨在介紹一些常見業(yè)務(wù)應(yīng)用場景下的業(yè)務(wù)數(shù)據(jù)一致性保障最佳實踐。

離線or在線,事前or事后

應(yīng)對業(yè)務(wù)數(shù)據(jù)不一致問題的常規(guī)操作是,配置定時任務(wù),在每個固定時間點去拉取歷史一段時間的數(shù)據(jù)出來進行比對,判斷是否有數(shù)據(jù)故障出現(xiàn),比如利用hadoop做一些批處理MapReduce作業(yè),這種離線計算的方式時效性比較差,對于電商系統(tǒng)或者對于實時性要求較高的系統(tǒng)來說,問題發(fā)現(xiàn)的越晚損失也就越大,所以我們需要一種在線的校驗?zāi)J絹韺崟r發(fā)現(xiàn)數(shù)據(jù)不一致問題。

在線的校驗?zāi)J街傅氖敲砍霈F(xiàn)一筆數(shù)據(jù)就進行一次比對,這種比對方式還可以分為事前和事后比對。

  • 事前比對是一種業(yè)務(wù)強耦合的校驗方式,我們在業(yè)務(wù)系統(tǒng)代碼中進行類似 AOP 的操作,橫插一段校驗代碼,如果校驗發(fā)現(xiàn)問題,則阻斷這次業(yè)務(wù)操作,這種模式雖然時效性很高,能夠保證每一筆數(shù)據(jù)的正確性,但是因為和業(yè)務(wù)耦合的太重,很容易出現(xiàn)一些災(zāi)難性的問題,比如校驗代碼的性能差或者異常處理不正確,會直接導(dǎo)致業(yè)務(wù)操作受阻,影響正常業(yè)務(wù)活動。

  • 事后校驗嚴格上來說不能算是實時校驗,因為校驗的時間點滯后于真實的業(yè)務(wù)動作發(fā)生時間點,這算是一種準實時校驗,這種校驗的好處在于,可以和業(yè)務(wù)解耦,不阻斷業(yè)務(wù)的正常進行,還能較為"實時"的發(fā)現(xiàn)數(shù)據(jù)不一致問題,并且在一些特殊場景下(比如異步業(yè)務(wù),下面會介紹)只能使用事后校驗,缺點也很明顯,就是時效性相比于事前校驗來說會比較差。

?

這里在啰嗦一句,可能讀到這里,有些人會問,既然是業(yè)務(wù)動作發(fā)生之后再進行校驗,它的意義還有多大呢?的確相比于事前校驗來說,他并不能保證每一筆數(shù)據(jù)都正確,但是在實際操作中,像電商這種場景下,我們進行業(yè)務(wù)功能迭代,會經(jīng)過日常環(huán)境 -> 預(yù)發(fā)環(huán)境 -> Beta測試 -> 線上環(huán)境的流程,尤其是在預(yù)發(fā)環(huán)境和 Beta 測試的情況下,一般會進行一些線上引流或者模擬數(shù)據(jù)測試,特點是量小,即使發(fā)生問題也只是局部不會引起災(zāi)難,那在這種場景下,事后校驗的意義就顯得很大,可以提前驗證功能和數(shù)據(jù)的正確性,又不會對線上造成強耦合的影響;在功能完全上線后,事后校驗的作用在于及時發(fā)現(xiàn)數(shù)據(jù)不一致問題,避免問題的進一步擴散。

綜上所述,對于業(yè)務(wù)數(shù)據(jù)校驗時效性不是那么高的場景下,離線校驗是一種比較合適的方式,開發(fā)接入成本都較低,對于業(yè)務(wù)數(shù)據(jù)校驗時效性有一些要求的場景下,事后校驗是一種比較適合的方式,對于業(yè)務(wù)校驗時效性要求非常嚴格,并且能夠投入較多資源的情況下,事前校驗比較適合。

數(shù)據(jù)一致性檢測實踐案例

案例一、會員系統(tǒng)

某店鋪會員入會業(yè)務(wù),需要結(jié)合店鋪系統(tǒng)、打標系統(tǒng)、會員系統(tǒng)進行入會退會操作,如下圖所示:

在這個業(yè)務(wù)場景中,買家在店鋪會員頁發(fā)起入會申請,入會成功對外發(fā)送會員入會metaq消息,下游業(yè)務(wù)系統(tǒng)根據(jù)這個metaq消息,為該用戶打上一個標簽,用戶在下單的時候就根據(jù)這個標簽判斷是否有優(yōu)先購買的權(quán)利。既然有入會就有退會,退會同樣發(fā)起metaq消息給用戶進行去標操作。所以不管入會還是退會,業(yè)務(wù)上要求店鋪系統(tǒng)的會員狀態(tài)(入會還是退會)必須和用戶系統(tǒng)的標簽狀態(tài)一致(有或者沒有),一旦發(fā)現(xiàn)數(shù)據(jù)不一致,一個已經(jīng)退會的用戶如果還有用戶會員標簽,該用戶就可以購買這個限購商品,這樣就會造成商家資損。因此必須有對賬業(yè)務(wù)對數(shù)據(jù)一致性進行強保證,一旦發(fā)現(xiàn)數(shù)據(jù)不一致,必須要通知相關(guān)人員進行數(shù)據(jù)核對,如有問題則進行數(shù)據(jù)訂正。

這個案例在對賬系統(tǒng)的選擇上有如下幾個要求:

  • 實時:必須當(dāng)天盡快處理。

  • 可以報警

  • 必須支持不同領(lǐng)域模型。

  • 接口調(diào)用需要有一定的延遲,以便下游系統(tǒng)處理完所有流程之后再校驗。

  • 由于入會、退會metaq可能會有丟失或者亂序的情況,因此不可以根據(jù)該消息進行對賬。

  • 在這個業(yè)務(wù)場景下,我們可以看到,業(yè)務(wù)是異步的,會員系統(tǒng)發(fā)起入會操作后,并不是立刻就能在用戶系統(tǒng)打標的,所以實時的事前校驗并不適合這個場景,因為在會員系統(tǒng)發(fā)起入會操作的時候在用戶系統(tǒng)中還查不到這個打標狀態(tài),需要延遲一段時間去查,所以只能用事后校驗來做。

    我們在這個場景的做法是:拉取店鋪會員數(shù)據(jù)庫的實時binlog日志數(shù)據(jù),給到校驗系統(tǒng),校驗系統(tǒng)解析日志數(shù)據(jù)拿到要打標的會員id,并且延時一段時間后去會員系統(tǒng)查詢這個會員的入會狀態(tài),和日志中的狀態(tài)進行一致性比對,發(fā)現(xiàn)不一致則進行告警。

    案例二、新老庫遷移

    當(dāng)新老系統(tǒng)需要進行更替的時候,經(jīng)常會涉及到數(shù)據(jù)遷移,由于數(shù)據(jù)量非常大,而且不允許停機,所以遷移一定是一個循序漸進的過程,整個過程會分成兩個部分,第一個部分是雙寫,保證新增數(shù)據(jù)兩邊同步。第二步是開始做存量數(shù)據(jù)遷移,通過后臺任務(wù)慢慢跑。在這個過程中可能會出現(xiàn)部分字段沒有同步,更新數(shù)據(jù)順序錯亂導(dǎo)致數(shù)據(jù)內(nèi)容不一致的問題,所以需要對遷移進行數(shù)據(jù)的一致性檢查,及時發(fā)現(xiàn)數(shù)據(jù)問題進行訂正或者bug修復(fù)。

    由于我們的目的是將數(shù)據(jù)遷移到新系統(tǒng),所以數(shù)據(jù)校驗觸發(fā)條件就是新系統(tǒng)有數(shù)據(jù)寫入,這里可能有人會問如果老系統(tǒng)同步失敗呢,那么新系統(tǒng)就不會有數(shù)據(jù)寫入,就觸發(fā)不了校驗。這里就存在校驗邊界的問題,即我們假設(shè)同步系統(tǒng)是一定會同步成功的,如果同步失敗的話不允許跳過會一直嘗試重試同步,所以這里如果發(fā)生同步失敗,同步會暫停并且打印出同步錯誤日志,這個就不是校驗系統(tǒng)的問題了,我們會通過同步的進度或者同步日志來觀察到這個現(xiàn)象。

    所以我們在這個場景的做法是:接收新庫的數(shù)據(jù)庫變更binlog日志數(shù)據(jù),解析日志內(nèi)容,通過這條數(shù)據(jù)id去查詢舊庫的對應(yīng)數(shù)據(jù),進行數(shù)據(jù)內(nèi)容的比對。由于雙寫的存在,一條數(shù)據(jù)可能會變更多次,這里就要求我們的校驗必須是較為實時的進行,否則就會出現(xiàn)拿到的日志數(shù)據(jù)內(nèi)容是舊的(這條數(shù)據(jù)又發(fā)生了更新),導(dǎo)致查詢老庫的數(shù)據(jù)出現(xiàn)不一致的問題,其實算是一種誤報。

    推薦工具&產(chǎn)品

    • AHAS?—— 阿里云應(yīng)用高可用服務(wù),提供企業(yè)級的流量控制、故障評測等高可用能力

    • APDS?—— 阿里云應(yīng)用發(fā)現(xiàn)服務(wù),支持自動資產(chǎn)盤點,幫助企業(yè)實現(xiàn)快速上云搬站

    想知道更多?描下面的二維碼關(guān)注我

    后臺回復(fù)"技術(shù)",加入技術(shù)群

    后臺回復(fù)“k8s”,可領(lǐng)取k8s資料

    【精彩推薦】

    • 原創(chuàng)|OpenAPI標準規(guī)范

    • 中臺不是萬能藥,關(guān)于中臺的思考和嘗試

    • ClickHouse到底是什么?為什么如此牛逼!

    • 原來ElasticSearch還可以這么理解

    • 面試官:InnoDB中一棵B+樹可以存放多少行數(shù)據(jù)?

    • 微服務(wù)下如何解耦?對于已經(jīng)緊耦合下如何重構(gòu)?

    • 如何構(gòu)建一套高性能、高可用、低成本的視頻處理系統(tǒng)?

    • 架構(gòu)之道:分離業(yè)務(wù)邏輯和技術(shù)細節(jié)

    • 星巴克不使用兩階段提交

    點個贊+在看,少個 bug?????

    總結(jié)

    以上是生活随笔為你收集整理的阿里技术专家:数据一致性检测的应用场景与最佳实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 潘金莲性xxxxhd | 中文字幕视频免费 | 隔壁邻居是巨爆乳寡妇 | 日韩中文字幕不卡 | 小仙女av | 熟女视频一区二区三区 | 五月激情小说网 | 国产免费av一区二区三区 | 我要看18毛片 | 黄色网址www| 日本美女全裸 | 91私拍| 好吊妞精品视频 | 久久午夜鲁丝 | 麻豆精品久久久久久久99蜜桃 | 日日夜夜天天综合 | 我的丝袜美腿尤物麻麻 | 欧美成在线| 午夜av导航 | 国产一区在线视频 | 欧美影院在线 | 日韩人妻一区二区三区 | 少妇高潮av久久久久久 | 成人黄色一级 | 国产又黄又猛又粗又爽 | 一级片网址 | 天天射天天干天天操 | 亚洲一区二区三区蜜桃 | 亚洲午夜精品久久久 | 色婷婷久久久 | 美女被叉叉的影院 | 成年人视频在线免费观看 | 奇米超碰在线 | 奇米影视第四色7777 | 日本v视频 | 亚洲最大av网 | 国产男女猛烈无遮挡 | 亚洲成a人v欧美综合天堂麻豆 | 国产在线欧美日韩 | 欧美 日韩 成人 | 在线观看福利视频 | 国产精品综合久久久久久 | 亚洲国产一区二区三区在线观看 | 黑人玩弄人妻一区二区三区四 | 全球av在线 | xxxxⅹxxxhd日本8hd| 最新日韩av | 国产在线一区二区三区四区 | 久久精品一区二区三 | 日韩在线观看免费高清 | 波多野结衣免费在线视频 | 免费在线播放视频 | 国产高清视频免费观看 | 中文字幕一区二区在线播放 | 999久久久久久久久6666 | 玉足女爽爽91 | 女人被狂躁c到高潮喷水电影 | 岛国精品在线观看 | 乱日视频 | 日韩美女视频在线观看 | 国产日韩欧美综合在线 | 亚洲91在线| 激情网久久 | 色久阁| 狠狠v欧美v日韩v亚洲ⅴ | 久久国产网 | 成人三级影院 | 精品视频不卡 | 亚洲区在线播放 | 51精品国产 | 亚洲精品视屏 | 国产成人午夜精品 | 欧美精品亚洲精品 | 懂色av一区二区在线播放 | 国产偷亚洲偷欧美偷精品 | 欧美成人精品一区二区三区在线观看 | 亚洲熟女乱色一区二区三区 | 国产黄色在线观看 | 超碰caoprom | 日本福利网站 | 国产a级精品| 国产在线久久久 | 欧美人体视频一区二区三区 | 久久一二 | 国产精品视频一区二区三 | 中文字幕一二三四 | youjizz.com国产 | 亚洲精品日日夜夜 | 国产亚洲精 | 欧美人与性动交xxⅹxx | 国产一区在线视频 | 中文字幕免费观看 | 99在线观看视频 | 国产美女被遭强高潮免费网站 | 香蕉婷婷 | 国产尤物视频在线观看 | 加勒比视频在线观看 | 警察高h荡肉呻吟男男 | 日韩av高清在线播放 |