99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

REA建模思想實(shí)戰(zhàn):資源-事件-代理模型重構(gòu)訂單庫(kù)存系統(tǒng)

REA建模思想實(shí)戰(zhàn):資源-事件-代理模型重構(gòu)訂單庫(kù)存系統(tǒng) REA 這個(gè)詞我第一次看到時(shí)心里想的是“這又是哪個(gè)新中間件”后來一查才發(fā)現(xiàn)它是一套在業(yè)務(wù)系統(tǒng)里非常值得認(rèn)真研究的建模思想全稱 Resource-Event-Agent翻譯過來就是資源-事件-代理。這篇筆記就來聊聊我完整落地過一遍 REA 框架的實(shí)戰(zhàn)記錄從它到底解決什么問題、核心概念怎么區(qū)分到具體怎么把一套訂單加庫(kù)存系統(tǒng)改造成 REA 結(jié)構(gòu)最后把實(shí)操中踩過的坑和排查經(jīng)驗(yàn)一并整理出來。適合正在做訂單、庫(kù)存、供應(yīng)鏈、財(cái)務(wù)對(duì)賬或者積分系統(tǒng)重構(gòu)的后端開發(fā)、架構(gòu)師也適合被“訂單狀態(tài)字段越堆越亂”折磨到懷疑人生的同學(xué)。1. REA 到底想解決建模里的哪些問題1.1 傳統(tǒng)表結(jié)構(gòu)建模越做越重的三個(gè)信號(hào)我見過太多系統(tǒng)是這樣一步一步走向失控的第一個(gè)信號(hào)訂單表字段開始爆炸。下單時(shí)間、支付時(shí)間、發(fā)貨時(shí)間、確認(rèn)收貨時(shí)間、退款狀態(tài)、發(fā)票狀態(tài)、優(yōu)惠券明細(xì)、贈(zèng)品信息……全都塞在訂單主表里??雌饋砗孟褚粡埍砭蛪蛴昧藢?shí)際上每次要加一個(gè)新狀態(tài)就要跟著改一堆歷史數(shù)據(jù)、檢查一堆兼容邏輯一個(gè)不小心就把線上訂單狀態(tài)搞壞了。第二個(gè)信號(hào)對(duì)賬靠人肉拉數(shù)據(jù)拼。財(cái)務(wù)月底要核對(duì)庫(kù)存金額、應(yīng)收應(yīng)付業(yè)務(wù)說自己按訂單跑了財(cái)務(wù)說自己按流水算了兩邊數(shù)字對(duì)不上。原因很簡(jiǎn)單系統(tǒng)里根本沒有一個(gè)統(tǒng)一的事件賬本錢和貨被拆散在不同的業(yè)務(wù)表里面只能靠人寫臨時(shí) SQL 去拉、去導(dǎo)、去手工比對(duì)。第三個(gè)信號(hào)業(yè)務(wù)規(guī)則的執(zhí)行邏輯散落在各處。你今天在訂單 Service 里改庫(kù)存扣減邏輯明天發(fā)現(xiàn)采購(gòu)入庫(kù)那邊又用了一套完全不一樣的扣減規(guī)則后天發(fā)現(xiàn)盤點(diǎn)調(diào)整又是第三套。不是代碼寫得差是底層模型壓根沒有達(dá)成共識(shí)導(dǎo)致大家各做各的。這三大信號(hào)本質(zhì)上都是同一個(gè)根因我們?cè)谟谩皢螕?jù)視角”建表卻希望這套模型能支持“事實(shí)追溯”。單據(jù)只是業(yè)務(wù)的呈現(xiàn)形式真正應(yīng)該留在系統(tǒng)里的是業(yè)務(wù)事實(shí)本身。1.2 把“憑證驅(qū)動(dòng)”換成“事件驅(qū)動(dòng)”不妨用快遞舉個(gè)例子。快遞到了哪兒、中轉(zhuǎn)了幾次你不會(huì)只往包裹上寫一個(gè)“最后位置”字段而是每到一個(gè)節(jié)點(diǎn)就掃描一條記錄。查包裹在哪兒看最新一條物流記錄就行出問題要追責(zé)看完整時(shí)間線就行。訂單系統(tǒng)也是一樣的道理。傳統(tǒng)做法是在訂單上維護(hù) status 字段從待支付改成已支付、已支付改成已發(fā)貨每次修改都是覆蓋歷史。等到哪天你想知道“這個(gè)訂單在 3 月 15 號(hào)到底處于什么狀態(tài)”你發(fā)現(xiàn)狀態(tài)早就被覆蓋了根本查不回來。REA 的核心轉(zhuǎn)變就是把“狀態(tài)覆蓋”改成“事件追加”。每次業(yè)務(wù)動(dòng)作都作為一條不可變的事件記錄保存下來當(dāng)前狀態(tài)可以隨時(shí)從事件流推導(dǎo)出來歷史也能隨時(shí)回溯。做對(duì)賬的時(shí)候全部以事件流為準(zhǔn)繩錢和貨的來龍去脈清清楚楚。1.3 哪些業(yè)務(wù)適合 REA哪些沒必要REA 不是一個(gè)萬能銀彈它天生適合那些“有價(jià)值流動(dòng)、需要審計(jì)追溯、涉及多方參與”的場(chǎng)景。適合用 REA不太需要 REA電商訂單、庫(kù)存、進(jìn)銷存純內(nèi)容管理系統(tǒng)、博客、CMS供應(yīng)鏈與多級(jí)倉(cāng)儲(chǔ)簡(jiǎn)單 CRUD 展示型應(yīng)用財(cái)務(wù)應(yīng)收應(yīng)付、資金賬戶靜態(tài)報(bào)表平臺(tái)積分、優(yōu)惠券、會(huì)員點(diǎn)數(shù)體系無狀態(tài)接口聚合服務(wù)選型邏輯很簡(jiǎn)單如果業(yè)務(wù)從頭到尾都只是“單表增刪改查”沒有跨表價(jià)值流轉(zhuǎn)也沒有審計(jì)要求那 REA 只會(huì)給你增加額外復(fù)雜度。但如果你的系統(tǒng)每天要處理庫(kù)存、資金、積分這類“會(huì)變來變?nèi)ミ€要說得清為什么變”的數(shù)據(jù)REA 的價(jià)值會(huì)隨著業(yè)務(wù)復(fù)雜度的提升越來越明顯。2. 資源、事件、代理三個(gè)核心概念怎么用2.1 資源能衡量?jī)r(jià)值、能被業(yè)務(wù)流轉(zhuǎn)的存量資源不是說“數(shù)據(jù)庫(kù)里的一張表”它有明確特征可以被消耗、產(chǎn)出、交換而且能衡量?jī)r(jià)值。舉個(gè)例子電商系統(tǒng)里商品庫(kù)存是資源入一箱貨庫(kù)存增加賣一件貨庫(kù)存減少現(xiàn)金和應(yīng)收應(yīng)付是資源每筆交易的資金流動(dòng)會(huì)改變它們的余額積分、優(yōu)惠券、服務(wù)時(shí)長(zhǎng)、帶寬流量包這類虛擬資產(chǎn)同樣是非常典型的資源。判斷一個(gè)東西到底算不算資源我有個(gè)簡(jiǎn)潔標(biāo)準(zhǔn)如果它的數(shù)量會(huì)增加或減少而且業(yè)務(wù)上要求你必須能回答“為什么增加、為什么減少、誰觸發(fā)的”它就應(yīng)該建模成資源。反之比如訂單編號(hào)、商品名稱這些只是屬性描述不是資源。這里特別提醒一個(gè)坑不要什么字段都往資源里塞。資源只保存“存量狀態(tài)”和“基礎(chǔ)屬性”像成本分?jǐn)傄?guī)則、審批流程配置這些業(yè)務(wù)規(guī)則不能作為資源字段堆進(jìn)去否則又會(huì)退化回普通的寬表設(shè)計(jì)。2.2 事件不可變、可追溯、有明確時(shí)間點(diǎn)事件是整套 REA 模型里最重要的概念也是我落地時(shí)體會(huì)最深的部分。事件表示業(yè)務(wù)發(fā)生瞬間的一個(gè)事實(shí)。采購(gòu)入庫(kù)是一次事件銷售出庫(kù)是一次事件積分兌換是一次事件庫(kù)存盤點(diǎn)調(diào)整也是一次事件。事件必須包含這幾個(gè)要素什么時(shí)間發(fā)生哪些資源流入哪些資源流出哪些代理參與事件類型是什么事件一旦寫入就不能修改、不能刪除。如果業(yè)務(wù)操作有錯(cuò)誤比如入庫(kù)數(shù)量錄錯(cuò)了正確的做法不是去 UPDATE 那條事件記錄而是新增一條“沖正事件”把錯(cuò)誤影響抵消掉再把正確數(shù)量入賬。這樣看事件流的時(shí)候能看到錯(cuò)誤發(fā)生與修正的全過程審計(jì)非常舒服。我第一次做這種設(shè)計(jì)時(shí)會(huì)有點(diǎn)不習(xí)慣因?yàn)橐郧傲?xí)慣了“改狀態(tài)”現(xiàn)在改成“追加事實(shí)”。但這其實(shí)反而讓代碼邏輯更清晰所有寫操作都是 append不需要處理復(fù)雜的更新邏輯。2.3 代理參與主體要區(qū)分角色不要無腦建“用戶表”代理是參與事件的各類主體。最常見的有內(nèi)部員工、外部客戶、供應(yīng)商還有系統(tǒng)本身。但代理不等于用戶表。我在項(xiàng)目里犯過一個(gè)典型的錯(cuò)以為代理就是“用戶”那張表。后來發(fā)現(xiàn)同一個(gè)用戶可能同時(shí)是內(nèi)部采購(gòu)審批人、也可能是供應(yīng)商對(duì)接人甚至在某些場(chǎng)景下還需要虛擬代理比如“系統(tǒng)自動(dòng)巡檢”。所以落地時(shí)代理要拆成兩層代理實(shí)體用來標(biāo)識(shí)“誰”對(duì)應(yīng)真實(shí)的賬號(hào)、公司或系統(tǒng)參與角色用來標(biāo)識(shí)“以什么身份參與”比如買家、賣家、審批人、經(jīng)辦人。一個(gè)事件和一個(gè)代理之間是多對(duì)多關(guān)系。某個(gè)銷售出庫(kù)事件里客戶是買方、銷售員是經(jīng)辦人、倉(cāng)管員是發(fā)貨執(zhí)行人這些都是同一條事件上的不同角色。2.4 “誰-何時(shí)-何物”的關(guān)系連線規(guī)則把三要素串起來會(huì)得到幾條非常穩(wěn)定的規(guī)則我每次建模都會(huì)拿它來做自檢沒有任何資源會(huì)憑空增加一定有某個(gè)事件讓它流入沒有任何資源會(huì)憑空減少一定有某個(gè)事件讓它流出任何事件都必須有至少一個(gè)代理參與資金類和實(shí)物類資源的流入流出必須雙向配對(duì)也就是價(jià)值守恒。拿一條銷售出庫(kù)來說事件流入資源流出資源參與代理銷售出庫(kù)應(yīng)收賬款/現(xiàn)金增加庫(kù)存商品減少客戶、銷售、倉(cāng)管采購(gòu)入庫(kù)庫(kù)存商品增加應(yīng)付賬款增加供應(yīng)商、采購(gòu)員、倉(cāng)管你看這不是“隨手記一筆庫(kù)存的變化”而是把業(yè)務(wù)動(dòng)作從源頭到結(jié)果連成了一閉環(huán)。任何一筆庫(kù)存增加都能追溯到對(duì)應(yīng)的采購(gòu)入庫(kù)事件任何一筆資金流動(dòng)也都能追溯到對(duì)應(yīng)的業(yè)務(wù)事件。這套規(guī)則做順了以后對(duì)賬就是按事件流直接展開不用再人肉拼數(shù)據(jù)。3. 一個(gè)訂單庫(kù)存系統(tǒng)的 REA 落地實(shí)錄3.1 先梳理業(yè)務(wù)事件別急著建表我改造某一個(gè)電商后臺(tái)的時(shí)候第一步不是畫表而是拉著業(yè)務(wù)把關(guān)鍵動(dòng)作一條一條列出來。這里特別關(guān)鍵一定要先把“業(yè)務(wù)上有哪些事實(shí)發(fā)生”想清楚再談表怎么建。當(dāng)時(shí)整理出來的核心事件清單大致如下事件類型說明涉及資源變化采購(gòu)入庫(kù)商品到貨庫(kù)存增加庫(kù)存流入應(yīng)付賬務(wù)對(duì)應(yīng)變化銷售出庫(kù)客戶下單并發(fā)貨庫(kù)存減少庫(kù)存流出應(yīng)收賬務(wù)對(duì)應(yīng)變化庫(kù)存盤點(diǎn)調(diào)整實(shí)盤和系統(tǒng)不一致手動(dòng)修正庫(kù)存流入或流出退貨入庫(kù)客戶退回商品庫(kù)存流入退款/紅沖對(duì)應(yīng)金額拒收取消訂單取消需要恢復(fù)庫(kù)存庫(kù)存回流資金沖銷這一步做完你就發(fā)現(xiàn)業(yè)務(wù)看起來五花八門但落到 REA 模型里無非就是不同事件類型去改變不同資源的方向和數(shù)量。這個(gè)認(rèn)知確立以后后面建表和寫代碼都變得特別順。3.2 檢查事件之間的雙向約束和守恒關(guān)系列完事件清單我做了第二件事拿“雙向約束”去校驗(yàn)每個(gè)事件有沒有配對(duì)好。比如采購(gòu)入庫(kù)這個(gè)事件它不能只看作“庫(kù)存商品增加了”還要看到“應(yīng)付賬款增加了”。否則庫(kù)存這邊加了一百箱貨財(cái)務(wù)那邊卻不知道要付多少錢月底一查賬資金流和貨物流就對(duì)不上。銷售出庫(kù)同理庫(kù)存減少只是其中一側(cè)另一側(cè)是應(yīng)收賬款或者現(xiàn)金增加。退貨入庫(kù)則是相反方向的鏡像操作。我當(dāng)時(shí)畫了一張很簡(jiǎn)單的對(duì)照表把每個(gè)事件的兩側(cè)資源變化都列清楚事件資源側(cè) A資源側(cè) B配對(duì)邏輯采購(gòu)入庫(kù)庫(kù)存 100應(yīng)付 100貨到即欠款銷售出庫(kù)庫(kù)存 -2應(yīng)收 2貨出即債權(quán)退貨入庫(kù)庫(kù)存 1應(yīng)收 -1貨回則退債現(xiàn)金收款現(xiàn)金 2應(yīng)收 -2錢到則消債這步的價(jià)值在于業(yè)務(wù)規(guī)則還沒寫代碼就已經(jīng)被結(jié)構(gòu)化地推演過一遍很多后續(xù)開發(fā)階段才會(huì)發(fā)現(xiàn)的口徑問題在建模階段就能被擋掉。3.3 數(shù)據(jù)庫(kù)表怎么設(shè)計(jì)建模確認(rèn)后我把表結(jié)構(gòu)設(shè)計(jì)成下面這套。這里需要說明的是這是基于常見實(shí)踐整理出的通用落地方案實(shí)際項(xiàng)目可以按需增加字段和索引。資源表CREATE TABLE resource ( resource_id BIGINT PRIMARY KEY, resource_name VARCHAR(128) NOT NULL, resource_type VARCHAR(32) NOT NULL, -- inventory / cash / receivable / points measure_unit VARCHAR(16) NOT NULL, -- 計(jì)量單位箱、件、元、分 description VARCHAR(256), created_time DATETIME NOT NULL, updated_time DATETIME NOT NULL );代理表CREATE TABLE agent ( agent_id BIGINT PRIMARY KEY, agent_name VARCHAR(128) NOT NULL, agent_type VARCHAR(32) NOT NULL, -- internal / customer / supplier / system contact_info VARCHAR(128), status TINYINT NOT NULL DEFAULT 1, created_time DATETIME NOT NULL, updated_time DATETIME NOT NULL );事件表只做追加不更新不刪除CREATE TABLE business_event ( event_id BIGINT PRIMARY KEY, event_type VARCHAR(64) NOT NULL, -- purchase_in / sale_out / return_in ... occurred_at DATETIME NOT NULL, description VARCHAR(256), request_id VARCHAR(64) NOT NULL, -- 冪等鍵防重復(fù)提交 created_time DATETIME NOT NULL, UNIQUE KEY uk_request_id (request_id) );事件與資源的關(guān)聯(lián)明細(xì)表CREATE TABLE event_resource_item ( item_id BIGINT PRIMARY KEY, event_id BIGINT NOT NULL, resource_id BIGINT NOT NULL, direction VARCHAR(8) NOT NULL, -- in / out quantity DECIMAL(18,4) NOT NULL, unit_price DECIMAL(18,4) NULL, remark VARCHAR(128), KEY idx_event_id (event_id), KEY idx_resource_id (resource_id) );事件與代理的關(guān)聯(lián)明細(xì)表CREATE TABLE event_agent_item ( item_id BIGINT PRIMARY KEY, event_id BIGINT NOT NULL, agent_id BIGINT NOT NULL, role_type VARCHAR(32) NOT NULL, -- buyer / seller / auditor / operator KEY idx_event_id (event_id), KEY idx_agent_id (agent_id) );這幾張表的配合方式是業(yè)務(wù)發(fā)生一筆動(dòng)作業(yè)務(wù)事件寫一條主記錄再通過明細(xì)表掛上它影響的多個(gè)資源、參與的多個(gè)代理。所有查詢都可以從事件主鍵出發(fā)把完整鏈路撈出來。3.4 服務(wù)層代碼如何保證一致性表結(jié)構(gòu)定了之后最核心的實(shí)現(xiàn)就是寫事件落庫(kù)和資源余額更新的服務(wù)。我用的偽代碼是這樣的實(shí)際項(xiàng)目可以用任意語言照這套邏輯去寫class InventoryServiceImpl: tx_manager.transaction def record_inventory_event(self, event_type, occurred_at, agent_ids, resource_id, direction, quantity, request_id, description): # 1. 冪等校驗(yàn)同一個(gè) request_id 不能重復(fù)入賬 if self.event_repo.exists_by_request_id(request_id): self.logger.warning(duplicated request: %s, request_id) return False # 2. 保存事件主記錄 event_id self.event_repo.insert( event_typeevent_type, occurred_atoccurred_at, descriptiondescription, request_idrequest_id, ) # 3. 保存事件-資源明細(xì) self.event_resource_repo.insert( event_idevent_id, resource_idresource_id, directiondirection, quantityquantity, ) # 4. 保存事件-代理明細(xì) for agent_id, role_type in agent_ids: self.event_agent_repo.insert( event_idevent_id, agent_idagent_id, role_typerole_type, ) # 5. 更新資源余額 balance self.balance_repo.lock_for_update(resource_id) if direction in: balance.quantity balance.quantity quantity elif direction out: if balance.quantity quantity: raise InsufficientStockError(resource_id) balance.quantity balance.quantity - quantity self.balance_repo.update(balance) return True這里最關(guān)鍵的一點(diǎn)是步驟 5 里的lock_for_update。庫(kù)存扣減是典型的并發(fā)敏感操作必須在事務(wù)里對(duì)目標(biāo)資源余額做行級(jí)鎖否則兩個(gè)線程同時(shí)賣最后一件商品就可能會(huì)出現(xiàn)超賣。另外注意事件明細(xì)表和資源余額表是在同一個(gè)事務(wù)里提交的。這樣能保證要么事件和余額一起成功要么一起回滾不會(huì)出現(xiàn)“事件記了但庫(kù)存沒減”或者“庫(kù)存減了但事件沒記”這類臟數(shù)據(jù)。3.5 展示層怎么做查詢有人擔(dān)心事件驅(qū)動(dòng)模型查詢會(huì)變慢因?yàn)槊看我串?dāng)前庫(kù)存都要去掃事件流。實(shí)際落地根本不用這么干。我的做法是維護(hù)一套“最新余額表”也就是物化視圖或者定時(shí)聚合任務(wù)。資源主表里始終保存當(dāng)前可用數(shù)量事件流保存每一次變化的完整軌跡。平時(shí)業(yè)務(wù)查詢走余額表十億級(jí)事件量也不怕審計(jì)和對(duì)賬的時(shí)候才去翻事件明細(xì)那本來就不追求毫秒級(jí)性能。這套設(shè)計(jì)本質(zhì)上是把“寫模型”和“讀模型”分開寫側(cè)是追加流水讀側(cè)是查詢余量。比傳統(tǒng)的“主表更新狀態(tài) 流水表存歷史”要清晰得多因?yàn)闊o論是寫還是讀各自走一條最舒服的路徑。4. 常見問題與排坑實(shí)錄4.1 事件粒度到底該細(xì)到什么程度落地 REA 時(shí)最常被問的問題就是一個(gè)下單動(dòng)作到底要拆成幾個(gè)事件拆太細(xì)比如把“點(diǎn)擊下單”也記錄成事件系統(tǒng)會(huì)被海量無意義事件淹沒真正要追溯業(yè)務(wù)時(shí)反而找不著重點(diǎn)。拆太粗比如把 “下單支付發(fā)貨” 全部塞進(jìn)一個(gè)事件里那中間任何一步失敗這條事件到底算成功還是失敗就成了說不清的事。我習(xí)慣的粒度標(biāo)準(zhǔn)是只有“真正改變資源狀態(tài)”的動(dòng)作才值得記成事件。點(diǎn)擊下單本身不改變庫(kù)存和資金所以不用建事件但確認(rèn)支付會(huì)讓資金增加所以支付成功必須建事件出庫(kù)會(huì)讓庫(kù)存減少所以發(fā)貨出庫(kù)也必須獨(dú)立建事件。4.2 庫(kù)存可用數(shù)、在途數(shù)、預(yù)占數(shù)怎么處理REA 模型下的資源余額只代表“當(dāng)前時(shí)點(diǎn)的存量”但實(shí)際業(yè)務(wù)還經(jīng)常需要區(qū)分可用庫(kù)存、在途庫(kù)存、預(yù)占庫(kù)存。這些怎么辦我給出的解決方式是不同口徑建不同的資源賬戶而不是在一個(gè)資源余額表上硬加一堆狀態(tài)字段。比如同一件商品可以拆成“可用庫(kù)存”和“預(yù)占庫(kù)存”兩個(gè)資源賬戶。下單時(shí)從可用庫(kù)存扣減、轉(zhuǎn)入預(yù)占庫(kù)存發(fā)貨時(shí)再?gòu)念A(yù)占庫(kù)存扣減同時(shí)記一條出庫(kù)事件。這樣每個(gè)口徑的余額都是獨(dú)立的查數(shù)清清楚楚不會(huì)出現(xiàn)“可用數(shù)到底是負(fù)數(shù)還是預(yù)占沒扣掉”這種糊涂賬。4.3 金額、成本價(jià)要不要全部建模成資源資金和庫(kù)存是自古以來的對(duì)賬難題所以金額相關(guān)的東西最容易觸發(fā) REA 建模沖動(dòng)。但我實(shí)際做下來的體會(huì)是不是所有金額都要建模成獨(dú)立資源否則資源表會(huì)膨脹得讓你哭出來。一個(gè)務(wù)實(shí)的方案是事件明細(xì)上直接保存單價(jià)和金額字段只有“真正獨(dú)立的資金賬戶”才建模成資源。應(yīng)收應(yīng)付這種需要長(zhǎng)期跟蹤余額的賬戶值得用資源建模而單筆訂單里的商品銷售金額只要跟著事件明細(xì)記錄就足夠了。判斷邏輯依然是那條老標(biāo)準(zhǔn)這個(gè)金額需不需要回答“當(dāng)前還剩多少”如果不需要直接作為事件屬性保存就可以。4.4 老系統(tǒng)改造時(shí)歷史數(shù)據(jù)怎么遷移這是所有改造項(xiàng)目最頭疼的一環(huán)REA 也不例外。如果你試圖把過去三年的所有訂單全部分解成事件再重新入賬工作量會(huì)大到項(xiàng)目直接夭折。正確做法是區(qū)分處理對(duì)于改造時(shí)間點(diǎn)之前的歷史數(shù)據(jù)生成一條“期初初始化事件”直接把當(dāng)時(shí)的庫(kù)存余額、應(yīng)收應(yīng)付余額一次性寫入資源余額表作為起點(diǎn)快照對(duì)于改造時(shí)間點(diǎn)之后的增量數(shù)據(jù)嚴(yán)格按照事件驅(qū)動(dòng)方式入賬。這套“快照 增量”的策略既能保證歷史數(shù)據(jù)可追溯又能把遷移成本控制在一個(gè)可接受范圍內(nèi)。我實(shí)際落地時(shí)發(fā)現(xiàn)賬實(shí)相符的關(guān)鍵不在于歷史是否拆得足夠細(xì)而在于期初快照選取得準(zhǔn)不準(zhǔn)。4.5 排坑小貼士最后把我踩過幾次坑之后總結(jié)出來的幾條實(shí)操經(jīng)驗(yàn)寫在這里每一條都是血淚教訓(xùn)冪等鍵一定要做。REA 事件只追加不更新一旦重復(fù)提交庫(kù)存余額和資金余額就會(huì)被無辜多記一次。事件表里加上唯一 request_id冪等校驗(yàn)放在事務(wù)最前面能擋住絕大多數(shù)重復(fù)請(qǐng)求。時(shí)間字段全部用 UTC 存儲(chǔ)。業(yè)務(wù)顯示層再轉(zhuǎn)本地時(shí)區(qū)。如果數(shù)據(jù)庫(kù)混著本地時(shí)間和 UTC 存月底對(duì)賬時(shí)你會(huì)被時(shí)區(qū)問題折磨瘋掉。事件表和余額表的更新必須同一個(gè)事務(wù)。沒有例外。拆成兩個(gè)事務(wù)的話一定會(huì)遇到“事件記錄成功但余額更新失敗”的中間態(tài)。庫(kù)存扣減一定要鎖定余額行。不用悲觀鎖或者分布式鎖高并發(fā)下超賣就是一句話的事。定期跑一次對(duì)賬任務(wù)。讓系統(tǒng)每天晚上自動(dòng)把當(dāng)天所有事件流按資源維度匯總和余額表做一次比對(duì)。有差異就報(bào)警不要等到月底才發(fā)現(xiàn)問題。這套 REA 模型我后來也在別的業(yè)務(wù)模塊里試過包括積分賬戶、卡券核銷、渠道傭金結(jié)算基本思路完全通用。真正理解它的精髓之后你會(huì)發(fā)現(xiàn)所謂架構(gòu)設(shè)計(jì)很多時(shí)候不是代碼寫得有多炫而是把業(yè)務(wù)的因果關(guān)系在數(shù)據(jù)模型層面擺得足夠正、足夠穩(wěn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月婷婷成人网| 人妻中文在线| 丁香五月激情综合| 久热a| 5月丁香六月婷婷| 99爱在线视频观看| 五月天色影院| 99精品综合| 久草嫩草在线观看| 久久久精品视频79| 久久这里只有国产视频| 色99视频| 色婷婷在线视频观看| 色九九丁香九月色九九色| 秋霞成人毛片一级A片| 色狠狠五月天| 五月停停色| 九九香蕉网| 五月激情丁香五月宗合| 成人在线综合| 丁香久久在线| 99性视频| 五月天婷婷五月| 五月婷婷六月婷| 婷婷激情六月| 亚洲日本韩国| 精品成人久久久久久久_一二三四视| 久久精品国产色| 欧美va欧美va差| 亚洲精品亚洲人成人网| 色婷婷五月丁香色| 久久五月天合网| 五月婷婷丁香瑟瑟视频| 91久久久久久| 伊人久久大香线蕉av一区| 婷婷五月亚洲激情| 国产激情在线| 婷婷五月天成人视频| 九九九热精品| 六月婷婷狠狠做| 婷婷五月天社区| 97天堂| 婷婷五月开心六月AV| www.91久久| 五月天久久www| 婷婷综合视频| 天天久久婷婷| 亚洲色区17| 色综合中文色综合网| 丁香六月av| 思思热视频在线| 国产99久久久国产精品免费看| 欧亚中文A V| 国产亚洲色婷婷99精品| 综合色播| 九月婷婷综合色干| 婷婷五月天激情在线观看| 五月丁香六月色| 久99热| 69久久99精品久久久久| 五月丁香六月婷婷亚洲综合| 色色五月天婷婷| 国产亚洲99久久| 天天干天天干天天干天天干天天| 久久激情五月| 婷婷激情中文综合| 久久性视频| AV操一操| 深爱五月最新网址| 婷婷五月激情黄色| 天天摸夜夜爽天天做| 99操免费视频| 亚洲成Av人片乱码色第1集| 色月视频| 国产毛片精品一区二区色欲黄A片| 日本九九九九九九| 99热这里只有精品在线播放| 色婷婷8| 99久久久国产大片区| 99久久网站| 色www久视频| 色色日韩网| 久久综合中文| 色五婷婷开心缴| 色啪网| 91黄址| 韩国天天婷婷| 五月丁香综合网| 天天操夜夜夜拍拍拍| 5月丁香啪啪啪| 婷婷伊人75| 婷婷色av| 丁香五月天婷婷大香蕉| 丁香五月亚综合图片| 韩日另类| 久久婷婷五月综合色丁香| 久久婷婷五月天| 天天射影| 大香蕉人妻| 久久9精品| www.五月天激情| 日本黄色三级片内射| 五月丁香六月婷婷综合在线| 丁香婷婷激情| 在线五月色播| 免费视频在线观看的网站| 人人爽在线视频综合网| 亚洲乱码日产精品BD| 婷婷五月天成人五月天| 亚洲综合在线视频| sewuyuejiqingwang| 开心五月婷婷| 婷婷六月丁香色| 中文字幕网伦射乱中文| 久久婷婷五月草视频| 在线播放成人网站| yazhouzonghesese| 日本韩国视频在线观看社区免费的9| 79成人网| 草久私拍| 色九月婷婷综合| 丁香六月婷婷开心婷婷网| 天天做天天爱天天综合网| 丁香婷婷AV| 色色网站免费观看| 97男人天堂| 六月合五月婷| 婷婷五月电影| 丁香五月成人| 婷婷夜夜夜夜| 9久操| 人人爽欧美婷婷久久久五月丁香| 特级操b片| 97精品自拍视频| 国产成人AV在线播放| 激情婷婷五月天| 婷婷人人操| 天天色天天日天天舔| 97五月婷婷| 亭亭色网| WWW.桔色成人.COM入口| 色情成人五月天| 日日操日日撸| 婷婷放心五日爱| 九九热精品| 成人欧美日韩| 国产成人精品亚洲线观看| 狠狠干在线视频| www.99色在线| 中美日韩成人在线| 米奇激情婷婷| 久碰婷婷视频| 99精品网| 色五月婷婷丁香五月| 香蕉网久久| www超碰| 精品网站99| 国产精品天天狠天天看| 女人天堂AV| 我爱大香蕉| 丁香五月偷拍| 亚洲综合色丁香婷婷六月| 67194中文在线| 噜一噜在线| 婷婷五月电影院| 亚洲色色色| 五月丁香六月婷婷综合| 热九九精品| 中国丰满熟女A片免费观| 激情五月婷婷色播网| 91 九色 入口| 极品人妻VIDEOSSS人妻| 五月丁香色婷婷色| 99视频在线观看欧| 亚洲区视频| 久久人妻熟女一区二区| 久久3p| 色激情综合狠狠婷婷| 久99久视频精品| 九九视屏| 五月天艹天天| 97色婷| 五月成人丁香av91| 九九视频在线观看| 91婷婷五月天嫩女| 婷婷成人综合免费视频| 影音先锋 一区| 久热免费| 大香蕉欧美在线| 亚洲天堂亚洲色色色| www五月婷婷| 91九色无码日韩| 婷婷五月免费观看| 国产 亚洲 在线| 九九色婷婷五月天| 婷婷丁香五月天激情| 深爱婷婷色| 爆乳熟女一区二区三区爆乳| 久久久久久久久月丁| 欧美色九| 91精品综合久久久久久五月丁香 | 99免费在线| aaaaa黄色| 激情婷婷激情在线不卡| 五月婷婷综合网| 亚洲这里只有精品| 婷婷五月激情欧美大胆视频| 亚洲成人综合在线| 91丨九色丨老农村| 90色免费视频| EEUSS鲁片一区二区三区| 99啪啪网| 婷婷五月天激情文学| 五月婷婷亚洲天堂激情在线| 91婷色| 极品人妻VIDEOSSS人妻| 久热欧美| 精品人妻在线| 天天透天天爱| 成人精品99| 精品无码av丁香五月激情| 91在线视频综合| 91日在线视频| 丰满少妇猛烈A片免费看观看| 99ri精品视频在线观看| 狠狠干夜夜干| 五月永久激情| 人人爱天天摸摸天天爱| ay2区| 五月激情婷婷国产精品久久久久久| 色五月婷婷五月天| 99精品在这里| 激情综合亚洲| 色丁香五月天| 99九九99九九九视频精彩| 激情综合丁香五月| 丁香六月婷婷姐网| 色日本网| 亚洲色色香蕉| 综合在线丁香五月| 天天综合干| 五月天狠狠网站| 丁香五月婷婷高清| 九九色插| 91制片厂久久久国产电影| 99热9| 七七色色综合| 综合99视频| 色五月婷婷丁香五月| 深爱五月亚洲| 久久精品66| 激情五月天之六月婷婷| 婷婷五六日| 狠狠五月婷婷| 91在线观看九区| 日韩黄在免| 久久精品99国产精品日本| 伊人色综合网| 亚洲精品久久久久久久久久吃药 | 五月天激情啪啪| 色色色1网址| 日韩在线视频9色| 97在线观看| 欧美69久成人做爰视频| 午夜天堂一区人妻| 97超级啪啪在线观看| 欧美情色一区| 亚洲AV无码电影| 色偷偷AV亚洲男人的天堂| 亚洲色热| 婷婷啪啪| 天天爽天天摸天天爱| www.五月丁香av| 婷婷欧美色| 丁香五月色色色色| 日韩一66精品| 热99re| 天天操夜夜肏| 五月婷婷丁香网| 激情五月天伊人av| 精品99视频| 亚洲综合另类| 91婷婷搞| 九九热在线精品视频| 五月丁香久久综合| www.超碰| 第九色区AV在线| 精品婷婷丁香五| 色色97丁香婷婷五月天| 婷婷五月激情的图片| 97热这里精品在线视频| 丁香五月激情宗合| 久久成人综合五月天| 五月涩涩网| 精品,99| 婷婷九月丁香| 久久久婷| 日韩av手机在线观看| 国产av一区二区三区| 婷婷啪啪| 五月激情六月婷婷| 99精品视频偷拍| AV在线中文| 综合色五月| 婷婷久久综合| 久久婷婷五月综合色丁香花| www.com.色色| 五月综合亚洲色| 日日天天操| 亚洲欧州色情在线观看| 天天操婷婷| 五月综合视频| 狠狠狠狠草草| 欧美色色色色色| 国庆精品久久| 综合网视频| 激情床戏| 国产99久久久国产精品免费看| 丁香色色五月| 五月婷婷黄色| 人妻久久久久久久久妻久久久久久久久 | 久久久www| 九九av| 亚洲视频另类| 激情综合5| 欧洲亚洲最新精品| 色婷婷亚洲六月婷婷中文字幕| 狠狠人妻色综合| 久热这里| 中文字幕网站在线观看| 99热国产国产| 五月综亚洲| 天天操婷婷| 五月婷婷激情| 婷婷五月丁香色播| 日本在线免费中文com.| 色五月天本日| 婷婷五月色惰| 夜精品无码A片一区二区蜜桃| 婷婷五月天国产性感美女演员久久久久| 99伊人婷婷在线| 色婷婷视频| 激情五月天婷婷视频| 五月丁香综合中文| 九九九九操逼| 91操片| 婷婷五月开心中文字幕色| 丁香五月Av| 五月花婷婷| 国产人妻777人伦精品HD | 五月天社区| 色色亚洲无码| 91丨九色丨白浆秘| 成人免费超碰| 干亚洲天堂| 涩婷婷五月天| 人妻久久久| 91丨九色熟女丨首页| 七七九九色色| 亚洲六月婷婷| 欧美123区免| 伊人五月天日日夜夜久久久天天| 九九色色| 婷婷激情综合色五月久久91| 五月天开心成人网| 996热| 97操碰免费视频| 久久亚洲婷婷综合色五月| 激情五月天色婷婷综合| 五月天激情影院| 9久9久| 欧美噜噜久久久XXX| 综合五月婷婷| 丁香五月婷婷色综合| 成人电影一区| www.色婷婷.com| 久久久一级AAA| site:hcxsz888.com| 丁香五月婷婷在线| 精品亚洲国产成AV人片传媒| 99热网站| 天天狠狠干| 天天射影院| 超碰成人免费| 婷婷六月综合基地| 丁香六月激情国产| 嫩草国产| 婷婷综合五月天激情| 丁香大香蕉| av在线观看网址| 99丁香五月婷| 欧美色婷婷| 婷婷色在线视频| 婷婷五月丁香网| 99在线精品免费视频| 超碰在线91| 视频一二区| 激情五月婷婷色色| 色婷婷狠狠干芒果TV| 国产毛多水多女人A片| 国产一级片| 五月婷婷六月丁香| 五月丁香久久综合色| 天天干夜夜b| 欧洲色色| 亚洲va日| 色五月婷婷在线| 久久机热这里只有精品免费视频 | 国产精品久久久久久久久久免费| 激情综合自拍五月婷婷色五月| 国产精品色婷婷99久久精品| 亚洲欧洲中文日韩久久AV乱码| 天天操,夜夜骑| 一级黄色影片| 国产日韩av片| 五月丁香婷婷网在线在线| 欧美三级大片AA在线看| A久网| 六月婷婷八月丁香| 亚洲视频国产一区| 五月婷婷基地| 久久久免费图片视频| 综合五月草| 人妻久久久久久| www.婷婷六月天| 久9精品视频| 九九热99熟女| 变态另类9| 免费AV在线网址| 婷婷五月天国产| 超碰在线网站| 五月丁香人妻| 丁香激情综合| www,天天干| 性色综合网| 久久金品黃色| 操人精品| 欧美日朝成人| 黄色中文字目| www狠狠| 五月婷婷综合网| 久久婷婷五月草视频在线播放| 国产精品人成A片一区二区| 人人爽人人射-美女久久久久久久久久-成人AV| 色五月大香蕉| 五月婷深深爱激情网| 五月天婷a在线| 婷婷五月天香蕉| 99自拍视频在线| 丁香五月天天| 国产AV一区二区三区最新精品| 天天久久综合| 色婷婷精| 国产在线黄色| 99re思思在线视频| 久久久久久久久久久-久五月天婷婷| 丁香色情五月综合网站| 99热全是精品| 激情av在线| 99热综合| 日产精品一线二线三线芒果 | 久久狠狠干| 婷婷情色五月天| 国产成人综合网| 蜜桃人妻无码AV天堂三区| 婷婷操逼网| 内射在线CHINESE| 第四色五月激情网| 99国产在线精品视频| 精品国产va久久久| 99人人操| 色月丁| 精品久久久999| 成人五月天婷婷| 婷婷色情 | 欧美综合在线五月天色婷婷| 99热九九九九| 国产成人网站在线观看| 婷婷色五月综合丁香| 性爱激情五月| 丁香五月婷婷啪啪啪| 在线VA视频| www。五月,com| 午夜成人天堂久久无码日韩久久| 97啪啪| 九九热这里有精品23| 国精产品一区一区三区免费视频| 五月丁香成人视频| 精品五月丁香| 中文字幕黄色电影网址| 亚洲成av人影院| 五月天伊人网| 婷婷热婷婷色| 激情六月天婷婷| 无码日本精品XXXXXXXXX | 五月开心深深爱激情综合| 9 1超碰九色| 日韩人妻白浆视频系列| 五月天丁香综合久久国产| 婷婷久久五月| 久久九九99桃花视频| 亚洲另类电影| 婷婷另类小说| 99热这里只有精品69| 91九色欧美| av亚洲国产小电影| 成人五月天丁香| 五月天成人在线| 五月色婷婷中文字幕| 91日韩在线| 色播五月| 色五月色综合| 久久婷婷五月天激情四射| 亚洲精品久久久久久久久久飞鱼| 亭亭色网| dingxiangtingtingliuyue| 久久六月天| www.色五月| 色停停香蕉视频| 99久久精品视频女神1| 五月婷亚洲精品AV天堂| 大香伊人婷婷| 五月综合久久| 97人人做| 丁香五月婷中字幕| 99热热九九| 婷婷99狠狠躁天天躁中文| 丰满老熟妇BBBBB搡BBB| 五月丁香婷婷在线| 涩五月婷婷| 亚洲激情99| 丁香五月激情棕合| 婷婷五月综合网激情| www.夜夜騎夜夜狠| 欧美 日韩 成人在线| 99色色网| 五月丁香综合网| 综合久久五月| 亚洲在线激情婷婷五月| 四月婷婷五月丁香| 天天婬色综合| 日韩AV中文在线观看| 国产色网站| 五月亭亭六月天| 色婷丨日丨天丨综合久久| 亚洲中文字幕av| av操一操| 久久99三级在线视频| www.9操| 天天插天天射| 91九色精品熟女内射| 五月天六月婷婷| 五月丁香激情六月| 成人AV在线网站| 7777激情基地| a九九热www| 四射综合网| 亞洲自怕| 噼里啪啦完整版中文在线观看| 久操激情| 五月婷婷人人人操| 亚洲综合另类| 在线综合网| 五月婷在线色视频| 影音先锋激情网| 五月婷婷偷| 色色婷| 天天搡日日搡aaaaⅩ| 另类 在线| 超碰9在| 美女xx不卡| 1024在线视频| 2021日韩无码| Caop在线| 六月丁香六月婷婷欧美| 婷婷五月丁香五月| 国产精产国品一二三在观看| 婷婷丁香六月| 伊人久久婷婷| 婷婷丁香五月综合| 大地9中文在线观看免费高清| 五月丁香久人妻中文| 日韩av在线免费观看| 久婷首页| 久久综合无| 日本色99| 大香蕉啪啪网| 丁香婷婷五月激情综合| 综合久色五月| 99精品无码网站| 婷婷六月丁香在线| 99re在线观看视频| 人人操Av| 亚色网站小视频| 99久在线精品99re8| 啪啪一区| 激情四射网| 色99在线看| 超碰97色| 五月亭亭色| 97丁香五月| 久久狠婷婷| 婷婷五月激情的图片| 99 福利 导航| 综合色色综合| 大香蕉婷婷五月天| 色婷婷成人| 色色99色色| 婷婷丁香五月六月激情| 五月色情网| 色高清无码视频| 深爱五月最新网址| 久久丁香综合| 六月丁香中文字幕| 丁香五月香蕉| 日逼AV影音先锋男人资源站| 色综合久久88色综合天天| Www.se.久久| 羞羞嫩草视频| 色色综合激情| 99热只有精品在线播放| 日本成人噜噜噜噜噜| 丁香六月婷婷姐网| 色婷婷a| 色综合五月天| 99热超碰人| 日本丁香久在线| 青青草性爱视频| tingtingzonghewang| 五月婷婷中文字幕| 超碰猛烈的性猛交| 天天艹夜夜艹| 丁香av网| 91成人品| 五月丁香六月婷婷综合伊人| 五月婷婷六月丁香五月| 亚洲av日韩无码| 日日杆天天| 久久性爱网| 久久婷婷综合国产| WWW五月天| 丁香五月成人社区| 99热免费| 亚洲天堂九九九| 91九色精品熟女内射| 玖玖精品视频99| 色色色.COM| 亚洲欧美成人在线| 区欧美日韩成人| 91九色精品女同系列| www.伊人天堂偷偷婷婷| 天天天在线观看| 97五月天| 亚洲成片在线观看| 婷婷婷色五月| 五月综合色| 专区无日本视频高清8| 欧美在线视频9| 国外亚洲成AV人片在线观看| 亚洲一区二区 成人网站戴套| 久久婷婷色| 99成人小视频| 99热这里都是精品| www.com色播五月天| WWW.夜夜操.com| 99热精品无码| 成熟妇人A片免费看网站 | 国产免费av在线| 五月婷庭丁香在线| 九色PORNY自拍成人精彩视频| 女人被躁到高潮嗷嗷叫小| 国产精品国产| 五月婷婷视频ab| 日本久久性| 青草视频在线播放| 亚洲精品亚洲人成人网| 色六月天| 中文av网站| 婷婷黄色网| 日日日日做夜夜夜夜无码| 思思热再线视频| 五月天开心网| 人妻在线网站| 伊人婷婷青青cao| 丁香五月在线播放| 婷婷影院A成人| 另类视频在线| 丁香五月亚综合图片| 99热这里只有精品8| 噜噜操操| 亭亭五月色男人| 粉嫩AV久久一区二区三区| 一级精品999WWW| 在线1青婷| 色狠狠色噜噜AV天堂五区 | 夜夜夜夜夜操| 偷拍九九五月丁香婷婷| 天天看夜夜看| 丁香五月自拍| 欧美99热| 七七色色综合| 成人VAV视频在线观看| 99色在线观看| 99啪| 日韩在线观看亚洲| 欧美五月丁香| 丁香五月成人社区| 色综合天堂| 婷婷六月激情| 成人 AV播放| 99视频精品全部免费观看| 九九成人| 狼友视频在线观看18| 婷婷性色| 伊人婷婷色| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 日本99久久| 97影院一级片| av在线观看网址| 九洲一级A片| 99性爱视频网站| 婷婷五月丁香第四色超碰在线| 五月天色导航婷婷资源婷婷| 99精品一二三四视频| 人妻中文字幕网| 五月丁香欧美综合| 丁香五月天影院| 做爱夜夜干天天操| 亚洲av网站| 丁香五月婷婷亚洲综合精品| 99色| 狼人婷婷综合| 亚洲人妻电影| 九九热在线99| 9有码中文| 超级久久久| 亚艹艹| 北京熟妇搡BBBB搡BBBB| 丁香六月av| 在线看的免费网站| 毛片新网地| 极骚大香蕉伊人| 都市激情久久| 五月色网| 激情播丁香| 色狠狠综合| 人妻系列久久久久久久久久久| 这里只有精品免费视频| 99re这里只有精品9| 狠狠插狠狠插| 99色最新在线视频| 欧美搡BBBBB摔BBBBB| 亚洲婷婷六月天| 丁香性爱在线视频| 十月丁香九月婷婷综合| 婷婷丁香www视频日本韩国| 婷婷六月五月天综合| 色播色丁香五月| www.色婷婷.com| 亚洲AV无码电影| 5月婷婷6月六月丁香| 激情丁香五月综合| 久9视频免费播放| 91在线日| 丁香美女五月天婷婷| 91人操| 色色色99| 97色干| 国产精产国品一二三在观看| 青青草日本亚洲| 青青久久五月| 五月激情六月丁香| 久久色情| 97精品人人A片免费看| 五月婷成人网| 婷婷福利影院| 黄色AAAAA| 色丁香五月| 丁香五月伊人| 丁香五月色五月婷婷宗合| 99精品性爱| 日日干干天天干| ww超碰在线| 五月丁香六月婷| 色婷婷五月色| 婷婷五月色播放| 全国最新疫情| www.AV在线| 秋霞性爱AV| 五月夜丁香| 五月丁香六月片| 五月丁香婷婷AV| 色五月婷婷自拍| 五月丁香综合在线| 五月婷婷激清网| 波多野结衣不卡AV| 另类视在线| 五月丁香花激情综合网| 成人精品在线| 久久婷婷综合五月趴| 久久亚洲天堂| 99热最新网址| 97色色色色色| 色综合久久久久| 婷婷丁香色五月天| 亚洲bt丁香五月天婷婷激情小说| 女操碰| 日本精品人妻无码77777| 五月天激情小说欧美激情| 成人在线视频一区| 狠狠色综合网站久久久久| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 婷久看人爽| 岛国资源站| 五月丁香999| 亚洲综合五月天综合| 色综合视频| 夜夜爽77777妓女免费下载| 俺去也在线www色官网| 免费黄色AV| 日韩一本操| 久热2025无码| 国产肏屄大片| 国产人妻777人伦精品HD| 亚洲婷婷五月| 九九热这里只有精品9| 九九热这里只有精品9| 亚洲午夜视频| 永久地址 色| 99热只有精品综合| 色婷婷成人做爰A片免费看网站| 丁香五月六月综合激情| WWW五月天| 99在线精品视频| 国产99久久久国产精品免费看 | 丁香五月婷婷六月婷| 色婷婷五月天偷拍| 天堂伊人干| 丁香五月婷久久| 亚洲色情免费网| 婷婷五月色图| 九九XX视频| 丁香 亚洲 久久| 蜜臀A∨在线水帘洞| 黄久久久| 亚洲欧洲美女在线观| 99性爱| 丁香5月啪啪| 五月丁香九九| 涩丁香| 色欲婷婷五月天| 色婷婷五月天天天干天天操天天爽| 成人欧美日韩| 婷婷五月丁香99| 久久综合爱| 久色五月丁香视频| 激情综合五月色丁香婷婷| 婷婷六月色开| 久爱综合| 丁香久久| 色九月婷婷丁香| 婷婷深爱色五月| 五月天无码| 亚州综合色| 91操黄| 免费观看欧美成人AA片爱我多深| 五月情丁香色| 久久综合干| 激情婷婷五月社区| 538在线精品| 五月天大香蕉| 五月天另类视频| 激情五月丁香激情综合网| 亚洲成人九九九| 色婷婷精品视频在线播放| 97色色网| 五月丁香六月天| www.婷婷六月天| 九九热这里只有精品首页| 综合视频久久| 五月婷婷,狠狠操| a片在线免费观看一区| 丁香五月激情五月| 99热老网站| 色欲久久久久久综合网综合网| 国产综合网在线| 五月丁香色情| 天天久久狠狠色综合| 99热个人在线| 色婷五月天| site:pnnrt.com| 色偷偷综合| 色 色 色综合com| 色99综合视频| 天天干天天操天天上| 五月婷婷亚洲综合网| 久久成人性爱| 热的国产,热的综合,热的有码| 亚洲艹网| 五月天综合缴情网网站0| 激情婷婷五月久久| 丁香五月网站| AV在线观看网站| 日韩一级A片黄色| 九九99九九精品视频| 男同91| 99国产精品久久久久久久久久久| 怡红院一二三| 五月天成人小说| 视色综合| 深爱激清网| 99这里只有精品|v| 婷婷5月开心6月| 亚洲爱爱无码婷婷色五月| 中文字幕,综合,91| 婷婷中文字暮| 婷婷六月激情综合| 日日夜夜干| 少妇被下春药玩弄A片| 午夜精品久久久久久久爽| 色五月首页| 人人爱国产| 99爱爱| 亚洲五月婷婷| 色五月人妻| 久久九九@| 色婷婷电影网| 亚洲av成人在线| 九九热最新地址| 91综合国免费久入| 欧美五月婷婷| 婷婷爱五月天人人爱| 久久99久久99精品免视看婷婷| 色9999日韩国产| w婷婷五月婷婷w| 色婷婷影院| 五月丁香婷婷AV天堂| 青青草六月丁香| 激情小说婷婷五月| 欧美性爱一区| 婷婷深爱五月| 日韩少妇内射免费播放| 精品五月花| 中文字幕久久婷九女同| 激情五月婷婷视频一区二区三区| 99日视频在线| 91男人资源站| 九九热在线视频观看免费10| 久久电影4399| 五月开心婷婷中文字幕| 亚洲性爱99在线| 中文字幕乱轮| 99九九精品视频| 激情五月天视频| 婷婷五月天成人| 欧美黄色一级| 五月天婷婷Av| 99黄色在线视频精品熟女| 4399亚洲视频| 激情婷婷五月天伊人在线观看| 丁香五月婷婷动漫视频| 五月婷婷精品视频| 色情五月停停丁香| 97AV在线视频| 天天日天天摸| 久久久全国免费视频| 操逼巨乳91| 蜜乳9188| 日韩精品二三区| 激情五月婷婷| 久久五月综合| www狠狠爱com| 91热视频色网站| 午夜理论片最新午夜理论剧| 美女100%露全身无挡网站| 激情六月综合| 天天爽天天| 男女99免费视频| 性做爰1一7伦| 亚洲超级碰| wwW天天干| 五月天婷婷影院影院观看| 五月丁香狠狠爱| 色色亚洲| 色狠狠综合入口| 99综合| 这里只有精品免费视频在线观看| 久久性操| 狠狠色丁香乆乆| 人人操插| 五月天开心色情网| 超碰爱爱爱| 性一交一乱一交A片久久四色| 十二区无码| 久久婷婷青草五月天| 亚洲综合婷婷| 色婷婷丁香五月综合| 91久久婷婷| 色99xx| 天天做天天爱天天摸| 99热6精品| 亚洲综合色网| 综合久久伊人| 五月丁香六月激情综合啪啪| 国产日韩欧美性爱| 色噜噜狠狠色综无码久久合欧美| 超级碰91| 激情五月天啪啪| 九九综合色综合| 欧美在线视频99| 99热线观看9| a69在线视频| 丁香婷婷色色| 五月天丁香婷婷久久九| 久久XX| 婷婷六月丁香五月| 国产精产国品一二三在观看| 丁香五月婷婷激情网| 色深爱五月| 国产特级毛片AAAAAAA高清| 六月丁香婷婷综合影院| 天天成人综合| 日韩九区| 四川操逼站| 热久久这里只有精品20| 综合婷婷| 强辱丰满人妻HD中文字幕| 武则天精品久久| 99这里只有| 熟女少妇内射日韩亚洲| 色吧五月婷婷| 99热 在线观看| 一起草Av| 五月天婷婷激情六月久久| 色播播婷婷| 五月天婷婷丁香蜜桃91| 狠狠爱婷婷爱| 91操在线| 狠狠色精品综合| 亚洲五月天激情| 妇激情基地| 99热99美国在线观看| 微拍92| 久久婷婷欧美| www.激情| 黄色五月婷婷| 人人摸人人干| 禁片二区| 操操操操操电影网| 拍真实国产伦偷精品| 婷婷色综合| 97色女人在线| 久久人五月| 五月天俺去也| 九久久婷婷| 五月丁香综合啪啪| www.99久久久| 婷婷成人AV| 婷婷噜噜| 韩国不卡AC视频| 九九九成人在线视频| 丁香五月天堂网| 天天插天天狠| 婷婷五月激情综合| 日本啪啪网| 久99久99精品免| 99久久五月天| 婷婷婷婷婷开心无码播放| 人五月天婷婷喷水| 亚洲六月婷| 狠狠插狠狠插| 91日韩在线| 亚洲人成色A777777在线观看| 热九九九九| 99热手机在线精品| 婷婷婷五月香蕉| 久久婷婷五月天激情| 亚洲国产精品VA在线看黑人 | 欧美噜噜噜草| 色一情一乱一乱一区91| 91精选国| 色色丁香激情五月| 日本婷婷激情四射中文字幕在线观看| 亚洲婷婷六月天| 在线看九一V图片| 色五月激情基地| 羞羞嫩草视频| 97在线/亚洲| 99在线热| 97人人射| 久久98| www.99色| 久久人人看| 色色婷婷五月天| 激情综合九月| 99人人干人人| 婷婷综合精品| 久久综合综合综合| 九九在线精点品| 久久综合综合综合| 色五月丁香婷婷| Caop在线| 网色99| 激情宗合哪里能看| 狠狠综合网| 人妻肉射免费观看| 日韩av免费版| av在线超清中文| 成功精品影院| 五月丁香婷婷综合激情基地| 我淫我色婷婷五月天激情四射| 深爱激情网综合| 777久久久| 色久女| www.天天干| 9有码中文| 激情图片婷婷| jiujiu热在线视频| 黄桃AV无码免费一区二区三区| 97色伦另类图片小说视频| 99久久欧美| 色导航色婷婷五月天在线观看| 国产肏屄大片| 日本色色色| 六月婷婷狠狠| 国内9l视频自拍老熟女九色| 久久视频这里有精品99| 1999天天操夜夜操| 激情五月天在线视频| 五月婷高清视频| 丁香九月激情在线视频| 激情五月天影院| 五月丁香色婷基地综合久久| 婷婷99狠狠躁天天躁| 婷婷另类开心| 七七久久综合| 大香蕉九操| 五月天婷婷色播综合在线| 久久久久视剧HD| 51XX午夜影福利| 全国最新疫情| 人人操9| 久久92| 青草网在线观看| 激情婷婷丁香| 在线观看av网站| 99热欧美| 99青青草99| 香蕉国产2013| 天天上天天爽| 五月丁香偷拍| 亭亭玉月丁香| 久热久色| 五月综合激情网| 午夜激情综合| 精品99爱免费视频在线观看| 丁香婷婷五月激情四射网| 亚州操操| 亚洲激情五月丁香久久久久| 国产婷婷综合| 激情五月婷婷| 天天干天天做| 狠狠 婷婷| 丁香五月激情月| 无码日本精品XXXXXXXXX | 丁香五月手机在线| 婷婷丁香五月天色播网站| 涩玖玖免费视频| 日本天天色| 亚洲综合激情五月| 婷婷丁香69精华| 91九色在线观看免费| 亚洲AV色婷婷人禽五月天| 久热久| 丁香五月综合激情久久潮喷| 亚洲热综合| 国产精品色婷婷AV综合色色| 天天色天天搡| 丁香六月天婷婷| 婷婷九月综合| 天天爱天天做天天爽| 激情五月综合网最新| 99在线视频观看| 亚洲1区| 色色网站免费| 日韩99色| 热996精品在线观看| 91精品91久久久中77777| 超碰在线综合| 伊人丁香花综合影院| 亚洲99综合| 江苏少妇性BBB搡BBB爽爽爽| 国产成人+综合亚洲+天堂| 婷婷六月五月天综合| 日本熟女视频一区二区| 欧美激情中文字幕| 激情婷婷丁香| 色五月开心五月激情五月| 五月婷婷激情久久| 激情 婷婷 插| 九九色热| 91pornav在线| 天天日天天久久青青| 91精品久久久久久77777| 成人免费va| 五月激情开心婷婷| 国产亚洲在线观看| 婷婷五月天丁香久久| 深爱激情综合| 色综合久久伊伊婷婷五月| 色啪影院| 91婷婷五月丁香碰| 综合色图婷婷| 色情五月丁香| 久久爱婷婷| 精品色色网| 精热在线综合网| 91青娱乐青青草| 色五月色综合| av中文在线| 99热免| 婷婷丁香18| SS丁香五月婷婷| 亚洲综合网激情小说| 九九re视频在线视频| 久久免费少妇高潮99精品| 色五月大香蕉| 亚洲午夜av| 超碰在线超碰| 色五月综合婷婷| 色婷婷丁香五月天在线视频 | 99热在线观看| 色情综合网| 99噜噜| 狠狠爱五月婷婷| 五月天激情婷婷丁香| 这里只精品| 婷婷五月丁香五月丁香| 久久新地址| 人伦30P| 超级碰碰碰碰视频| 亚洲无码免费看| www。五月,com| 91色呦哟| 99热国品| 国产真实乱了老女人视频| 色婷婷在线视频| 91九色网| 内射综合网| 久9免费视频| 久久久免费精彩视频| 五月色天情| 久久久久人妻中文| 初夜av| 五月色导航| 开心五激情网| 婷婷五月深深的爱| 五月丁香六月婷婷啪啪综合| 蜜臀AV在线成人| 五月丁香花激情综合网| 婷婷爱五月| 亚洲色夜| 97在线干| 婷婷丁香五月天影院| 色婷婷五月综合色婷婷| 欧美偷偷操|