色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

REA模型實(shí)戰(zhàn):用事件驅(qū)動(dòng)解決業(yè)務(wù)與財(cái)務(wù)數(shù)據(jù)不一致

REA模型實(shí)戰(zhàn):用事件驅(qū)動(dòng)解決業(yè)務(wù)與財(cái)務(wù)數(shù)據(jù)不一致 去年年中我在梳理模擬項(xiàng)目X的訂單履約鏈路時(shí)被一個(gè)簡單的問題卡住了財(cái)務(wù)說賬上還有120萬應(yīng)收賬款業(yè)務(wù)說早該催款的只有80萬兩邊數(shù)字對不上。系統(tǒng)里明明都用了同一套訂單數(shù)據(jù)為什么算出來的結(jié)果會(huì)差這么多追下去才發(fā)現(xiàn)癥結(jié)出在底層數(shù)據(jù)模型上。財(cái)務(wù)模塊延續(xù)的是復(fù)式記賬那一套——憑證、科目、借、貸、余額。每一筆訂單都要經(jīng)過憑證模板轉(zhuǎn)換成會(huì)計(jì)分錄再由總賬系統(tǒng)匯總成余額。業(yè)務(wù)側(cè)的數(shù)據(jù)模型則圍繞訂單、發(fā)貨單、回款單這些業(yè)務(wù)單據(jù)。兩套模型之間的橋梁是幾十個(gè)字段映射和轉(zhuǎn)換規(guī)則。只要中間任何一張單據(jù)漏配、錯(cuò)配財(cái)務(wù)賬與業(yè)務(wù)臺賬就會(huì)悄悄分叉。這不是某一家企業(yè)特有的問題而是傳統(tǒng)會(huì)計(jì)信息系統(tǒng)的結(jié)構(gòu)性毛病。復(fù)式記賬法誕生于商業(yè)貿(mào)易靠紙質(zhì)憑證的年代它擅長的是記錄金額的增減而不是描述業(yè)務(wù)發(fā)生了什么。借貸分錄天然地站在結(jié)果的視角站在賬戶的視角站在一種已經(jīng)被抽象過、壓縮過的狀態(tài)上。它不關(guān)心訂單是幾點(diǎn)幾分被確認(rèn)、貨物由誰揀選、物流簽收發(fā)生在哪個(gè)環(huán)節(jié)而恰恰是這些過程信息構(gòu)成了數(shù)字化業(yè)務(wù)系統(tǒng)的核心。正因如此我才開始認(rèn)真研究rea。rea的全稱是Resource-Event-Agent最早是會(huì)計(jì)信息系統(tǒng)領(lǐng)域的研究者提出的一個(gè)企業(yè)建??蚣芎髞肀淮罅坑迷跇I(yè)務(wù)流程建模、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)甚至事件溯源架構(gòu)中。它主張用資源、事件、參與者三要素來描述業(yè)務(wù)并認(rèn)為會(huì)計(jì)賬簿中的數(shù)字應(yīng)該是這套業(yè)務(wù)模型的自然派生結(jié)果而不是需要另起爐灶單獨(dú)維護(hù)的一套數(shù)據(jù)。這篇文章會(huì)給你完整展示我如何用rea模型梳理一條從銷售到收款的全流程包括底層表結(jié)構(gòu)設(shè)計(jì)、與DDD和事件溯源的映射關(guān)系以及落地時(shí)踩過的四個(gè)坑。如果你也正在被業(yè)務(wù)數(shù)據(jù)與財(cái)務(wù)數(shù)據(jù)不一致折磨或者想在下一個(gè)項(xiàng)目里嘗試事件溯源架構(gòu)這篇文章應(yīng)該能幫你省下不少摸索時(shí)間。1. 數(shù)據(jù)分叉背后借貸式記賬為何拖累了數(shù)字化業(yè)務(wù)1.1 財(cái)務(wù)模塊與業(yè)務(wù)臺賬各說各話我在模擬項(xiàng)目X里最先碰到的矛盾其實(shí)是很多企業(yè)系統(tǒng)的共性困境。訂單、發(fā)貨、回款在業(yè)務(wù)庫中都是標(biāo)準(zhǔn)的結(jié)構(gòu)化數(shù)據(jù)每一筆都有時(shí)間戳、有狀態(tài)、有操作人可財(cái)務(wù)模塊不看這些它只認(rèn)憑證。系統(tǒng)里有一個(gè)憑證生成器把每一個(gè)業(yè)務(wù)動(dòng)作翻譯成借xx科目、貸xx科目再匯總進(jìn)總賬。問題就出在這個(gè)翻譯層上——翻譯規(guī)則一旦不完整業(yè)務(wù)側(cè)和財(cái)務(wù)側(cè)就再也對不上。比如一張銷售訂單在業(yè)務(wù)側(cè)已經(jīng)發(fā)貨但憑證生成器因?yàn)槟硞€(gè)狀態(tài)位沒更新沒有生成對應(yīng)的收入確認(rèn)憑證。此時(shí)業(yè)務(wù)臺賬顯示已發(fā)貨未回款財(cái)務(wù)賬上卻完全沒有這筆應(yīng)收記錄。等到月底對賬時(shí)兩邊就差出一大截。你可以在事后補(bǔ)一個(gè)批處理任務(wù)去修復(fù)但每次修復(fù)都是打補(bǔ)丁補(bǔ)丁越打越多系統(tǒng)越來越難維護(hù)。這種困境的根源是數(shù)據(jù)模型的方向性錯(cuò)誤。借貸記賬法和業(yè)務(wù)事件流是兩套完全不同的抽象層級。前者把業(yè)務(wù)動(dòng)作壓縮成借貸金額這一種表達(dá)方式后者需要保留業(yè)務(wù)動(dòng)作的完整語義——誰、何時(shí)、做了什么、改變了什么。當(dāng)你用一套高度壓縮的數(shù)據(jù)結(jié)構(gòu)去承載需要全細(xì)節(jié)的業(yè)務(wù)邏輯時(shí)摩擦是必然的。1.2 rea是另一種組織業(yè)務(wù)事實(shí)的方式rea給我的第一個(gè)啟發(fā)就是它換了提問方式。傳統(tǒng)模型問的是這筆業(yè)務(wù)該記在哪個(gè)科目、該借還是該貸rea問的是發(fā)生了什么事件、涉及什么資源、由誰參與。這三個(gè)問題看起來樸素建立出來的數(shù)據(jù)模型卻完全不一樣。它不預(yù)設(shè)賬戶這個(gè)抽象概念而是把業(yè)務(wù)事實(shí)本身作為建模的起點(diǎn)。會(huì)計(jì)意義上的借和貸在rea里不存在取而代之的是資源流入和資源流出而流入流出后得到的狀態(tài)——比如應(yīng)收余額、庫存數(shù)量——全部可以由事件推導(dǎo)出來。兩個(gè)模式放在一起對比會(huì)更直觀視角傳統(tǒng)借貸模式rea事件模式記錄對象賬戶、憑證、科目資源、事件、參與者核心問題余額是多少發(fā)生了什么時(shí)間特性期末匯總、過賬結(jié)轉(zhuǎn)事件發(fā)生時(shí)記錄余額產(chǎn)生方式借貸匯總事件流投影業(yè)務(wù)追溯憑證到流水多跳映射事件天然關(guān)聯(lián)表格里最后一行是我感觸最深的地方。傳統(tǒng)架構(gòu)要做一筆應(yīng)收追溯通常是從科目余額出發(fā)找到憑證從憑證找到業(yè)務(wù)單據(jù)中間還可能經(jīng)過幾張結(jié)轉(zhuǎn)表rea模型則可以直接定位到哪一筆銷售事件產(chǎn)生了這筆應(yīng)收哪一筆收款事件核銷了它。這種追溯能力對數(shù)字化業(yè)務(wù)太重要了幾乎決定了一個(gè)系統(tǒng)能否被長期維護(hù)。2. 拆開rea資源、事件、參與者分別回答什么問題2.1 資源不是所有資產(chǎn)都能進(jìn)模型很多人第一次接觸rea時(shí)最常犯的錯(cuò)誤就是把資源等同于會(huì)計(jì)科目或資產(chǎn)。實(shí)際上rea中的資源必須滿足兩個(gè)條件第一它必須處于企業(yè)的控制范圍內(nèi)或交換范圍內(nèi)第二它必須能夠在經(jīng)濟(jì)事件中被消耗、轉(zhuǎn)化、轉(zhuǎn)移或創(chuàng)造。舉個(gè)例子庫存商品是資源因?yàn)殇N售事件會(huì)讓它減少采購事件會(huì)讓它增加現(xiàn)金和銀行存款是資源因?yàn)槭湛钍录?huì)讓它增加付款事件會(huì)讓它減少。但廠房、設(shè)備、商標(biāo)權(quán)這些在企業(yè)日常經(jīng)營活動(dòng)建模中往往不會(huì)被當(dāng)作rea資源——它們不參與頻繁的業(yè)務(wù)事件流轉(zhuǎn)更多是作為一個(gè)固定的經(jīng)營前提存在建模時(shí)把注意力放在它們服務(wù)的那些業(yè)務(wù)事件上即可。為了便于理解我把資源類比成水庫里的水位。水位本身是靜態(tài)的存量你不關(guān)心它的絕對值而是關(guān)心它在什么時(shí)間點(diǎn)因?yàn)槭裁词录l(fā)生了多少變化。這個(gè)視角和傳統(tǒng)庫存管理不一樣傳統(tǒng)庫存管理一上來就要正確的當(dāng)前庫存量而rea更關(guān)心庫存量是如何一步步變成現(xiàn)在這個(gè)值的。2.2 事件只看直接改變資源狀態(tài)的動(dòng)作如果說資源是水庫的水位那么事件就是打開閥門或關(guān)上閥門的動(dòng)作它是整個(gè)rea模型的樞紐。rea對事件的定義有一套嚴(yán)格但不難把握的標(biāo)準(zhǔn)一個(gè)事件必須在一個(gè)明確的時(shí)間點(diǎn)發(fā)生必須能被記錄必須與至少一個(gè)參與者相關(guān)并且必須直接改變一個(gè)或多個(gè)資源的狀態(tài)。注意這里我特意強(qiáng)調(diào)直接。這個(gè)直接標(biāo)準(zhǔn)對建模粒度非常關(guān)鍵?;氐戒N售場景中客戶點(diǎn)擊了商品詳情頁就不算事件因?yàn)辄c(diǎn)擊動(dòng)作沒有直接改變?nèi)魏问芸刭Y源的狀態(tài)。而銷售訂單被確認(rèn)就算事件因?yàn)樗苯幼寧齑嫔唐窂目墒蹱顟B(tài)變成預(yù)占狀態(tài)或者說資源的狀態(tài)發(fā)生了變化。我把這個(gè)判斷標(biāo)準(zhǔn)總結(jié)成一個(gè)輔助公式如果一個(gè)活動(dòng)既不增加、不減少、不轉(zhuǎn)化、也不轉(zhuǎn)移任何資源那它就不應(yīng)該出現(xiàn)在rea模型中。用這個(gè)標(biāo)準(zhǔn)去評審建模草稿通常能很快發(fā)現(xiàn)哪些地方塞進(jìn)了太多偽事件。2.3 參與者內(nèi)部與外部劃分以及職責(zé)分離參與者是整個(gè)模型中容易被忽略但同樣重要的一環(huán)因?yàn)橘Y源的狀態(tài)變化從來不是自動(dòng)發(fā)生的背后必須有人的決策或行動(dòng)。rea把參與者分成兩類內(nèi)部參與者和外部參與者。內(nèi)部參與者是企業(yè)內(nèi)部的角色例如銷售員、倉管員、財(cái)務(wù)人員外部參與者是企業(yè)邊界之外的角色例如客戶、供應(yīng)商、物流承運(yùn)商。這種區(qū)分在建模時(shí)非常有用因?yàn)樗鼘?yīng)了企業(yè)風(fēng)險(xiǎn)管理中的職責(zé)分離原則。一個(gè)合格的事件模型應(yīng)當(dāng)能回答這個(gè)事件由哪個(gè)內(nèi)部參與者觸發(fā)、對哪個(gè)外部參與者生效這天然支持了審批流、控制流的設(shè)計(jì)。比如銷售員錄入訂單、倉庫員審核出庫、財(cái)務(wù)人員確認(rèn)收款三個(gè)步驟在三類參與者之間形成了內(nèi)部控制鏈路。我曾經(jīng)在一個(gè)項(xiàng)目里見過反面教材業(yè)務(wù)單據(jù)上只有一個(gè)操作人字段客戶和員工統(tǒng)統(tǒng)往里面塞。這樣做導(dǎo)致審計(jì)時(shí)完全無法回答是誰代表公司、是誰代表客戶每一個(gè)關(guān)鍵操作的責(zé)任邊界都是模糊的。rea的參與者劃分能強(qiáng)制你把這個(gè)邊界建立起來這對系統(tǒng)合規(guī)性是非常大的加分。2.4 三類關(guān)系把三要素編織成業(yè)務(wù)網(wǎng)絡(luò)光有三類要素還不夠rea模型靠三類語義關(guān)系把它們串起來存量-流量關(guān)系Resource-Event描述資源與事件之間的增減關(guān)系。一個(gè)事件可以使資源流入也可以使資源流出甚至可以同時(shí)流入流出例如調(diào)撥事件。觸發(fā)關(guān)系Event-Event描述事件之間的因果順序。如銷售訂單確認(rèn)觸發(fā)出庫發(fā)貨出庫發(fā)貨觸發(fā)收款登記??刂脐P(guān)系Event-Agent描述參與者與事件之間的責(zé)任關(guān)系。內(nèi)部參與者對事件負(fù)執(zhí)行責(zé)任外部參與者則作為相對方。這三類關(guān)系就是rea的語法。構(gòu)建模型時(shí)我基本就是圍繞這三類關(guān)系反復(fù)自問這個(gè)事件改變了什么資源它由誰觸發(fā)、影響了誰它的前序事件和后續(xù)事件分別是什么一旦能順暢回答這三個(gè)問題模型的雛形就出來了。3. 實(shí)操演練從銷售訂單到回款的一條完整事件鏈3.1 劃清業(yè)務(wù)邊界列出事件候選為了讓討論不懸空我設(shè)定一個(gè)具體的演練對象某零售企業(yè)的訂單到收款流程。范圍從客戶提交訂單開始到企業(yè)收到貨款、完成資金核銷為止。在動(dòng)手之前我習(xí)慣先列一條候選活動(dòng)清單。這里不用管粒度對不對凡是流程中肉眼可見的動(dòng)作都先寫下來客戶下單、銷售確認(rèn)訂單、倉庫揀貨并出庫、物流配送、客戶簽收、客戶付款、財(cái)務(wù)核銷。這七個(gè)動(dòng)作是我準(zhǔn)備放進(jìn)模型的事件候選。劃定邊界這件事看似簡單其實(shí)直接影響建模質(zhì)量。我曾經(jīng)見過有人把客戶發(fā)起退貨申請也包括進(jìn)訂單到收款的邊界里導(dǎo)致事件鏈變得很復(fù)雜。邊界清晰之后建模的最大價(jià)值反而體現(xiàn)在后續(xù)可擴(kuò)展性上——如果以后要加退貨流程只需要在events表里增加對應(yīng)的事件類型而不用推翻已有的表結(jié)構(gòu)。3.2 用資源狀態(tài)變化過濾事件候選接下來用上一章那個(gè)直接改變資源狀態(tài)的標(biāo)準(zhǔn)逐個(gè)過濾候選動(dòng)作。候選活動(dòng)是否直接改變受控資源狀態(tài)是否進(jìn)入模型說明客戶提交訂單否否待確認(rèn)狀態(tài)資源未變只是草案銷售確認(rèn)訂單是是庫存從可售變?yōu)轭A(yù)占倉庫揀貨并出庫是是庫存實(shí)物數(shù)量減少物流配送否否配送過程中貨物仍歸企業(yè)狀態(tài)未變客戶簽收是是物權(quán)轉(zhuǎn)移企業(yè)失去商品控制客戶付款是是銀行存款增加應(yīng)收債權(quán)減少財(cái)務(wù)核銷否否匹配動(dòng)作資源本身無變化經(jīng)過篩選真正進(jìn)入rea模型的事件是四個(gè)訂單確認(rèn)、出庫發(fā)貨、客戶簽收、收款到賬。這個(gè)篩選過程經(jīng)常會(huì)顛覆直覺。我在實(shí)際項(xiàng)目里發(fā)現(xiàn)大多數(shù)團(tuán)隊(duì)建模不一致根源就在于把一些動(dòng)作和事件混為一談。比如把物流配送單獨(dú)建模成事件會(huì)讓后續(xù)的聚合邊界變得很別扭。3.3 補(bǔ)齊參與者和資源事件-資源-參與者對照事件確定后資源與參與者就很好找了。我把四個(gè)事件的信息補(bǔ)成一個(gè)對照表這是建模過程中最常用來評審的產(chǎn)物。事件涉及資源外部參與者內(nèi)部參與者訂單確認(rèn)庫存商品在庫可售變預(yù)占客戶銷售員出庫發(fā)貨庫存商品在庫減少承運(yùn)人倉庫員客戶簽收在途商品所有權(quán)轉(zhuǎn)移客戶倉庫員收款到賬銀行存款增加、應(yīng)收債權(quán)減少客戶財(cái)務(wù)人員這張表一出來整個(gè)流程的語義就清晰了。每個(gè)事件都在資源層面有明確影響、在參與人層面有明確責(zé)任體。后續(xù)無論是開發(fā)接口、設(shè)計(jì)權(quán)限還是做審計(jì)追溯都能直接從這張表出發(fā)。這里有一個(gè)細(xì)節(jié)需要注意應(yīng)收債權(quán)在這個(gè)表里出現(xiàn)在收款到賬事件中但它并不是一個(gè)獨(dú)立的資源實(shí)體而是訂單確認(rèn)和收款到賬兩個(gè)事件共同形成的派生狀態(tài)。上表為了表達(dá)方便寫了減少實(shí)際建模時(shí)不要把它作為資源落表。3.4 落成四張核心表SQL建表與索引思路在很多文本中rea被描述為純概念模型但落到工程上完全可行。我在模擬項(xiàng)目X里就是用四張核心表實(shí)現(xiàn)了這套模型agents表參與者檔案區(qū)分內(nèi)部/外部。resources表資源檔案例如庫存商品、銀行存款。events表核心事件表記錄事件類型、發(fā)生時(shí)間、參與的內(nèi)部與外部參與者。event_resource_links表事件與資源的關(guān)聯(lián)表記錄方向流入/流出和數(shù)量金額。一個(gè)典型的表結(jié)構(gòu)定義大概是這樣以通用SQL風(fēng)格展示CREATE TABLE agents ( agent_id INT PRIMARY KEY, agent_type VARCHAR(20), -- internal / external agent_name VARCHAR(100) ); CREATE TABLE resources ( resource_id INT PRIMARY KEY, resource_name VARCHAR(100), unit VARCHAR(20) ); CREATE TABLE events ( event_id INT PRIMARY KEY, event_type VARCHAR(40), -- e.g. order_confirmed, shipment_made occurred_at DATETIME, internal_agent_id INT, external_agent_id INT, CONSTRAINT fk_events_internal FOREIGN KEY (internal_agent_id) REFERENCES agents(agent_id), CONSTRAINT fk_events_external FOREIGN KEY (external_agent_id) REFERENCES agents(agent_id) ); CREATE TABLE event_resource_links ( link_id INT PRIMARY KEY, event_id INT, resource_id INT, direction VARCHAR(10), -- inflow / outflow quantity DECIMAL(18,4), amount DECIMAL(18,2), CONSTRAINT fk_links_event FOREIGN KEY (event_id) REFERENCES events(event_id), CONSTRAINT fk_links_resource FOREIGN KEY (resource_id) REFERENCES resources(resource_id) );注意這張表里我沒有為銷售訂單發(fā)貨單回款單這三類單據(jù)各建一套獨(dú)立結(jié)構(gòu)而是讓它們統(tǒng)一并入events表再通過event_type區(qū)分。這樣設(shè)計(jì)有一個(gè)直接好處任何業(yè)務(wù)查詢都只需要過濾事件類型而不需要跨多張業(yè)務(wù)單據(jù)表做join。索引方面我通常會(huì)為event_type和occurred_at建聯(lián)合索引因?yàn)閹缀跛袌?bào)表和追溯查詢都會(huì)以這兩個(gè)字段為過濾條件。event_resource_links表則一定要對event_id建索引這直接決定了派生余額的查詢性能。3.5 財(cái)務(wù)報(bào)表由事件流派生應(yīng)收賬款的計(jì)算示例最令我驚喜的部分是財(cái)務(wù)報(bào)表不再需要過賬環(huán)節(jié)。以應(yīng)收賬款為例它的定義可以直接寫成事件投影應(yīng)收余額 訂單確認(rèn)事件中流出的商品金額之和 - 已核銷的收款事件金額之和把這個(gè)邏輯落到數(shù)據(jù)庫里就是兩條SQLSELECT COALESCE(SUM(amount), 0) AS receivable_generated FROM event_resource_links l JOIN events e ON l.event_id e.event_id WHERE e.event_type order_confirmed AND l.direction outflow;SELECT COALESCE(SUM(amount), 0) AS receivable_settled FROM event_resource_links l JOIN events e ON l.event_id e.event_id WHERE e.event_type payment_received AND l.direction inflow;余額等于兩者的差完全不需要一張單獨(dú)維護(hù)的余額表。這聽起來簡單但背后帶來的架構(gòu)變化是巨大的賬務(wù)數(shù)據(jù)從被動(dòng)的結(jié)果存儲變成了由事件實(shí)時(shí)推導(dǎo)的活動(dòng)圖任何一筆余額波動(dòng)都能追蹤到源頭事件。4. 從模型到架構(gòu)rea如何與DDD、事件溯源結(jié)合4.1 事件即領(lǐng)域事件rea天然貼近事件溯源我在設(shè)計(jì)模擬項(xiàng)目X的時(shí)候只需要問自己一個(gè)問題系統(tǒng)的歷史數(shù)據(jù)是否足夠支撐任意時(shí)點(diǎn)的回放如果需要那么事件溯源幾乎是必然的選擇。而rea的事件恰恰就是事件溯源里需要的領(lǐng)域事件。兩者結(jié)合得如此自然是因?yàn)樗鼈兌荚诨卮鹜活悊栴}歷史到底發(fā)生了什么而不是現(xiàn)在賬上還剩多少。事件溯源把系統(tǒng)當(dāng)前狀態(tài)看作對歷史事件流的累積投影rea則告訴我們事件流如何與資源和參與者關(guān)聯(lián)如何從事件流中恢復(fù)出業(yè)務(wù)語義。用rea建模再配事件溯源等于直接把業(yè)務(wù)事實(shí)作為系統(tǒng)的唯一真相來源。會(huì)計(jì)數(shù)字、庫存數(shù)量、客戶余額全都只是投影視圖可以隨時(shí)按需重建這就是數(shù)據(jù)與賬本不再分家的實(shí)現(xiàn)方式。4.2 聚合邊界跟隨事件鏈劃分而不是按單據(jù)劃分引入rea之前我在劃分DDD聚合邊界時(shí)經(jīng)常猶豫訂單聚合要不要包含發(fā)運(yùn)信息發(fā)運(yùn)聚合要不要包含應(yīng)收記錄如果各選各的又回到數(shù)據(jù)不一致的怪圈。rea給了個(gè)比較清晰的判斷依據(jù)一組事件如果它們之間存在觸發(fā)關(guān)系而且一個(gè)內(nèi)部參與者對另一個(gè)事件負(fù)責(zé)那么這些事件往往應(yīng)該落在同一個(gè)聚合邊界內(nèi)或者至少通過事件同步保持一致。以銷售到回款為例訂單確認(rèn)、出庫發(fā)貨、客戶簽收、收款到賬這條事件鏈共享同一個(gè)客戶、同一張訂單上下文放在一個(gè)聚合里會(huì)讓數(shù)據(jù)一致性最直觀代價(jià)是聚合略微變大拆成多個(gè)聚合也可以但需要接受最終一致性帶來的復(fù)雜度。聚合方案一致性復(fù)雜度適用場景全部事件放一個(gè)聚合強(qiáng)一致低-中訂單量不大單體系統(tǒng)訂單發(fā)貨放一個(gè)聚合收款獨(dú)立訂單側(cè)強(qiáng)一致收款最終一致中以銷售為中心的企業(yè)推薦起點(diǎn)每個(gè)事件一個(gè)聚合最終一致高高并發(fā)、復(fù)雜分銷網(wǎng)絡(luò)我在實(shí)際項(xiàng)目中傾向于選擇中間方案把訂單確認(rèn)與出庫發(fā)貨放在一個(gè)聚合把收款到賬作為另一個(gè)聚合兩者通過領(lǐng)域事件通知進(jìn)行協(xié)調(diào)。這樣既保持高頻路徑的強(qiáng)一致性又不至于讓聚合無限膨脹。4.3 庫存與余額從存儲字段變成派生投影在這個(gè)模型下庫存數(shù)量、應(yīng)收余額這些傳統(tǒng)意義上的主數(shù)據(jù)全部變成了派生視圖。你不再需要在庫存表里維護(hù)一個(gè)實(shí)時(shí)扣減的數(shù)字而是通過庫存事件流計(jì)算得出當(dāng)前庫存。這種思路恰恰是CQRS架構(gòu)所提倡的寫模型中只追加不可變事件讀模型中維護(hù)面向查詢的投影。庫存的投影可以是一個(gè)物化表每次出庫或入庫事件發(fā)生后就增量更新也可以是一張按需重算的動(dòng)態(tài)視圖。使用派生視圖最大的好處是杜絕了分布式事務(wù)。兩個(gè)系統(tǒng)不需要在同一個(gè)事務(wù)里同步扣減庫存和記錄銷售只需要保證事件流的順序一致。這個(gè)轉(zhuǎn)變讓系統(tǒng)的擴(kuò)展方式從改數(shù)據(jù)庫變成了追加新的事件類型變化很輕影響很可控。4.4 審計(jì)與內(nèi)控控制關(guān)系直接復(fù)用傳統(tǒng)財(cái)務(wù)系統(tǒng)在審計(jì)時(shí)最痛苦的就是追溯一張憑證對著一堆流水流水又對應(yīng)一堆業(yè)務(wù)單據(jù)中間任何一步丟了映射審計(jì)就卡殼。rea模型天然把業(yè)務(wù)單據(jù)、業(yè)務(wù)事件、資源和參與者全部串聯(lián)在一起因此審計(jì)追溯的路徑大幅縮短。審計(jì)人員可以直接從一條收款記錄反向跟蹤到對應(yīng)的銷售事件、出庫事件、甚至當(dāng)初的訂單確認(rèn)操作以及操作人。這種透明性不是靠事后補(bǔ)錄而是建模時(shí)就把控制和授權(quán)關(guān)系放進(jìn)了事件結(jié)構(gòu)里。控制關(guān)系在rea中還有一個(gè)額外的作用它天然支持權(quán)限設(shè)計(jì)。內(nèi)部參與者和外部參與者被放在不同的字段里系統(tǒng)中查某個(gè)客戶名下的所有訂單或者查某個(gè)銷售員名下已經(jīng)確認(rèn)但未回款的訂單都只是一次簡單的事件過濾不需要額外維護(hù)復(fù)雜的權(quán)限視圖。5. 落地過程中踩過的四個(gè)坑5.1 坑一把資源建模成科目翻版我第一次嘗試用rea時(shí)想著資源不就是錢和貨嗎于是順手把應(yīng)收賬款建成了資源。這個(gè)選擇看起來方便實(shí)際上打亂了整個(gè)模型的語義。因?yàn)閼?yīng)收賬款不是一個(gè)基礎(chǔ)業(yè)務(wù)實(shí)體而是銷售事件與收款事件共同投影出的派生狀態(tài)。把它作為資源就等于在事件之外又維護(hù)了一套賬戶體系模型又會(huì)退回到復(fù)式記賬的老路上。正確做法是把應(yīng)收留給派生層資源層只保留客戶實(shí)際獲得的商品、服務(wù)以及貨幣資金這類基礎(chǔ)實(shí)體。這個(gè)教訓(xùn)我后來又驗(yàn)證到庫存上庫存量同樣不是資源庫存對應(yīng)的基礎(chǔ)資源是具體的商品實(shí)體而庫存量是累計(jì)流入流出事件的投影。5.2 坑二事件粒度是最大的敗筆來源事件粒度是最難拿捏的部分。太小的事件會(huì)把系統(tǒng)變成流水賬例如前面說的點(diǎn)擊了詳情頁一旦混入模型后續(xù)聚合邊界和報(bào)表語義都會(huì)被干擾。太大的事件則會(huì)掩蓋細(xì)節(jié)例如把客戶簽收和客戶付款合并成一個(gè)銷售完成事件你會(huì)丟失收款時(shí)間與簽收時(shí)間之間的差異這對現(xiàn)金流分析至關(guān)重要。我的經(jīng)驗(yàn)是每當(dāng)猶豫要不要把某個(gè)活動(dòng)設(shè)成事件就檢查它是否引起可識別資源的狀態(tài)變化以及它的發(fā)生時(shí)間對業(yè)務(wù)決策是否有價(jià)值。這兩個(gè)條件同時(shí)滿足才值得成為模型中的事件。我在項(xiàng)目里曾經(jīng)把倉庫內(nèi)部移庫也建模成獨(dú)立事件后來發(fā)現(xiàn)這個(gè)動(dòng)作對財(cái)務(wù)和外部客戶沒有任何意義白白增加了事件量??车糁蟛樵冃拭黠@提升聚合邊界也清晰很多。5.3 坑三把業(yè)務(wù)規(guī)則塞進(jìn)事件模型rea擅長表達(dá)發(fā)生了什么但并不擅長表達(dá)應(yīng)該發(fā)生什么。折扣規(guī)則、信用額度校驗(yàn)、審批流閾值……這些業(yè)務(wù)規(guī)則可以在應(yīng)用層實(shí)現(xiàn)不需要塞進(jìn)rea模型。我在模擬項(xiàng)目X的早期就犯了把太多校驗(yàn)邏輯塞進(jìn)事件定義里的錯(cuò)誤結(jié)果每個(gè)事件類型都要寫一堆if-else模型反而被規(guī)則淹沒。后來把規(guī)則全部移到應(yīng)用服務(wù)層rea專心作為事實(shí)記錄層代碼結(jié)構(gòu)清爽了很多??梢赃@樣理解rea是數(shù)據(jù)庫的事實(shí)表業(yè)務(wù)規(guī)則是服務(wù)層的過濾器。把它們分層之后每個(gè)部分都能獨(dú)立演進(jìn)而不是耦合在一起。5.4 坑四歷史數(shù)據(jù)遷移與期初余額事件引入rea時(shí)最難的是處理歷史數(shù)據(jù)。舊系統(tǒng)里長期積累的科目余額、未核銷憑證怎么遷入新模型我的做法是引入一個(gè)期初余額事件概念把歷史存量轉(zhuǎn)化為幾個(gè)特定事件。例如遷移日之前的所有應(yīng)收賬款匯總成為一條期初應(yīng)收確認(rèn)事件遷移日之前的所有庫存數(shù)量匯總成為一條期初庫存盤點(diǎn)事件。歷史數(shù)據(jù)轉(zhuǎn)化為的期初事件涉及資源舊系統(tǒng)庫存數(shù)量期初庫存盤點(diǎn)事件庫存商品舊系統(tǒng)應(yīng)收余額期初應(yīng)收確認(rèn)事件商品/服務(wù)待核銷舊系統(tǒng)應(yīng)付余額期初應(yīng)付確認(rèn)事件采購服務(wù)/商品待結(jié)算舊系統(tǒng)銀行余額期初資金到位事件銀行存款這樣設(shè)計(jì)雖然看起來新增了一個(gè)特殊事件但換來的是所有后續(xù)邏輯的統(tǒng)一。舊賬不再需要特殊的歷史余額表而是和其他事件一樣參與投影運(yùn)算這大大簡化了遷移代碼。這里有一個(gè)額外提醒期初事件一定要核對原系統(tǒng)的明細(xì)。曾經(jīng)有一次遷移我們把應(yīng)收余額只按總額導(dǎo)入結(jié)果后續(xù)老客戶發(fā)起退貨時(shí)找不到對應(yīng)的銷售事件可沖銷處理起來特別麻煩。后來我調(diào)整策略凡是能追溯到原單據(jù)的應(yīng)收盡量逐筆導(dǎo)入為獨(dú)立事件只有確實(shí)無法追溯的散單才以總額方式入賬。結(jié)尾在這個(gè)方向投入了很多時(shí)間之后我最后想分享幾個(gè)實(shí)踐層面的體會(huì)。rea并不是要取代會(huì)計(jì)學(xué)而是一種重新組織業(yè)務(wù)事實(shí)的方式。它最打動(dòng)我的地方是逼迫我從記賬結(jié)果退回到業(yè)務(wù)事實(shí)把每個(gè)動(dòng)作看成一條不可變的事件。這個(gè)思考習(xí)慣對我設(shè)計(jì)DDD聚合、選擇事件溯源架構(gòu)、甚至是評審別人的數(shù)據(jù)模型都有很直接的幫助。最后給你一個(gè)小技巧。下次評審任何業(yè)務(wù)模型時(shí)先問三個(gè)問題這里最核心的資源是什么哪些動(dòng)作直接改變了資源狀態(tài)是誰執(zhí)行和推動(dòng)的如果團(tuán)隊(duì)討論始終繞不開這三個(gè)問題說明業(yè)務(wù)建模往正確的方向走了一大步。哪怕不引入全套rea這套提問方式也能讓你快速發(fā)現(xiàn)模型里的裂縫。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产高清在线自在拍69| 韩国一级婬片A片无码天美| 久久欧美按摩999| 亚川综合视频| 青青草好吊色| 精品无码一区二区三区| 日欧美色| 爽爽淫人网| 欧美伊人久久综合网| 91精品人妻一区二区三区蜜桃| 国产性感骚丝袜在线| 亚洲色 国产 欧美 日韩| 久久黄人人爽视频| 农村少妇久久久久久久| 九九热精彩视频| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 五月丁香色综合| 午夜啪啪片| 免费精品国偷自产在线在线| 97久久久久| 亚州九九九精品视频| 97在线免费看| 日本 免费 一区二区三区 久久香蕉| 欧美日韩国产在线| 五月丁香六月激情综合| 国产伦乱91| 日韩人妻制服丝袜av| 精品人成视频在线观看| 校园春色亚洲| 97超碰欧美| 69视频入口| 欧美日韩97| 97在线播放 | 欧美九九99久久精品| 日韩成人电影AV| 色99视频| 精彩视频日韩| 日本色色视频网站| 精品久久久av无码免费| 91丝袜视频在线观看| 中国熟女91| 久久人妇| 97爱综合| av爱爱爱| 嗯嗯啊啊啊好舒服| 天天综合香 ld视频| 久久久久久午夜男人的天堂| 熟妇高潮一区二区免费视频| 国产欧美一区二区| 99.色网| 精品久久久av| 久婷婷一区| 青青草吊丝| 乱理日韩中文| 中文字幕欧美精品亚洲日韩蜜臀| 国产伊人精品在线| 亚洲无码精品AV久久久| 亚洲av综合伊人久久| 欧美爆乳精品一区二区| 亚洲AV成人在线| 亚洲成人网站在线观看| 亚洲中文人妻色| 久久久久久久久久黄色网| 91五月天| 久久伊人东京热| 97香蕉网| 无码聚合| 亚洲免费精品一区| 国产日韩久久| 国产一区二区三区免费视频在性观看| 日韩人妻中文视频| 久久综合18p| 啊啊啊快操我视频| 久久久免费高清中文视频| 天天躁日日躁AAAXX| 深爱激情五月天| 欧美亚洲丝袜美女电影| 超碰视97中文| 亚洲国产精品无码AV久久| 免费福利视频中文字幕| 激情丁香五月| 欧美综合传媒| 91亚洲色人| 婷婷久久网| 超碰性爱97| 欧美黑人168页欧美黑人167| 蜜臀久久99精品久久久| 最新的亚洲无吗| 亚洲宅男天堂| 韩日欧亚a级| 中文字幕精品一区欧美| 成人熟女视频一区二区三区| 有码专区最新中文字幕有码| 久久综合亚洲色1080p| 亚洲男人的天堂亚洲| 蘋果手機免費看成人Av| 久操操AV电影| 暖暖精品二区三区观看| 美女性91| 亚洲乱熟女一区二区三区大香蕉| 久久色一区二区| 97精品视频| 欧美精品久久久久久久久88| 蜜桃久久精品一区二区三区| .精品人妻一区二区三| 99色色网| 男人的天堂一区| 中文字幕 国产区| 97 超碰 人人做 人人爱| 亚洲欧美碰碰| 日本岛国黄色网址| 青青青草原| www.久久最新地址| 茄子社区国产精品| 久久精品天美| 网站A V在线| 长长久久曰曰夜夜成人网| 亚洲图片在线| 日本精品第一视频在'| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 国产熟女无套内射| www久久久| 一摸二插三插| 日本午夜福利影院| 18禁止看精品中文字幕| 国产乱弄免费在线视频。| 国产高清自拍| 欧美视频第二页| 一级岛国大片| 日韩无码AB| 青草草免费网站av| 国产一区二区久久| 秋霞影音一区二区三区| 久久久999国产精品| www.色操逼| 91成人亚洲色图| 丁香五月影院| 欧美aa一级片| 日韩专区久久久| 无遮挡猛进视频免费无限观看| 清纯唯美综合亚洲| 九九热超碰97亚洲最新香蕉 | 女人天堂网| 99久久久久| 精品成人久久久人人亚洲| 欧亚性爱视频免费看| AV女资源| 欧美少妇性乱| 婷婷色播婷婷| 思思热久久成人| 色综合 加勒比| 五月婷在线| 久久老女人| 男人 天堂 日 亚洲| 免费看欧美美女黄色大片| 精品久久久久综合无码| 欧亚日韩三区| 天天干天天操天天拍| 99在线免费公开视频| 欧美精品欧美精品系列| 亚洲欧洲小说图片视频 | 亚洲啪啪视频一区二区| 91丝袜| 欧美大香蕉97| 欧美日韩成人在线| 亚洲一区二区三区中文字幕| 久久区| 亚洲综合小视频小说在线观看| 国产 三级自拍| 国产91影院| 9.1小视频| 欧洲黄色网| 欧美后入视频| 夜夜高潮夜夜爽| 欧美日韩操逼动图| 这里只有精品视频在线观看麻豆| 啊啊啊久久| 欧美亚州色的图| 96精品在线| 一级黄色性爱A级片| 欧美日韩亚洲天堂| 亚洲欧美骚| 亚洲drav色图| 久久精品视频28| 亚洲色五月| 日韩无码a片| 国产福利合集| 精品久| 久久久极品| 歐美性天天| 91亚洲人电影| 久操B网| 加勒比大香蕉视频在线| 亚洲人妻一区二区三区| 超碰在线看| 精品性爱一二三区| 探花一区二区三| 翔田千里爆乳巨臀无码| 中英熟女操女| 久久精品国产精品一区| 欧美91精品国产自产| 欲香欲色综合天天伊人| av中亚| 欧美东京热青青草| 色臀AV| 无套后入双马尾| 久久成人东京热人妻| 久久国产999| 欧美极品少妇| 亚洲色图 91| 天美av在线| 中字一区| 五月天色图影视| 丁香五月天啪啪| 九九在线精品| 九月丁香婷婷| 伊人久久大香线综合无码| 欧美日韩少妇色情| 日韩av电影网站| 日本黄页视频在线观看| 婷婷久久久精品| 大色网久久| 91爱剪切久久| 国产在线综合网| 国产精品视频自拍在线| 欧美久久伊人| www.狠狠干.coom | 青青操网| 欧美亚洲尤物久久| 婷婷丁香成人| 99爱久久视频频| 亚洲欧洲色情高清| 97操b| 午夜男女爽爽大片免费观看| 日韩欧美中文| 成人资源中文字幕在线观看天天| 夜夜操天天肏| 蜜臀在线看片| 久久大黄片| 高潮毛片无遮挡高清免费| 香蕉久久AⅤ...| 精品性爱无码在线播放| 18一区二区三区| 亚洲凸凹超碰成人| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 欧洲久久一二线| 91久久堂| 欧美狠狠| 天天干夜夜操网| 久久超碰爱| 亚爽爽爽爽爽爽爽爽| 一二三四区电影| 极品欧美一区二区三区| 国产精品亚洲免费| 亚洲免费97免费| 亚洲少妇视频| 超碰成人最新最好看| 夜夜中出国产| 啊啊啊啊,啊啊好多水| 国产91精品在线免费| 欧美日韩香蕉| 国产综合久久久鬼色| 欧美日韩小说| 中国女人内射6XXXXX| 欧美亚男人的天堂| 综合色一区三区二区| 免费一级a毛片久久久久久鸭绿欲| 国产精品久久久三级无码| 97高清啪啪| 9丨久久九九九| 国产操逼逼网| 九九九九97| 嫩草在线视频| 99久久无色码| 国内偷拍精品一区二区| 天天欧美欧美亚洲网| 亚洲在线综合| 一区二区三区免费岛国片| 亚洲男人天堂网久久| 日本加勒比无码专区| 太久视频| 韩日精品福利视频一区不卡在线免| 婷婷五月天丁香| 国产第二页| 韩三级a视频在线观看| 超碰79人人乐| 久久丝袜| 69超碰综合| 蜜区区视频79| 色婷婷综合视频| 好一吊区二区| 五月婷婷丁香六月| 精品无码秘 人妻一区二区| 日本精品一区三区| 97av在线观看| ss久久| 最新日本中文字幕| 色婷婷在线视频精品导航| 色欧美亚洲| 午夜免费视频1000| 99热| 天天干天天日天天射黄色片| 三级网色| 日本二三四区| 欧美日韩淫加| 狠日操| 啊啊啊啊啊啊啊啊啊在线观看| 思思热国产在线视频| 日韩欧美丝袜诱惑| 亚州免费啪啪视频| 97天天插| 精品久久久av| 久久久久九九九| 懂色av中文字幕| 在线 制服丝袜中出 人妻| 精品国产乱码久久久| 丁香五月婷婷五月| 国产精品999zyz| 亚洲自拍青操视频| 精精夜夜| 亚洲精美粉嫩嫩泬在线观看 | 欧美视频边做饭边橾| 日本在线999| 色婷婷在线视频精品导航| 成人性爱av| 久草看看看| 伊人久久国产免费观看视频| www.人人cao| 91老熟妇| 综合激情一一91| 久久五月天婷婷| 欧美日韩大香蕉| 亚洲综合贴图91 | 欧美色五月| 绯色一区二区三区不卡少妇| av天堂加勒比| 欧美影音在线| 观看免费区二区三区二| 极品色www影院| 日韩免费一级性爱视频| 91热热色| 东北操逼| 91色黑人少妇| 婷婷五月天社区| 综合av社区| 一区二区三区看视频| 99热免费精品| 无码91| 免费a在线播放v| 国产9 9在线 | 亚洲| 欧美伊人电影| 亚洲日本天堂| 伦理日韩国产久久| 青青草视频在线观看一区二区| 91精品无码人妻系列| 日韩视频精品在线观看| 九九九网站| 久久久天美| 精品亚州18| 久久a久久| 久久久com| 操高情无码| 国产超碰AV在线精品| 国产精品96久久久久久| 日本三级精品| 欧美同性恋 的搜索结果 - 91n| 97超碰色屌| 五月天丁香欧洲日韩| 久久久精品成人国产| 精品人妻中文字幕4399| 亚洲无码国产探花在线观看| 国产精品久久久久久高清无码免费看| 日本久久超碰| 精品综合久久久久久五月天| 精品人妻一区二区三区四区石在线| 日韩大香蕉AV影片| 大香久久| 亚洲人妻爽爽爽| 无码二级三级| 91亚洲最新在线| 亚洲 中文 欧美 日韩 在线| 99热在线只有精品| 日韩本不卡视频在线观看 | 伊人精品久久网站| 国产精品人妻熟女aⅴ| 久久精品国产精品一区| 99re免费视频精品全部| 人人 操人人 操人人| 国产乱伦亚洲色图高清无码| 国产精品网址| α√在线| www.91色| 97玖玖人妻| 久久这里精品国产99丫e6| 校园春色亚洲欧洲| 嗯嗯啊啊的视频| 久久久久久免费电影| 精品久操| 久久九色| 国产精品女生av| 亚洲欧美自拍偷拍| 五月丁香色综合| 国产欧美美女免费观看视频| 日韩AV一区二区三区三州三州| 国产性感在线观看| 老司机午夜精品福利视频一区二区| 久久精品99久久久久久| 蜜臀Av一区二区三区| 国产91 丝袜在线播放00-百度| 99精品成人免费看| 深夜激情| 夜夜欧美| 国产二区三区免费视频| 亲子敌伦对白在线播放| 大香蕉乱级| 精品国产91内射久久| 岛国AB视频| 五月丁香综合激情| 毛片17S| 97在线青| 白丝av| 日本一区二区不卡精品| 欧美在线官网| 亚洲色图欧美色图制服诱惑| 丝袜 中出 制服 人妻 美腿 中文字幕| 东北熟女91| 免费一级黄色录像影片| 丁香五月激情综合| 亚州国产成人精品女人久久 | www.色综合| 综合色图亚洲欧美| 视频黄站| 青娱乐福利99| 五月丁香影院| 国产少妇内射| 收看日本人日bb| 中文字幕 国产 精品| 人人乐大香蕉| 亚洲精品熟妇1区2区3区。| 国产操逼网站亚洲一级黄色| 国产亲戚伦亲在线| 97人人爱人人做人人乐| 久久精品久久久久久久| 91狠狠综合久久| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 青娱乐妇女性生活| 人妻偷拍一区二区三区| 91熟女熟妇视频网站| 亚洲最大的黄色电影网站。| 嗯嗯啊好大| 欧美天天| 亚洲精品久久久久久久久豆丁网| 一区二区三区成人| 无遮挡一级毛片视频免费的| 久久中日麻豆| 91大神精品长腿在线观看网站| 思思热在线观看| 夜夜免费视频| 亚洲AV永久无码一区仙野| 日本不卡二三区| 色综合一本| 密桃99999| 好色美女九七第一页| 日日摸夜夜夜夜爽| 久久久久极品| 日本在线激情一区二区三区| 成人资源中文字幕在线观看| 久操精品网| 中文字幕熟女人妻丝袜丝| 亚洲第一无码播放立川理惠| 日本最新1区2区3区| 日韩肏逼视频| 操人妻丝袜高跟| 91亚州| 九九九网页| 男人天堂网址| 熟啊v色欧美热| 亚洲av无码国产精品字幕| 人妻日日夜夜精品| 国产在线强奸视频| 亚洲国产青青| 天天爽夜夜操| 国产中出内射一区二区| 天堂精品小草| 日本三级R| 91精品国产91熟女| 青青草视频久久久久| 自拍偷拍国产欧美日韩韩| 久久、1234| 91天堂色男人的天堂| 日韩精品资源| 台湾佬中文娱乐自偷自拍| 日韩精品在线视频,日韩精品……| 99re3这里只有精品| 涩综合导航| 日韩久草| 天无日色综合| 九月激情婷婷| 久久精品国产亚洲粉嫩| 自拍丝袜美腿人妻| 国产92麻豆天美精品色欲5| 欧美在线亚洲| 综合网~91综合网| 精品毛片久久久精品毛片| 少妇的嫩逼图片| 少妇蜜汁| 免费人成?大片在线播放| 欧美日韩资源| 久久美国毛片| 一摸二插三插| 综合久欧洲| 日韩性爱1级片视频| 欧洲精品欧洲精品| 天美AV片| 伦理片秋霞免费影院| 欧美亚洲激情| 超碰一区二区| 日日干夜夜操视频h| 国产免费永久精品无码| 青青操网| 91老妇女| 可免费观看的av毛片中日美韩| 最新加勒比丝袜在线| 日韩性爱视频在线免费观看| 国语精品对白| 日韩大香蕉精品在线视频| 校园春色之综合网| 欧美性爱在线无码| 午夜.DJ高清在线观看免费7| 91bbb| 97超碰中文字幕| 国产自产91区13区| 久久99久久99精品免视看婷婷| 超碰色男人操熟女| 91色综合| 国产97在线 | 亚洲| 综合性视频99| 欧美国产操逼| 青青草手机在线免费观看| 五月天婷婷基地| 97任你吞精| 国产欧美精选自拍一区| 蜜乳中文字幕a在线| 男人综合网| 我爱操| 国产熟女自拍| 五月天亚洲网| 午夜无码熟妇丰满人妻| 日日夜夜噜| 一区中文字幕二区日韩| 亚洲综合另类欧美久久久| 999在线电影香蕉| 99九九精品| 欧美综合 站| 一区二区三区 丝袜高跟| 一二三啪啪专区| 超碰亚洲欧美日韩无| 盗摄 精品 另类 一区| 91超级碰碰碰| 婷婷五月成人| www.97在线| 久久a久久| 天堂日本亚洲欧美| 欧美页片| 亚洲老司机123专区| 欧美大战久久久伊人| 男人的天堂在线| 一区二区视频你懂的| 婷婷五月天无码 | 插欧洲美女欧美精品| 欧亚性爱视频免费看| 欧美熟妇人体| 天天操天天插| 很黄很污的免费网站| 大香蕉在线免| 激情四射婷婷六月天| 91 国产丝袜在线播放-百度| 国内外激情在线| 校园春色亚洲色图| 富女玩鸭子一级毛片| 久久精品福利影院| 在线强奷到舒服的无码视频 | 日韩午夜精品一区二区三区电影| 日本在线播放不卡一区| 欧美毛片在线网| 色 婷97| 好看的久久不射无码影视影院| 中文字幕伊人| 成人怡红院| 亚洲一曲日韩精品| 久久激情网| 有码人妻系列| 1204人成网站色www| 欧美色视| AAAAAAAAA黄片| 婷婷五月天伊人| 久草资源欧美在线视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美国产伊人久久久久| 亚洲人成色9999精品久久| 伊人一区二区三区| 大香蕉人妻久久| 日韩成人精品| 992这里有精品| 日本熟妇色熟妇在线视频播放| 99少妇内射| 自拍偷拍亚洲熟女妇人精品| 亚洲第一综合| 物业黑人 AV一区| 97干色| 亚欧国产无码精品在线| 麻豆九九九| 日韩啪啪视频| 国产成人自拍视频在线| 97日视频| 亚洲欧美成人网站AAA| 国产一区二区欧美日本| 日本精品免费一区二区三区四区| 国产精品久久久久婷婷二区次| 韩国黄片aaaa| 躁躁日曰躁2020| 婷婷五月天激情四射| 国产无套粉嫩白浆在| 国产丰满少妇久久久精品影院| 97超碰9| 一区二区三区激情在线观看| 新视频sss国产| 精品国模无码| 美女露胸露屁股| 天天综合色图| 亚洲日本韩国在线| 久久久熟女一区| 亚洲乱伦图片视频| 性老妇一区二区三区| 俄罗斯及免费在线看| 日本三级黄页| 天天狂操夜夜狂日| 色色综合网站| 色色97爱| 3571色综合一区二区二区| 超碰97极品9| 首页中文字幕中文字幕免费| 丰满人妻一区二区中文| 色黄色美女大长腿午夜视频| 日日骚av| 91久久免费视频互動交流| 插入综合网| 97极品无码| 婷色五月| 大学生美女口爆| 97在线日韩中文字幕| 超碰人妻久久人妻中文97| 91亚洲人| 婷婷三区| 成人AV超碰免费在线| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 久久国产免费激情视频| 老女人老91妇女老热女| 欧美经典一区二区三区| 啊啊啊啊啊好舒服视频| 日韩黄色一区二区三区| 欧美色爱综合| 欧美午夜精品久久久久久3D| 国产又粗又大硬免费色网视频| 色综合一区二区三巨| 国产一级舔足在线观看| 麻豆AV96熟妇人妻| 亚洲最新av无码成人精品区 | 无码人妻一区二区三区色欲aⅴ| 青青草视频导航官网| 在线国产福利网址导航 | 美女自卫慰黄网站免费| 99999国产精品| 在线天堂999| 日本三级小说中文字幕| 乱伦熟妇一区二区| 大香蕉色欲AV| 中文字幕在线观看丝袜| 国产又猛又粗又爽又黄| 屁股久久久久久久久| 99热亚洲| 正在播放国产精品一区| 4tube欧美女厕所| 青青草自拍视频在线播放| 欧美人人曰人人操人人射射| 欧美精品亚洲精品日韩传电影| 婷婷丁香六月天| 日韩成年人性爱视频| 日本新免费二区三区| 大香蕉五月天| 中文字幕日韩专区精品系列| 精品丰满熟妇人妻一区| 后入内射蜜桃臀| 99久久久er直播网址| 亚洲高清自拍| 国产精品动态一区二区三区四四| 欧美日韩超碰在线| 日本精品无码三级网站| 亚洲激情视频| 99国产精品自在自在| 中文字幕一区二区三区蜜臀| 粉嫩在线一区二区懂色| 国产家庭乱伦表演| 麻豆熟妇乱妇熟色A片在线看| 人妻精品一区二区全免费| 成人av动漫在线观看| 涩综合导航| 国产精品夜夜| 亚洲色图第一页| 久久熟妇五十路一区| 天天躁日日躁AAAXX| 免费一级性爱久久| 大香蕉综合网| 亚洲欧美视| 91在线丝袜视频| 情色日播放AV| 婷婷性爱| 国产人妻天天干精品| 国产最火爆久久国产网站网站| 国内一级精品| 色香91| 伊人久久大香线综合无码| 超踫中文字幕| 亚洲中文字幕网| 国产亚洲禁久一区二区| 午夜亚洲国产理论秋霞| 日本伦乱九九九综合| 日韩小电影| 久久久亚洲熟妇资源| 91无摭挡| 国产视频小说| 综合久久99亚洲人妻中文在线| 久久伊人网视频一区二区三区| 少妇一线天久久久久久| 日韩中文字幕二区| 无码免费精品高清| 日韩丰满熟妇| 精品人妻av在线播放| 亚洲欧美日韩免费电影| 1级黄色夫妻对换性交免费看| 黑人免费福利视频| 国产美女高潮| 2024年最新色情网站在线观看| 综合色91| 91美女网站| www.超碰在线| 95自拍视频在线观看| 国产一区二区成人av在线播放| 久久久久久久人妻丝袜| 天天综合网91| 26uuu久久| 99久久久久久亚洲精品不卡| 亚洲激情在线观看一区| 中文字幕一区二区免费在线| 国产精品熟女九色九色蜜臀| 中国女人内射6XXXXX| 蘋果手機免費看成人Av| 精品999日本| 黄久在线| 青青在线视频免费| 欧美第二页| 性饥渴少妇av无码毛片| 国产成年免费大片黄在线观看| 日本精品无码三级网站| 日韩激情啪啪| 日本超碰在线国产一区| 色女99一级片在线观看| 夜草欧美| 日本免费二区三区| 夜夜爽夜夜| 欧美性爱91| 色牛牛AV| 中文字幕av久久爽Av| 亚洲蜜臀视频精品久久| 台湾佬大香蕉| 影音先锋日本乱伦| 人人操人人大香蕉| 艳美熟妇先锋一二三区| 亚拍在线| 亚洲国产97| 26uuu性| 91婷婷| 啊啊啊啊二区好大| 蜜臀99久久精品久久久久久| 91亚洲欧美| 蜜乳AV一区| 精品久久視頻在线| 熟妇高潮精品一区二区三区下载| 欧美午夜熟妇黑人精品91| 9色国产精品一区粉嫩| 99在线精品视频| 91A欧美电影网站| 黑人猛交| 秋霞蝌科网日本一区| 久久久久久亚洲精品不卡人乳| 啊啊啊啊啊啊好湿好爽视频| 91美女视频。| 天天色黄色影院天天操| 婷婷五月花| 亚洲视频二区 | 香伊人在线| 欧亚在线视频| 午夜精品久久久久久久99热影院 | 99热综合| 肉丝无码中文高清| av网站在线看| 一起草AV| 久久久九九| 91久久免费视频互動交流| 五月丁香啪啪网| 东京热不卡视频| 免费岛国一级片| 天天色粽合合合合合合合| 狠狠躁日日躁夜夜躁A| 色综合一本| 干b网| 久久久久久久久久va| 色色99| 四季av一区二区凹凸精品小说| ,成人免费啪啪视频| 天天日日舔舔| 97亚洲在线| 久久婷婷五月| 欧美亚洲手机在线| 欧美在线播放aaaa| 69丨亚洲丨精品丨入口免费播放| 欧美一区二区日韩三区| 97色插| 亚洲欧美综合| 天天综合~91入口| 91欧美网| 日本 欧美 亚中文字幕| 精品免费囯产一区二区三区| 久99久视频| 免费男人的天堂| 亚卅熟女乱色| 熟女久久| 国产成人+综合亚洲+天堂| 中文子幕一二三| 美女午夜福利免费视频| 一区二区三区色综合| 26UUU欧美激情一区二区| 粉嫩AV一区夜夜嗨| 人妻丰满熟妇一区二区三| 人人综合| 一区操逼日比视频| 中字一区| 国产免费一区在线观看| www欧美91| 麻豆久久视频在线地址| 日韩免费在线观看不卡| 九九久久国产精品| 国产人伦a片信息免费片| 日本不卡三级网在线播放| 国产999精品久久久| www.超碰在线| 欧美亚洲激情| 99亚洲人人| 1024人妻熟女一区二区三区| 人妻美腿丝袜日韩| 亚洲黄网在哪免费看| 亚洲av资源| 人妻精品4K4K4K4K4| 韩国一级婬片A片无码天美| 97免费视频在线观看视频| 久久久久国产无av| 91天天综合日韩欧美| 亚洲男人的天堂V| av在线一区二区三区| 欧洲综合色| 97在线欧洲| 日韩女模中文造逼| 欧美男人天堂| 日韩八十路老熟女| 偷拍 精品另类 凸凹了四区| 日本人妻中文字幕| 18精品一二区| 啊啊啊好舒服好爽啊啊啊视频| 91天堂色男人的天堂| 天天做天天爱| 超碰欧美在线欧美| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 东京成人一区| 亚洲欧美国产日本一区二区三区| 少妇综合| 欧美黑人日韩少妇色情| 亚洲色图 欧美热图 清纯唯美 另类自拍| 影音先锋新男人| 国产97av| 亚洲人91| 欧美嗯啊……在线观看视频免费| 99蜜桃臀久久久欧美精品网站| 色色丁香| 日韩亚洲中文字幕在线| 国产精品久久久 | 色激情综合网站| 少好三P| 九九英色视频| 熟女精品一区二区三区| 国产一级αv免费看片| 亚洲综合精品国产一区| 国产老太乱伦一区| 久久久久96| 精品十三区| 混色激情av| 国产久久久久久久久一区二区| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 丁香五月综合| 久久久国产亚洲精品系列| 国产女同在线观看视频| 高精欧美色| 日韩综合97P| 91中文精品日韩欧美在线| 国产av尤物| 色区久久| 91free福利| 国产精品一区二区三区,亚洲综合| 探花视频免费观看国产专区| 91老司机精品| 大色网久久| 九九九九97| 久操视频免费观看| 色九九九综合| 岛国黄| av2014 日韩在线中文字幕| 日本淫穴在线| 欧美一区二区传媒| 欧美爆操91| 一区二区三区男女操逼黄色小电影| 久久香蕉网| 婷婷亚洲综合| 91丨九色丨大屁股| 91丨九色丨国产打屁股| 国模吧 一区二区三区| 国产一区二区欧美日本| 国产成人bd在线观看| 久干9操| 亚洲黄色a级片| 91爆操视频| 麻豆国产96在线| 欧美刺激色黄片免费看| 久久99亚洲精品久久99果| 亚洲中文字幕精品久久久久久直播| 岛园激情| 日本三级中国三级99人妇网站| 国产成人+综合亚洲+天堂| 99色在线| 大鸡巴久久久| 亚洲欧美天堂在线| 97超碰逼| 亚洲欧美日韩电影网站一区 | 欧美中字二区| 91超碰碰在线| 色欲久久99精品久久| 少妇的嫩逼图片| 蜜臀久久99精品久久久电影| av一区二区三区不卡| 日韩无码三级影院| 天堂中文资源在线bt| 人妻人人操| 日韩无码嘿咻黑热久| 国产偷仑| www久久精品| 91少妇人妻| 麻豆综合一区av| 五月丁香拍拍激情综合三级| 一级免费啪啪片| 亚洲色堂免费视频| 天美传媒在线一区| 九九九国产精品| 国产一区二区二区按摩精品啪视频| 国产辣妈在线视频福利| 丁香五月综合| 国产精品老熟女一区二区| 草久久久| 亚洲丝袜二区在线| 夜夜草天天| 中文字幕人妻色偷偷久久皮| 天美传媒av在线| 女人久久久| 无码高清国产AV| 婷婷九月色| 东北女人| 黄色无码高清黄色无码网站| 天堂中文日本在线观看| 日B操| 97在线观看播放视频| 日本国产高清色www视频在线| 91丨熟女丨丰满熟女| 六月天婷婷| 内射黑人| 天天综合青苹果| 日本三级一区二区 在线| 久青草影院| 色www精品视频在线观看| 久久中文字幕在线观看| 欧美日韩亚洲一区二区在线观看| 久久xx| 蘋果手機免費看成人Av| 丝袜美腿av女优在线| 美女国产一区二区久久| 97中文天堂| 青青草原成人| 国产精品女生av| 97天天爽| 亚洲中文sv| 国产h片在线观看视频| 草b在线| 72av视频| 1024人妻熟女一区二区三区| 久久一留热品黄| 玖玖久久久| 成人午夜视频免费播放| 最新av在线| 狠狠久久手机视频精品| 人妻少妇色综合| 欧美在线|亚洲| 亚洲囯产精品女人久久久| 日韩在线视频1234| 中文字幕激情小说| 极品尤物在线观看| 久热大香蕉网站| 亚洲人妻在线一区| 97超碰逼| 操啊国产| 嗯嗯嗯啊啊啊操的我好爽 | 亚洲人人夜夜澡人人爽| 人人干黄色| 中文字幕精品丝袜| 蜜臀99久久| 久久极品一区二区| 超碰97COm中文| www.婷婷五月天| 大香蕉线| 丁香五月激情网| 99热伊人| 96精品在线| 九色黄站| 91九久| 激情五月天中文字幕色| 久久一二区四| 国内亚洲高清无码| 韩国女主播青草在线| 日韩无码精品综合久久| 台湾大香蕉99热| 人人人摸人人| 亚洲一二三| 亚欧日韩成人| 麻豆区久久久久亚| 国产AV超爽| 91精品久久久久| 91xingse| 欧美高清无码免费视频高清版| 91色图片| 国产日韩欧美亚洲精品95| 中国熟女91| www色色色com| 91夜色| 欧美色日本| 国语对白在线播放视频| 抽插亚洲无码| 亚洲中文制服诱惑| 无码免费在线观看黄色片| 大香蕉青青9| 综合激情婷婷| 欧美狠狠干| 欧美性爱一区二区三区四区 | 日本五区不卡| 国模一区二区三区| 翔田千里爆乳巨臀无码| 九九九精品一区二区无码| 中日高清无码操逼视频| 97AV在线观看| 精品999日本| 欧美综合区| 中日韩免费看男女操逼大全| 91 亚洲情侣偷拍 久久| 91久久久久久| 伊人专区一区二区三区| 9ⅰ久久久天天| 激激五月| 免费在线黄片视频| 97精品免费视频网站| 97精品97| 人妻嗯啊啊在线播放| 91av一区二区在线观看| 91精品婷婷国产综合久久| 久久99国产综合精品女同| AAAAAAAAA黄片| 97在线免费看视频| 天天看高清麻豆| 亚洲性爱高潮影院| 欧美黑人精品在线播放| 大香蕉中文在线| 加勒比伊人影院| 亚洲天堂色图| 亚洲第一在线视频| 久久久久久亚洲Av无码| 四虎影视国产精品| 97露脸精品丝袜| 嗯啊不要啊在线| 国产极品一区二区三区三州| 操逼A∨| 久久有码视频| 9长久久精品| 伊人影院在线理论播放| 亚洲欧美经典一区二区| 男人天堂黄片| 日韩一级二级三级免费看完整版| 国产精品动态一区二区三区四四| 99re这里只有精品3| av中文在线| 黄色av片三级三级三级免费看| 国产精品一区二区手机看片| 色综合天天爱去电影网| 日韩色图 一区二区| 超碰97玖玖爱| 亚洲情色第一页| 99视频精品| 日韩欧美字幕亚洲一区二区 | 亚洲欧美日产国产91毛片| 天美av在线观看| 狠狠干狠狠干| www.色操逼| 欧美午夜一区二区三区| 少妇人妻太紧太深av| 天天射天天操天天干天天吃2018| 91网站18禁| 91精品导航| 国产精品丝袜在线| 亚洲第一页综合在线| 任我爽在线视频免费观看| 啊啊啊啊操死我了| 69综合网| 精品视频97| 欧美日韩222| 中文字幕版| 欧美一区二区传媒| 伊人久久国产免费观看视频| 日韩美女久久一区二区三区| 亚洲欧美大| 91蜜臀在线久久久久| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒| 丰满人妻一区二区三区大胸懂色| 欧洲成人性爱视频| 福利伊人玖玖国产| 高清无码 国产精品| 国产精品一级片在线看| 日本性爱网址| 国产女人91精品嗷嗷嗷嗷| 性爱av网站| 五月天丁香网| 色婷五月天| 亚洲 欧美 91| 97色插| 97久久久精品| 蜜桃狠狠色伊人亚洲综合 | 综合av社区| 色官网色综合| www.国产高潮精品|