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片免费看软件| 亚洲精品又粗又大又爽A片| 一级操逼内射在线视频| 色婷婷激情| 五月丁香色色| 影音先锋 91工厂| 欧美97超碰| 激情丁香五月天图片| 婷婷综合偷拍| 性欧美大战久久久久久久83| 婷婷的色色五月天| 天天爱天天日| 欧美性交一区二区三区| 婷婷五月综合社区在线| 色五月首页| 久久婷婷成人视频| 色色丁香五月| 久久久久久久久久久-久五月天婷婷| 久久爱综合| 婷婷王月天影院| 日韩久热| 69精品无码一区二区三区| 欧美在线操| 久久99热这里只有| 亚洲精品成人片在线播| 熟女人妻视频| www.minyis.com【JT】实力收量可预付QQ2101460746 | 99九九在线精品热动漫| 色玖玖玖| 亚洲性爱电影| 丁香六月成人网| 国产精品18久久久| 国产伦亲子伦亲子视频观看| 美国少妇性做爰| 97色色色| 99啪啪网| 五月花激情| 五月婷婷综合激情| 婷婷五月丁香91| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 婷婷综合另类小说| 亚洲另类电影| 色丁香五月| 免费看欧美成人A片无码| 五月婷六月| 日韩精品二三区| 色婷婷五月天堂资源| 金品在线视频99| a级毛片一区二区免费视频| 国产毛片精品一区二区色欲黄A片| 色五月综合| 婷婷五月天激情在线观看| 国产亚洲成AV人片在线| 久久99草五月婷婷| 99久久99综合| Caoub青青超碰| 成人视频网| 99精品热视频| 可以免费观看的av| 亚洲综合五月天婷婷| 午夜激情综合| 婷婷五月天小说| 天天操天天干天天日| www.五月.com| 婷婷淫淫狠狠六月| WWW,五月| av网址在线| 五月婷婷开心丁香| 日本成人噜噜| 丁香久久| 激情av| 超碰99久久| 99九九99九九九视频精彩| 五月婷婷色综图片| 97超碰综合| 色偷偷五月天| 婷婷色综合| 久久免片| 亚洲精品白浆高清久久久久久 | 青青草婷婷综合五月| 五月天激情综合网站| 五月丁香综合网色欲| 天堂A∨在线| 免费播放片大片| 色综合av超碰| 天天摸,天天爽| 综合激情五月丁香9999久久精| 色色色视频免费无码| 深爱激情中文五月天av| 天天噜天天爱| 亚洲欧美丁香五月天亚洲欧美| 亚洲有码在线视频| 亚洲xx网| 综合亚洲六月婷婷在线| 丁香婷婷六月天| 五月丁香婷婷综合激情基地| 五月天婷婷AV| 一区二区无码视频| 亚洲久久日| 婷婷五月综合婷婷| 深爱五月日韩| 国产亚洲99久久精品| 国产99久久久国产精品免费看| 婷综合六月| 操B五月天| 天天射美女| 五月婷婷 六月丁香| 色大综合| 久久狠狠干| 成人无码精品1区2区3区免费看| 狠狠精品干练久久久无码中文字幕| 玖玖@三月天天丁香婷婷| 久久久99视频| www夜夜操| 久青操| 五月丁香五月综合欧美| 超碰只有精品在线| 精品99在线| 天天噪夜夜爽| 久色| 五月天开心网| 婷婷五月丁香性爱| 伊人干练久| 9精品在线| 欧美69久成人做爰视频| 色狠狠999综合网| 五月天激情小说欧美激情| 天天射影院| av线电影| 99热在线只有精品| 久99久视频精选| www.狠狠操.con| 久热 91| 色情网综合| site:901-07.com| 九九热精品视频| 丁香激情五月| 婷婷丁香九月| 婷婷婷婷婷婷婷五月丁香| 久久98| 玖玖婷婷五月天毛片| 色五月xxx| 少妇搡BBBB搡BBB搡毛茸茸 | 狠狠爱成人综合网| 天堂AV三级| 一区视频网站| 欧美日韩aaa| 丁香五月熟女| 亚洲五月天综合| 超碰久热| 色综合中文色综合网| 婷婷丁香色五月| 色五月丁香婷婷| 色综合中文色综合网| 色播五月| 国产肏屄大片| 五月丁香啪啪啪综合网| 国产激情综合五月久久| 26uuu丁香婷婷五月| 成人综合网站| 亚州日本欧州韩美高青高潮一| 久久草大香蕉| 无码激情精品色婷婷久久久久| 婷婷久久丁香五月| 丁香婷婷性爱| 综合久久久| 东北黄色一级| 九九久久99精品免费观看www| 久七香蕉| 97综合在线| 91丨九色丨白浆秘| 色色亚洲视频| 精品九九视频| 91九色成人原创视频| 色丁香六月| 丁香五月激情五月色综合| 先锋av性爱成人电影| 深爱五月日韩| 日韩 mm 不卡| 91九色视频| 色婷婷欧美| 九九色精品| 久草婷婷| 综合久久五| 这里只有精彩亚洲视频推荐| 天堂综合久| 日本爆乳片手机在线播放| 大香蕉久久婷婷精品综合| 丁香婷婷色五月天| 无码激情AAAAA片-区区| www99热| 99 福利 导航| 激情综合网五月婷婷| 色婷婷五月影视| 狠狠操狠狠操| 99热在线免费| 激情五月丁香五月| 久久婷婷五月天大香蕉| 五月天婷综合| 五月激情婷婷六月丁香| 一级性爱大片| 五月丁香久久| 99热这里只有精品青草| 久热只有这里有精品| 午夜性做爰电影| 久9热在线免费观看| 天天做夜夜爽| 另类激情码| 色色99| 婷婷综合| 丁香五月婷婷高清| 久久婷婷内射| 激情综合婷婷| 久久资源网五月婷| 六月色婷婷| 亚洲综合激情五月| 成人五月天婷婷| 久久久91精品| 日本一级一片免费视频| 五月丁香伊人网| 伊人久热91| 激情五月天影院| 欧美性色五月天| 婷婷9月天| 亚洲综合草草| 这里只有精品视频一区| 欧美乱码国产一级A片| 六月激情婷婷| 五月天综合在线观看视频| 久久免费精品小视频| 九九热视频精品999| 激情久久肏屄视频| 激情综合色播| 亚州视频九九99| 99久久9| 激情五月综亚网| 国产操逼网站| 丁香婷婷欧美综合| 91欧美| 久久96热| 婷婷六月综合在线| 色综天天综合| 久热亚洲| 婷婷性爱综合| 大香蕉在线99热| 狠狠操狠狠插| 色婷婷www| 情婷婷五月天| 伊人狠狠狠综合| 国产老熟妇亲子乱对白| 久久婷婷亚洲无码一起| 丁香六月婷婷激情| 婷婷影视久久| 人人色人人弄人人操| 99热99色| 亚洲av免费在线| 激情深爱五月| 丁香五月色欲| 五月婷婷久草在线视频综合| 99re26视频| 色婷视频| 97人人射| 女性自慰系列第五页| 在线五月婷| 久操婷婷| 久热久| 99ri精品在线| 强奸幻女毛片| 五月丁香婷婷激情爱爱| 老司机视频lsj爱就色| 久9热| 九九久久精品| 婷婷五月色惰| 亚洲色婷婷五月天| 99热线观看9| 人人草碰| 日韩淑女人妻luan伦激情精品一区二| 久久五月婷婷视频| 5月婷婷激情网| 9999热精品在线免费播放| 成人在线网| 婷婷五月综合久久中文字幕| 99热自拍| 99精品视频在线6| 婷婷啪啪| 99久久这里只有精品免费官网| 色五月婷婷伊人| 5Www色5夜| 综合久久五| 午夜伊人大香蕉| 日逼AV影音先锋男人资源站| 亚洲第一成人AV| AV在线不卡播放| 五月婷婷啪啪啪啪| 婷婷爱五月| 精品人妻一区| 国产成人AV| 麻豆AV一区二区三区| 八戒青柠影视剧在线观看| 色播综合| 久久桃花网色婷婷| 99热热热国产超碰| 99热色无码| www色婷婷久久综合久色| 日本狠狠爽| 熟女五月天久久综合| 丁香五月天欧美| 视色综合| 欧美天堂久久| 五月天激情网站| 久久久99精品免费观看| 激情五月天色色色| 91 九色 熟女| 丁香五月成人在线| 超碰三级片| 中文av网| 日本婷婷色| 99视频91| 婷婷丁香视频在线观看免费| 色噜噜婷婷| 久久婷婷五月| 婷婷五月天丁香花| 婷婷五月激情综合啪啪| 欧亚洲在线高清视频| 婷婷五月免费观看| 99爱视频| 中文字幕无码人妻少妇免费视频| 亚洲欧洲一二| sS丁香五月婷婷| 思思热热久久| 中文字幕在线免费| 性 色 婷婷| 99爱最新免费视频在线观看| 黄网在线观看免费| 无码少妇高潮喷水A片免费| 五月婷婷激情在线| 丁香六月开心| 色播激情五月天| 97干欧美| 色九月丁香婷婷蜜桃在线观看| 久久加勒比| 色婷婷婷av| 九九亚洲视频| 激情开心五月天| www.九九婷婷| 五月天伊人日日噜影片AV| 直接看的AV| 色色99| 五月婷视频| 一起草无码| 激情综合网婷婷久久| 99久在线精品99re8热| 日韩色色视频| 91久久久久久久91| site:feetmall.com| 婷婷五月情| 综合色、色综合| 在线观看免费狠狠色丁香香综合 | 天天影视天天爽天天草| 色狠狠色噜噜AV天堂五区| 欧美色图天堂网色| 人人舔人人| 丁香五月性| 97碰碰在线观看视频| 插插干干干色| 国产日韩欧美性爱| 五月丁香六月激情综合| 情久久综合五月天| 五月婷婷影视| 99热久只有| 久久久大香蕉| 91好好热日本在线| 天天日,天天插| 强壮公让我夜夜高潮A片视频| 天天干天天干天天干天天干天| 国产乱人偷精品人妻A片| 亚洲天堂爱爱| 婷婷五月丁香色综合| 五月丁小婷婷激情四射| 五月婷婷 六月丁香| 99啪啪视频| 亚洲精品久久久久AV无码| 九九热re99re6在线精品| 久久这里只有国产视频| 国产成人精品一区二区三区视频| 久久视这里只有精品| 丁香六月婷婷色播| 欧美在线视频9| 婷婷伊人久久综合| 激情综合视频| 激情五月婷在线精品| 婷婷六月天| 爱射综合| 99久热| 1区2区视频| 激情婷婷五月基地| 熟妇国产| 成人五月天视频| 婷婷影视久久| 亚洲aV写真天天综合网久久| 国产女18毛片多18精品| 丁香六月婷婷综合啪啪| 五月婷婷丁香综合,亚洲天堂| 26uuu91| 亚洲熟妇AV乱码在线观看| av婷婷丁香 六月| 99免费热视频在线| 五月天婷亚洲天综合网综合| 五月婷婷综合网| 只有精品在线观看| 亚洲精品久久久久久久久久吃药| 人妻熟女一区二区AV| 九九sese| 婷婷香蕉精品| 九九99视频| 日美三级| 国产无人区大片| 99色在线观看视频| 久久人人九九| 天天做天天爱天天爽夜夜揉| 日日做A爰片久久毛片A片英语| 五月天激情网图片 - 百度| 国产精品扒开腿做爽爽爽A片唱戏| 天天日人人| 少妇性BBB搡BBB爽爽爽视頻| 五月婷婷开心丁香| 日本WWW九九九| 欧美婷婷丁香五月社区| 五月丁香六月婷婷,婷| 丁香六月婷婷| 日日夜夜综合| 久热91精品| 丁香色色网| 色婷婷五月天亚洲| 成人国产网| 色狠狠婷婷| 婷婷成人AV| 狠狠色色| 噜噜噜噜噜色| 91热99| 五月天婷婷激情| 人人添人人| 久久女人九九| 六月丁香啪啪| 99热视精品| 五月天婷综合| 人妻久久久| 9婷婷内射| 人人操插| 五月久久亚洲| 国产成人高清| 99re在线播放| 国产精品色婷婷久久久精品| 激情婷婷综合| 91人碰| 99免费| 五月丁香狠狠地噜噜噜噜| 中文字幕天天干| 亚洲情欲| 欧美成人A片AAA片在线播放| 快乐激情五月色婷婷| 久久99最新地址| 精品99视频| 六月丁香视频网站| 99伊人婷婷在线| 婷婷天天色| 蜜桃五月天色| 亚洲a片免费观看| 色综合久久44| 深爱激情六月| 天天日日人| Y11111111111少妇电影院| www婷婷| 色五月婷激情| 亚洲色精彩| 欧美成综合在线观看| 婷婷社区五月天| 99精品大片| 久久综合网免费视频| 免费操超碰| 人妻体体内射精一区二区| 婷婷久久丁香| 99热九九在线| 亚洲国产精品成人免费一区久久久在线观看AAAA | 激情五月天丁香| 久久激情五月| 色婷婷五月天不卡| 天天肏天天插| 激情宗合哪里能看| 8区视频在线| 一本婷婷丁香久久| 在线理论片| 91操熟女| 91日视频| 99热这里只有精品青草| 激情网婷婷婷| 五月丁香婷中文字幕| 九九热这里只有精品7| 超碰在线观看caop| 国产免费一区二区三州老师F1……| 九九热视频精品| 日日夜夜狠狠| 人人草开心五月天| 色播五月丁香| 精品草原久久视频| 精品少妇蜜臀91| 欧日美女Va| 欧美在线看| 综合网狠狠| 沈娜娜av| 四虎99热在线观看网站| 黄色片久久| 六月丁香网| 婷婷五月激情图片| 天天天天干| 五月婷婷丁香| 婷婷伊人中文字幕| 九九热黄色| 婷婷狠狠18禁久久| 欧美性猛交99久久久99| 色五月天丁香婷婷| 天天搡日日搡aaaaⅩ| 综合XX网| 亚洲碰碰碰| 久久久久久人妻| 日日综合网| 狠狠色噜噜色狠狠狠综合久久成人波 | 欧美久久五月婷婷| 婷婷五月天伦理| 深爱五月综合网| 99噜噜噜在线播放| 五月社区婷婷激情| 激情综合色婷婷啪啪六月天| 99日韩网站| 开心婷婷五月中文字幕组| 五月婷久久在线| 天天影视色综合网| 丁香五月激情五月开心五月| 综合激情视频| 色五月天激情| 色999亚洲人成色| 五月人人丁香婷婷五月人人丁香| 五月婷婷就去色| 色婷婷丁香五月在线| 婷婷五月天AV激情| 丁香五月在线观看完整版| 天天摸夜夜夜| 天天干天天拍| 99精品热| 丁香五月天大香蕉啪啪| 日韩 mm 不卡| 97人人干人人操| 婷婷丁香六月综合激情站| 丁香五月六月久久综合| 欧美毛片www| 大陆肏屄视频| WWW免费视频碰碰碰碰| 色玖玖综合网| 国产精品18久久久| 奇米影视在线视频| 欧美三级欧美一级| 天天爱天天做天天舔| 亚洲色欲AAAAAA| 99国产这里只有精品| 久操97| 五月婷婷中文| 婷婷色五月91啪啪| 色婷婷a| 色综合夜夜| 天天艹夜夜爽| 激情网婷婷五月天| 婷婷五月激情中文字幕| 丁香五月色激情| 97婷婷丁香| 九九这里只这里只有精品| 丁香五月综合亚洲| 婷婷人人操| www.色五月| 综久久久| 无码地址| 亚洲操b| 99爱爱| 专区无日本视频高清8| 夜夜AVV| 99久视频| 99热精品在线播放| 看片视频在线免费日产在线看| 99视频| 亚洲色啪| 激情性爱五月天网页| 国产亚洲网站在线| 欧美综合在线五月天色婷婷| 久热欧美| 一起草日本| 天天弄天天爽| 色色com| 丰满人妻一区二区三区| 色婷婷久久综| 99久久er| 91久久久久久| 九九精品热播| 国产一二三四五六七八视频| 五月婷婷激情五月| 丁香五月777| 五月婷婷丁香大陆免费| 97综合在线| 一区操| 亚洲激情淫网| 另类专区在线| 996热re视频在线观看视频| WWW色综合| 超碰99资源站| 五月天婷婷激情四射综合| WWW.五月天9999| 久久久婷婷五月亚洲97号色| 中文字幕成人日韩| AV国产有码| 99操视频| 91狠狠色丁香婷婷综合久久| 婷婷色啪| 九九99男女视频在线观看| 午夜精品777| 天天干天天干天天干天天干天| 六月婷在线| 五月激情丁香| 婷婷五月丁香综合亚洲| 月婷婷亚洲| 天天色综网| 五月天天堂久久| 99在线精品在线视频| 九九操屄| 插插插色综合网| 色色色综合网| 超碰AV在线| 99热99精品| 激情婷婷五月少妇| 久久538| 五月天狠狠色| 热婷婷久| 99热在线成人网站| 婷婷伊人綜合中文| 婷婷色av| 丁香婷婷五月激情四射网| 丁香五月天欧美| 欧洲MV日韩MV国产| 婷婷激情欧美| 五月婷婷香蕉| 欧美草久久五月天91| 九九九九九九九九九九九九九九九九九九九在线视频 | 综合激情站| 九九伦子片| 丁香婷在线| 黄色AAAA韩国guochansanji| 天堂草在线观看| 五月刺激丁香月综合| 婷婷综合爱| 微拍92| 五月开心色| 精品导航在线x不卡| 五月天桃色深爱网| 国产激情在线| 超碰在线91| 婷婷丁香社区网| 可以看的av| 国产精品久久在线观看技巧| 99国产精品白浆在线观看免费| 亚洲丁香五月天在线视频| 成人综合网站| 性天天中文网| 久久人五月| 91人操| 婷婷五月天AV| 99国产精品久久久久久久久久久| 五月丁花色综合网| 久久五月热| AA丁香综合激情| 一区视频网站| 色情综合网| 色婷婷六月开心中文字| 欧美色偷偷大香| 久99热在线观看| 91天天操天天干天天射| 欧美黑人巨大性生话| 在线亚洲综合网| 99爱视频在线| 欧美黑人大吊| 婷婷D区| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 97人妻碰碰碰久久香蕉| 99热精品在线观看| 丁香六月色婷婷| 粉嫩av懂色av蜜臀av熟妇| 狠狠色丁香| 中文字幕婷婷五月天在线观看| 久久五月天网| 亚洲午夜AV| 日日操天天| 一起草Av| yazhoujiqingav| h在线看免费版在线看| 天天色月| 99久久高清视频| 五月天综合色| 午夜做爱影院| 久久免费精品小视频| 人人妖人人97| 日本99热| 激情内射p| 九九热这里有精品视频| 99热官网精品在线| 丁香婷婷久久| 婷婷五月天天天| 狠狠干天天内射| 丁香五月婷婷天堂大香蕉| 亚洲精品色| 夜夜谢天天干| 色五月婷婷大| 综合久久婷婷| 超碰色人妾| 国产欧美性成人精品午夜| 五月婷婷九| 黄色短视频在线观看| 日韩色色视频| 五月婷婷草| 色婷婷九月综合| 亚洲综合九九| 激情五月婷婷啪啪| 丁香五月综合在线观看| 综合色久| 五月停停色| 67194中文在线| 六月激情婷婷| 操逼视频一区| 丁香六月成人| 色五月婷婷DVD| 五月婷婷丁香啪啪| 综合久久9| 伊人丁香五月婷婷潮吹| 国产黄大片在线观看画质优化 | 碰碰人人漕| 男人大jjc女人免费视频| 久久综合五月| 婷婷99中文字幕| 久久ab| 亚洲 在线 性爱| 操操操www.com| 99热国产精品| 九九色播五月丁香| 伊人久久大香| 婷婷六久久| 色综合久久之分久久| 六月丁丁香| 丁香五月婷婷啪啪啪| 婷婷 色 丁香 夜| 99热亚洲精品66| 乱抡小BB| wwwxxx五月婷婷小说| 美妞av| 天天噜天天插| 色色色色色热| 在线五月婷婷小电影| 91操片| 丁香六月狠狠干| 九色地址91视频| 色99超碰| 97成人超碰免| www.刺激色网站www.| 变态另类色图| 久久色午夜在线导航| 中文字幕av久久爽| 亚洲欧洲一二| 婷婷丁香91| 色五月婷婷伊人| 99日本视频| 熟女91九色| 超碰在线观看9| 久热91精品| 久草性爱| 大香蕉伊人久久| 丁香五月亚洲激情婷婷射| 婷婷放心五日爱| 色久婷婷五月| 久久性爱视频免费| 无码G高清天| 99久久成人| 99色免费视频| 五月在线| 99毛片| 中文字幕成人| 成人av免费观看| 日本狠狠干| 五月婷婷涩涩爱| 超碰在线免费观看3 9| 99精品久久久久久久久| 男人天堂AV在线一区二区| 亚洲无码黄色| 亚洲永久免费| 蜜乳.comcom| 色五月天激情| 色五月天综合网| 色天堂A| 狠狠色综合网| 超碰只有精品在线| 六月婷婷AV| 婷婷久久丁香五月| 亚洲第一色色色| 六月丁香婷婷在线波多| 色五月丁香婷婷在线观看| 97性视频| 五月丁香六月| 超碰丁香五月| 九九色热| 丁香激情婷婷网| 五月天色婷婷综合| 色丁香五月| 尤物一区二区| 伊人三级激情| 欧洲激情网站| 天天夜夜六月丁香五月婷婷老师| 日本天天操| 国产激情视频在线观看| 亚洲AV成人精品网站在线播放| 色爱99| 久久五月天合网| 五月亭亭六月天| 超碰成人电影| 九九操屄| 91综合国免费久入| 五月丁香六月婷婷综合伊人| 天天日日夜夜| 亚洲精品又粗又大又爽A片| AV大片在线观看| 欧美A级网站| 五月丁香做爱视频| 激情六月综合| 激情五月天色色色| 日日干日日色| 天天爱天天狠天天透| 天天射天天干天插色综合| 丁香六月婷婷缴情欧美| 67194国产| 天天色天天爱天天爽| 丁香五月天激情综合| www色色色com| 婷婷综合在线播放| 亚洲mm色| 婷婷综合色色| 六月丁香AV| www,五月天com| 丁香六月婷婷色XXXXX| 涩涩五月天| 日韩五月婷婷| 大香蕉综合网| 男人的天堂999| 婷婷六月天激情| 嫩BBB槡BBBB搡BBBB| h亚洲| 伊人五月人妻精品| 成人视屏在线观看| 996黄色片| 丁香婷婷少妇| 色墦五月丁香| 婷香狠狠爱五月| 夜夜夜夜做天天天做无码视频| 亚洲AV人人操| 六月丁香成人| 热的无码综合视频| 五月激情在线| 婷婷综合97| 另类小说激情五月天| 国外亚洲成AV人片在线观看| av九九| 五月丁香啪| 久久3级片| 蜜乳A√| 激情综合五月| www.激情| 亚洲午夜电影| 婷婷五月六月| 婷婷丁香人妻天天久久| 日韩AV在线影片| 激情五月图| 亚洲色综合| 成人在线综合| 夜夜躁爽日日| 婷婷五月天渟渟| 开心五月婷婷在线视频免费观看| 婷婷激情五月| 欧美日本高清视频99| 婷婷成人五月天一区| 激情五月天网| 91人人网| 婷婷五月天国产| 五月婷婷电影院| 婷婷五月天成人动漫| 五月色网| 久久精品系列| www天天色天天射| www,婷婷,com| 婷婷五月天.com| 99久久6| 激情婷婷久久| 5五月综合网亚洲| 五月婷婷综合天天操| 欧美综合婷婷网| 亚洲日韩一页精品发布| 日韩九九视频| 色五月首页| 婷婷丁香激情综合色情| 天天爱天天狠天天透| 婷婷色一二三区波多野结衣| 中文不卡一二区| 成人综合网站| WWW色五月天| 99热这里全都是精品| 另类小说五月天| 91黄址| 亚洲旡码| 91超碰在线播放| 亚洲乱码在线观看| 毛片新网地| 久久久久8888| av久热| 色啪综合| 五月综合色| 色婷婷手机在线| 伊人啪啪网| 婷婷五月激情的图片| 欧美黄色AA片哗啦啦啦| 91viP在线看| 久久激情视频| 欧美日韩一a.无| 色情成人五月天| 99re思思热在线视频| 俺去也五月天| 日本在线视频手机播放五月婷| 久久er99热精品一区二区| 五月丁香婷婷激情在线视频| 色狠狠色噜噜AV天堂五区| 丁香五月视频在线观看| 成人无码精品1区2区3区免费看 | 五月激情四射婷婷丁香| 九九伊人网| 美女要搞搞天天搞搞搞网站| 亚洲精品无码99热| 婷婷丁香激情五月天色色| 97伦色婷婷| 中文在线成人| 综合激情五月天| 欧美大肥婆大肥BBBBB| 综合热无码| 99久久天堂婷婷| 这里只有精品1| 思思99久久| 国产色色视频| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月婷婷AV| 久久久久9| 欧美性做爰大片免费看办公室| 99视频精品全部免费观看| 99玖玖视频| 五月丁香 啪啪| 精品色情一区二区三区四区| 亚洲深喉aV| 婷婷五月天电影区小说区| 婷婷网影院| 丁香五月天色婷婷| 婷婷成人综合五月| 久久婷婷资源| 色中色综合| 五月天久久www| 亚洲超级碰| 亭亭玉月丁香| 五月天社区狠狠| 久久色五月| 欧美精品XXXXBBBB| 五月花在线观看视频| 丁香九月婷| 九九在线热九九在线热99热| 99视频在线精品| 色婷婷黄色网络| 九九色婷婷Av| 狠狠香蕉| 久久思思热视频| 五月天色色婷婷| 少妇性按摩无码中文A片 | 丁香五月宝贝激情网| 久青草大香蕉| 婷婷五月色| 情久久综合五月天| 99色这里| 丁香熟女乱| 99热成人| 可以直接看的av| 五月丁香 六月婷婷a| 亚洲色区17| 99热这里只有精品55| 天天爽日日爽夜夜爽| 久久丁香| 婷婷色情五月| 97色吧| 生活片五区| 丁香婷婷色五月天| 99久久久| 久久久久婷| 99视频这里有精品| 激情综合久久| 久久视频这里有精品99| 激情99热| 亚洲成人高清在线| 日本久久色| 天天日天天爽夜夜爽| 五月丁香操亭亭网| Se.婷婷五月天| 97在线干| 婷婷婷狠狠| 泰州成人视频| 婷婷九月在线| 丁香婷婷色五月天| 成人精品一区二区三区四区五区| 九九九九九九综合| 久在热99| 97福利视频| 99精品在线观看视频| 天天爽天天摸| 在线五月色播| 色啪综合| av在线免费网站| 婷婷丁香大香蕉| 熟女少妇内射日韩亚洲| 99在线精品免费视频| 欧美色频| 欧美人妻一区二区| 丁香五月婷婷激情视频播放| 天天射影| 亚洲免费99| 超碰成人AV| 人妻在线观看视频| 中文字幕乱码亚洲精品一区| 狠狠综合网| 五月激情综合网| 久久色9| 婷婷开心激情| 99热在线观看精品免费| 婷婷五月天亚洲激情戏精品| 午夜理论片最新午夜理论剧| 久久精品99| www98日本小时间到了| 婷婷五月综合色中文字幕| 91碰碰碰久久久久| 五月丁香六月激情| 五月色情| 被强行糟蹋的女人A片| 丁香五月激情五月| 色色色com| 色五月丁香网| 在线婷婷| 超碰激情网| 91大神操美女| 97碰碰视频在线观看| 中文久久婷婷| 日91高清无玛| 亚洲人妻Av| 99啪啪网| 中美日韩成人在线| 五月婷婷丁香综合| 丁香花五月天激情| www99热| 久久九九热视频| 天天天天操| 色综合久久888| 婷婷五月天AV| 99re6在线视频精品免费| 国产婷婷色综合AV蜜臀AV| 狠狠精品干练久久久无码中文字幕| 激情色色| 免费视频在线观看的网站| 亚洲深喉AV| 欧美五月婷婷综合| 激情五月天第四色| 婷婷综合网性| 九九婷婷综合| 色婷婷基地在线| 精品一区二区三区四区五区六区介绍| 久鲁鲁色网| 激情校园 亚洲| m色激情网| 人妻无码精品一区| 超级碰碰碰97免费| 99爱爱| 91碰碰碰| 狠狠干五月| 欧美在线视频9| 五月丁香六月婷婷啪啪| 日韩操人| 五月情四婷婷| 99热99这里只有精品| 日日操夜夜爽| 强伦轩人妻一区二区电影| 99久久国产宗和精品1上映| 伊人婷婷99热精品| 狠狠色婷婷7777久综合| 九九热中文| 亚洲欧洲色色| 五月网网站| 激情五月天网| 丁香六月啪| 国产69精品久久久久999小说| 97色射| 综合色网站| 99久久久国产大片| 伍月婷丁香花全集| 噜噜狠狠色综合久| 伊人激情影院| 丁香花大香蕉婷婷综合| 99啪啪网| 五月丁色AV| 婷婷五月天首页| 日日干日日| www99热| 久久青草国| 日韩成人精品中文字幕| 天天擼久久擼在线| 久综合色| 色135综合网| 99亚洲精美视频在线观看| 久久久人妻久久久| 婷婷五月深深爱| 亚洲AV成人片无码网站| 国自产拍偷拍精品啪啪一区二区| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 色婷婷AⅤ| 欧美日韩AAAAA| 噜噜视频| 99热这里只有精品9| 超级碰人人操人人干| 丁香五月婷婷亚洲人| 玖玖资源站蜜臀| 99热超碰在线| ztEJj| 五月天日日操夜夜操| 五月婷婷天| 99这里有精品| 九色无码| 99久久五月婷婷| 五月婷婷激情综合| 久久五月综合| 超碰成人免费| 日本久久99久久| 久色中文| 99操逼| 欧在线一区| 青草性爱视频| 九九99热久久精品66中文字幕| 大地9中文在线观看免费高清| 午夜婷婷久久 | 国产熟女日日骚五月丁香爱| 九九九九国产| 97sese婷婷| 管管補管管紱| 精品久久99| 色射7856五月天激情四射| 99re思思精品视频在线观看| 婷婷五月丁香欧洲| 五月天婷婷色综合| 久久与婷婷| 色综合久久88色综合天天99| 色碰97| 婷婷色日本| 久久人妻视频| 99久久玖玖| 婷婷5月九九| 日本少妇裸体做爰高潮片| 色色婷婷丁香| 天天插天天干| 亚洲a片免费观看| 思思久久96热在精品国产,| 综合激情站| 亚洲精品在线视频| av操一操| 国产伦亲子伦亲子视频观看| 久久最新色色色| 久久曰曰| 五月天丁香久久| 狠狠搞亚洲| 人妻第九页| 高清激情av在线观看| 91一起操| 91丨九色丨大屁股| av久热| 婷婷射图| 中文在线成人| 激情五月天99色| 26uuu精品国产| 在线日本www| 激情丁香五月婷婷啪啪| 亚洲精品V天堂中文字幕| 99这里精品| 激情五月天色播| 色色丁香| 五月丁香黄色视频| 99碰碰| 91啪啪视频| 色综合色色| 337p大胆噜噜噜噜噜91Av| 97人妻碰碰碰久久香蕉| 色婷婷激情| 99九九玖玖| 狠狠99| 亚洲婷婷久久综合| 九九热精品视频在线观看| 综合www色| 六月丁香网| 色婷六月| 丁香五月影视| 伊人婷婷大香蕉| 丁香五月婷婷啪| www.婷婷五月| 成人精品在线观看| 激情综合五月婷| 色婷婷九月| 六月婷婷无码| 99这里有精品视频| 99热这里只有精品9| 久久爱婷婷| 涩涩婷婷五月| 九九99热| 久久综合中文| 激情小说在线视频| 亚洲99激情| 成人无码髙潮喷水A片| 午夜精品777| 123日本不卡在线| 五月丁查人人| 久99热在线观看| 狠狠综合久久| 涩涩五月天综合| 色偷偷AV亚洲男人的天堂| 色婷婷五月综合在线| 五月丁香花激情啪啪网| www.99热| 久久人人看| 亚洲精品久久久无码| 五月婷婷开心丁香| 青996青| 91碰碰| 日日鲁鲁夜夜爽爽| 伊人久热91网| 超碰人人操在线| 婷婷伊人无码| 亚洲无码性爱| 久青操| 激情精品久久| 久777| 成人色图情色成人网 www.5b5b5bcom 五月天 | 婷婷五月天免费| 99久久久久久久| 五月激情啪啪啪| 五月丁香啪啪拍| 综合激情九月婷婷,激情综合婷婷中文字| 五月天天久久香| 思思热国产视频| 第四色色六月色综合|