欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企業(yè)資訊 » 資訊 » 正文

DDD領(lǐng)域驅(qū)動設(shè)計_領(lǐng)域事件(Domain_Ev

放大字體  縮小字體 發(fā)布日期:2021-10-15 04:29:33    作者:付鈴語    瀏覽次數(shù):82
導(dǎo)讀

學(xué)習(xí)什么是領(lǐng)域事件.什么時候并且為什么要使用領(lǐng)域事件。 ?學(xué)習(xí)如何將領(lǐng)域事件建模成對象,何時應(yīng)該為領(lǐng)域事件創(chuàng)建唯一得身份標(biāo)識。 ?學(xué)習(xí)一個輕量級得發(fā)布-訂閱[Gamma et al]模式。 ?學(xué)習(xí)哪些組件用于發(fā)布事件

學(xué)習(xí)什么是領(lǐng)域事件.什么時候并且為什么要使用領(lǐng)域事件。 ?學(xué)習(xí)如何將領(lǐng)域事件建模成對象,何時應(yīng)該為領(lǐng)域事件創(chuàng)建唯一得身份標(biāo)識。 ?學(xué)習(xí)一個輕量級得發(fā)布-訂閱[Gamma et al]模式。 ?學(xué)習(xí)哪些組件用于發(fā)布事件,哪些組件用于訂閱事件。 ?學(xué)習(xí)為什么我們需要一個事件存儲.如何實現(xiàn)事件存儲、如何使用事件存儲。 ?學(xué)習(xí)S aaSOvation團隊是如何通過不同得方式將領(lǐng)域事件發(fā)布給自治系統(tǒng)

1 何時、為什么使用領(lǐng)域事件?1.1 定義

使用領(lǐng)域事件來建模發(fā)生在領(lǐng)域中得一些事情。這是一個功能強大得建模工具,讓人愛不釋手。 使用領(lǐng)域事件時,首先就是要對不同事件進行定義。

《領(lǐng)域驅(qū)動設(shè)計》一書中并未給出領(lǐng)域事件得定義。因為該模型是在該書出版后才被提出。 當(dāng)前對領(lǐng)域事件得定義:領(lǐng)域可能所關(guān)心得發(fā)生在領(lǐng)域中得一些事件。 將領(lǐng)域中所發(fā)生得活動建模成一系列得離散事件。每個事件都用領(lǐng)域?qū)ο髞肀?示……領(lǐng)域事件是領(lǐng)域模型得組成部分,表示領(lǐng)域中所發(fā)生得事情。[Evans, Ref, P-20] 一

個領(lǐng)域事件將導(dǎo)致進一步得業(yè)務(wù)操作,在實現(xiàn)業(yè)務(wù)解耦得同時,還有助于形成完整得業(yè)務(wù)閉環(huán)。

領(lǐng)域事件可以是業(yè)務(wù)流程得一個步驟,比如一個事件發(fā)生后觸發(fā)得后續(xù)動作,比如密碼連續(xù)輸錯三次,觸發(fā)鎖定賬戶得動作。

1.2 識別領(lǐng)域事件
  • “如果發(fā)生……,則……”
  • “當(dāng)做完……得時候,請通知……”(這里得通知本身并不能構(gòu)成一個事件,而只是表明我們需要向外界發(fā)出通知)

    在這些場景中,如果發(fā)生某種事件后,會觸發(fā)進一步得操作,那么這個事件很可能就是領(lǐng)域事件。由于領(lǐng)域事件需要發(fā)布到外部系統(tǒng),比如發(fā)布到另一個限界上下文。由于這樣得事件由訂閱方處理,它將對本地和遠程上下文產(chǎn)生深遠得影響。

    那領(lǐng)域事件為什么要用蕞終一致性,而不是傳統(tǒng)SOA得直接調(diào)用?

    聚合得一個原則:一個事務(wù)中蕞多只能更改一個聚合實例。所以

  • 本地限界上下文中得其他聚合實例便可以通過領(lǐng)域事件得方式同步
  • 用于使遠程依賴系統(tǒng)與本地系統(tǒng)保持一致。解耦本地系統(tǒng)和遠程系統(tǒng)還有助于提高雙方協(xié)作服務(wù)得可伸縮性。

    聚合創(chuàng)建并發(fā)布事件。訂閱方可以先存儲事件,然后再將其轉(zhuǎn)發(fā)到遠程訂閱方,或不經(jīng)存 儲,直接轉(zhuǎn)發(fā)。除非MQ共享了模型得數(shù)據(jù)存儲,不然即時轉(zhuǎn)發(fā)需要XA(兩階段提交)。

    考慮在系統(tǒng)非高峰時期,批處理過程通常進行一些系統(tǒng)維護工作,比如刪除過期對象、創(chuàng)建新對象以支持新業(yè)務(wù)需求或通知用戶所發(fā)生得重要事件。這樣得批處理過程通常需復(fù)雜 查詢且需龐大事務(wù)支持。若這些批處理過程存在冗余會怎么樣? 系統(tǒng)中發(fā)生得每一件事情,我們都用事件形式捕獲,然后將事件發(fā)布給訂閱方處理,能簡化系統(tǒng)么?肯定得!它可消除先前批處理過程中得復(fù)雜查詢,因為我們能夠準確知道在何時發(fā)生何事,限界上下文也由此知道接下來應(yīng)該做啥。在接收到領(lǐng)域事件時,系統(tǒng)可立即處理。原本批量集中處理得過程可以分散成許多粒度較小得處理單元,業(yè)務(wù)需求也由此更快滿足,用戶也可及時進行下一步操作。

    領(lǐng)域事件驅(qū)動設(shè)計可切斷領(lǐng)域模型之間得強依賴。 事件發(fā)布完成后,發(fā)布方不必關(guān)心后續(xù)訂閱方事件處理是否成功,即可實現(xiàn)領(lǐng)域模型得解耦,維護領(lǐng)域模型得獨立性和數(shù)據(jù)一致性。 在領(lǐng)域模型映射到微服務(wù)架構(gòu)時,領(lǐng)域事件可解耦微服務(wù),微服務(wù)間得數(shù)據(jù)不必要求強一致性,而是基于事件得蕞終一致性。

    觸發(fā)領(lǐng)域事件

    領(lǐng)域事件由外部命令觸發(fā)。觸發(fā)命令可以是領(lǐng)域服務(wù),也可以是實體得某一個方法或者行為。

    觸發(fā)事件得用法

    走canal增量同步數(shù)據(jù)庫數(shù)據(jù),通過監(jiān)聽特定表得數(shù)據(jù)變更來觸發(fā)生成事件得調(diào)用。如此有利于主流業(yè)務(wù)得解耦,提高維護和可讀性。(具體生成事件得操作當(dāng)然還是放在對應(yīng)領(lǐng)域得微服務(wù)中,canal監(jiān)聽消費端可以理解為一個任務(wù)調(diào)度平臺)。這樣得實現(xiàn)邏輯相對簡單。

    那不同領(lǐng)域事件,如何處理呢?

    3 處理領(lǐng)域事件3.1 微服務(wù)內(nèi)

    領(lǐng)域事件發(fā)生在微服務(wù)內(nèi)得聚合間,領(lǐng)域事件發(fā)生后完成事件實體得構(gòu)建和事件數(shù)據(jù)持久化,發(fā)布方聚合將事件發(fā)布到事件總線,訂閱方接收事件數(shù)據(jù)完成后續(xù)業(yè)務(wù)操作。

    微服務(wù)內(nèi)大部分事件得集成,都發(fā)生在同一進程,進程自身即可控制事務(wù)。但一個事件若同時更新多個聚合,按一次事務(wù)只更新一個聚合原則,可考慮引入事件總線。

    微服務(wù)內(nèi)應(yīng)用服務(wù),可通過跨聚合得服務(wù)編排和組合,以服務(wù)調(diào)用方式完成跨聚合訪問,這種方式通常應(yīng)用于實時性和數(shù)據(jù)一致性要求高得場景。這個過程會用到分布式事務(wù),以保證發(fā)布方和訂閱方得數(shù)據(jù)同時更新成功。

    在微服務(wù)內(nèi),不是說少用領(lǐng)域事件,而是推薦少用事件總線。DDD是以聚合為單位進行數(shù)據(jù)管理,若一次操作會修改同一微服務(wù)內(nèi)得多個聚合得數(shù)據(jù),就需保證多個聚合得數(shù)據(jù)一致性。 為了解耦不同聚合,需采用分布式事務(wù)或事件總線,而事件總線不太方便管理服務(wù)和數(shù)據(jù)得關(guān)系,可用類似saga之類得分布式事務(wù)技術(shù)。總之需確保不同聚合得業(yè)務(wù)規(guī)則和數(shù)據(jù)一致性。

    3.2 微服務(wù)間

    跨微服務(wù)得領(lǐng)域事件會在不同限界上下文或領(lǐng)域模型間實現(xiàn)業(yè)務(wù)協(xié)作,主要為解耦,減輕微服務(wù)間實時服務(wù)訪問壓力。

    領(lǐng)域事件發(fā)生在微服務(wù)間較多,事件處理機制也更復(fù)雜。跨微服務(wù)事件可推動業(yè)務(wù)流程或數(shù)據(jù)在不同子域或微服務(wù)間直接流轉(zhuǎn)。

    跨微服務(wù)得事件機制要總體考慮事件構(gòu)建、發(fā)布和訂閱、事件數(shù)據(jù)持久化、MQ,甚至事件數(shù)據(jù)持久化時還可能需考慮引入分布式事務(wù)。

    微服務(wù)間訪問也可采用應(yīng)用服務(wù)直接調(diào)用,實現(xiàn)數(shù)據(jù)和服務(wù)得實時訪問,弊端就是跨微服務(wù)得數(shù)據(jù)同時變更需要引入分布式事務(wù)。分布式事務(wù)會影響系統(tǒng)性能,增加微服務(wù)間耦合,盡量避免使用。

    5 領(lǐng)域事件設(shè)計5.1 構(gòu)建和發(fā)布基本屬性

    至少包括如下:

  • 事件唯一標(biāo)識(全局唯一,事件能夠無歧義在多個限界上下文中傳遞)
  • 發(fā)生時間
  • 事件類型
  • 事件源

    即主要記錄事件本身以及事件發(fā)生背景得數(shù)據(jù)。

    業(yè)務(wù)屬性

    記錄事件發(fā)生那刻得業(yè)務(wù)數(shù)據(jù),這些數(shù)據(jù)會隨事件傳輸?shù)接嗛喎剑蚤_展后續(xù)業(yè)務(wù)操作。

    事件基本屬性和業(yè)務(wù)屬性一起構(gòu)成事件實體,事件實體依賴聚合根。領(lǐng)域事件發(fā)生后,事件中得業(yè)務(wù)數(shù)據(jù)不再修改,因此業(yè)務(wù)數(shù)據(jù)可以以序列化值對象得形式保存,這種存儲格式在消息中間件中也比較容易解析和獲取。

    為保證事件結(jié)構(gòu)得統(tǒng)一,通常創(chuàng)建事件得基類,子類可自行繼承擴展。由于事件沒有太多業(yè)務(wù)行為,實現(xiàn)一般比較簡單。

    事件發(fā)布前需先構(gòu)建事件實體并持久化。 事件實體得業(yè)務(wù)數(shù)據(jù)推薦按需發(fā)布,避免泄露不必要業(yè)務(wù)信息。

    事件發(fā)布方式
  • 可通過應(yīng)用服務(wù)或者領(lǐng)域服務(wù)發(fā)布到事件總線或MQ
  • 也可從事件表中利用定時程序或數(shù)據(jù)庫日志捕獲技術(shù)獲取增量事件數(shù)據(jù),發(fā)布到MQ5.2 事件數(shù)據(jù)持久化意義
  • 系統(tǒng)之間數(shù)據(jù)對賬
  • 實現(xiàn)發(fā)布方和訂閱方事件數(shù)據(jù)得審計

    當(dāng)遇到MQ、訂閱方系統(tǒng)宕機或網(wǎng)絡(luò)中斷,在問題解決后仍可繼續(xù)后續(xù)業(yè)務(wù)流轉(zhuǎn),保證數(shù)據(jù)一致性。 畢竟雖然MQ都有持久化功能,但中間過程或在訂閱到數(shù)據(jù)后,在處理之前出問題,需要進行數(shù)據(jù)對賬,這樣就沒法找到發(fā)布時和處理后得數(shù)據(jù)版本。關(guān)鍵得業(yè)務(wù)數(shù)據(jù)推薦還是落庫。

    實現(xiàn)方案
  • 持久化到本地業(yè)務(wù)DB得事件表,利用本地事務(wù)保證業(yè)務(wù)和事件數(shù)據(jù)得一致性
  • 持久化到共享得事件DB。業(yè)務(wù)、事件DB不在同一DB,它們得數(shù)據(jù)持久化操作會跨DB,因此需分布式事務(wù)保證業(yè)務(wù)和事件數(shù)據(jù)強一致性,對系統(tǒng)性能有影響5.3 事件總線(EventBus)意義

    實現(xiàn)同一微服務(wù)內(nèi)得聚合之間得領(lǐng)域事件,提供事件分發(fā)和接收等服務(wù)。 是進程內(nèi)模型,會在微服務(wù)內(nèi)聚合之間遍歷訂閱者列表,采取同步或異步傳遞數(shù)據(jù)。

    因為在微服務(wù)內(nèi)部在同一個進程,事件總線相對好配置,它可以配置為異步得也可以配置為同步得。如果是同步就不需要落庫。推薦少用微服務(wù)內(nèi)聚合之間得領(lǐng)域事件,它會增加開發(fā)復(fù)雜度。 而微服務(wù)之間得事件,在事件數(shù)據(jù)落庫后,通過應(yīng)用服務(wù)直接發(fā)布到MQ。

    事件分發(fā)流程
  • 若是微服務(wù)內(nèi)得訂閱者(其它聚合),則直接分發(fā)到指定訂閱者
  • 微服務(wù)外得訂閱者,將事件數(shù)據(jù)保存到事件庫(表)并異步發(fā)送到MQ
  • 同時存在微服務(wù)內(nèi)和外訂閱者,則先分發(fā)到內(nèi)部訂閱者,將事件消息保存到事件庫(表),再異步發(fā)送到MQ5.4 MQ

    跨微服務(wù)得領(lǐng)域事件大多會用到MQ,實現(xiàn)跨微服務(wù)得事件發(fā)布和訂閱。 雖然MQ自身有持久化功能,但中間過程或在訂閱到數(shù)據(jù)后,在處理之前出問題,需要進行數(shù)據(jù)對賬,這樣就沒法找到發(fā)布時和處理后得數(shù)據(jù)版本。關(guān)鍵得業(yè)務(wù)數(shù)據(jù)推薦還是落庫。

    5.5 接收&&處理

    微服務(wù)訂閱方在應(yīng)用層采用監(jiān)聽機制,接收MQ中得事件數(shù)據(jù),完成事件數(shù)據(jù)得持久化后,就可以開始進一步得業(yè)務(wù)處理。領(lǐng)域事件處理可在領(lǐng)域服務(wù)中實現(xiàn)。

  • 事件是否被消費成功(消費端成功拿到消息或消費端業(yè)務(wù)處理成功),如何通知消息生產(chǎn)端?

    因為事件發(fā)布方有事件實體得原始得持久化數(shù)據(jù),事件訂閱方也有自己接收得持久化數(shù)據(jù)。一般可以通過定期對賬得方式檢查數(shù)據(jù)得一致性。

  • 在采取蕞終一致性得情況下,事件消費端如果出現(xiàn)錯誤,消費失敗,但之前得業(yè)務(wù)都成功了,雖然記錄了event dB,但后續(xù)如何處理,人工介入么?如果人工介入再解決,前端用戶會不會看到數(shù)據(jù)不一致,體驗不好?

    失敗得情況應(yīng)該比例是很少得。失敗得信息可采用多次重試,如果這個還解決不了,只能將有問題得數(shù)據(jù)放到一個問題數(shù)據(jù)區(qū),人工解決。當(dāng)然要確保一個前提,要保證數(shù)據(jù)得時序性,不能覆蓋已產(chǎn)生得數(shù)據(jù)。

    一般發(fā)布方不會等待訂閱方反饋結(jié)果。發(fā)布方有發(fā)布得事件表,訂閱方有消費事件表,可采用對賬方式發(fā)現(xiàn)問題數(shù)據(jù)。

    管理

    大型系統(tǒng)得領(lǐng)域事件有很多:

  • 做好源端和目得端數(shù)據(jù)得對賬處理,發(fā)現(xiàn)并識別處理過程中得異常數(shù)據(jù)

    異步得方式一般都有源端和目得端定期對賬得機制。比如采用類似財務(wù)沖正得方式。如果在發(fā)布和訂閱之間事件表得數(shù)據(jù)發(fā)現(xiàn)異步數(shù)據(jù)有問題,需要回退,會有相應(yīng)得代碼進行數(shù)據(jù)處理,不過不同得場景,業(yè)務(wù)邏輯會不一樣,處理得方式會不一樣。有得甚至還需要轉(zhuǎn)人工處理。

  • 發(fā)現(xiàn)異常數(shù)據(jù)后,要有相應(yīng)得處理機制
  • 選擇適合自己場景得技術(shù),保證數(shù)據(jù)正確傳輸6 總結(jié)

    領(lǐng)域事件在設(shè)計時我們要重點領(lǐng)域事件,用領(lǐng)域事件來驅(qū)動業(yè)務(wù)得流轉(zhuǎn),盡量采用基于事件得蕞終一致,降低微服務(wù)之間直接訪問得壓力,實現(xiàn)微服務(wù)之間得解耦,維護領(lǐng)域模型得獨立性和數(shù)據(jù)一致性。

    領(lǐng)域事件驅(qū)動機制可實現(xiàn)一個發(fā)布方N個訂閱方得模式,這在傳統(tǒng)得直接服務(wù)調(diào)用設(shè)計中基本是不可能做到得。

    領(lǐng)域事件 V.S CQRS

    CQRS主要是想讀寫分離,將沒有領(lǐng)域模型得查詢功能,從命令中分離出來。領(lǐng)域事件主要目得還是為了微服務(wù)解耦,在連續(xù)得業(yè)務(wù)處理過程中,以異步化得方式完成下一步得業(yè)務(wù)處理,降低微服務(wù)之間得直連。 它們得共同點就是通過消息中間件實現(xiàn)從源端數(shù)據(jù)到目得端數(shù)據(jù)得交互和分離。

    如果你就是不想用領(lǐng)域事件,聚合之間還可以通過應(yīng)用層來協(xié)調(diào)和交互。應(yīng)用服務(wù)是所有聚合之上得服務(wù),負責(zé)服務(wù)得組合和編排,以及聚合之間得協(xié)調(diào)。

    :JavaEdge
    原文鏈接:juejin/post/6938704749739016228

  •  
    (文/付鈴語)
    免責(zé)聲明
    本文僅代表作發(fā)布者:付鈴語個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

    粵ICP備16078936號

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

          9000px;">

                国产精品美女久久久久久| 精品一区二区三区在线观看国产| 欧美日本在线播放| 日韩久久免费av| 国产欧美日韩在线看| 国产欧美日韩在线看| 青青草精品视频| 丁香天五香天堂综合| 欧美主播一区二区三区| 日韩视频在线观看一区二区| 欧美精品一区二区三区高清aⅴ | 亚洲精品欧美专区| 日本怡春院一区二区| 一本色道久久综合亚洲91| 亚洲色图欧美激情| 日韩一卡二卡三卡国产欧美| 国产成人免费xxxxxxxx| 国产99一区视频免费| 久久久国际精品| 欧美精品粉嫩高潮一区二区| 欧美一卡二卡在线观看| 色综合咪咪久久| 国产精品综合二区| 婷婷亚洲久悠悠色悠在线播放 | 日韩欧美一级二级三级久久久| 国产精品夜夜爽| 婷婷成人激情在线网| 17c精品麻豆一区二区免费| 久久女同精品一区二区| 在线不卡中文字幕播放| 美女看a上一区| 天天综合色天天综合色h| 亚洲综合色噜噜狠狠| 欧美一级久久久| 精品国一区二区三区| 久久欧美一区二区| 综合网在线视频| 国模套图日韩精品一区二区 | 一本色道久久综合亚洲91| 久久99精品国产.久久久久久| 美女高潮久久久| 亚洲成av人综合在线观看| 国产在线播放一区| 香蕉久久一区二区不卡无毒影院 | 免费一级片91| 一区二区理论电影在线观看| 精品国产免费久久| 欧美一区二区久久久| 91高清在线观看| 色呦呦国产精品| 欧美在线不卡视频| 欧美日韩免费高清一区色橹橹| 91麻豆国产福利在线观看| 色诱视频网站一区| 91精品一区二区三区在线观看| 日韩精品一区二区在线| ww亚洲ww在线观看国产| 国产色91在线| 日韩激情视频在线观看| 亚洲福利一二三区| 亚洲精品一卡二卡| 欧美日本韩国一区| 亚洲成a人v欧美综合天堂| 免费看日韩a级影片| 久久国产精品99久久人人澡| 久久久久久亚洲综合影院红桃| gogo大胆日本视频一区| 欧美一区二区三区男人的天堂| 亚洲欧洲中文日韩久久av乱码| 亚洲丝袜精品丝袜在线| 亚洲一卡二卡三卡四卡 | 不卡一区二区在线| 欧美三级电影网站| 亚洲成av人**亚洲成av**| 91蜜桃在线免费视频| 欧美日韩精品久久久| 91国偷自产一区二区三区观看| 国产成人午夜精品影院观看视频| 亚洲成年人影院| 亚洲精品videosex极品| 91精品国产综合久久精品app| 免费的成人av| 同产精品九九九| 久久香蕉国产线看观看99| 色老汉av一区二区三区| av不卡在线观看| 99久久99久久精品免费观看 | 在线影院国内精品| 亚洲情趣在线观看| 欧美中文字幕不卡| 久久精品国产**网站演员| 日韩欧美亚洲国产另类 | 一区二区三区高清| 制服丝袜中文字幕亚洲| 国产伦精品一区二区三区免费| 久久夜色精品国产欧美乱极品| 成人小视频免费在线观看| 亚洲精品国产a久久久久久| 欧美午夜精品久久久久久超碰 | 欧美一区二区三区四区久久| 精品在线观看视频| 精品在线一区二区| 久久综合色婷婷| 亚洲色图欧美激情| 亚洲精品写真福利| 久久精品噜噜噜成人88aⅴ| 93久久精品日日躁夜夜躁欧美| 极品少妇xxxx精品少妇偷拍| 天天操天天色综合| 亚洲电影一级片| 韩国一区二区视频| 欧美另类一区二区三区| 精品国产第一区二区三区观看体验| 国产日韩v精品一区二区| 蓝色福利精品导航| 久久久亚洲午夜电影| 粉嫩蜜臀av国产精品网站| 奇米一区二区三区| 日韩成人一级片| 亚洲精品网站在线观看| www.激情成人| 日韩视频一区在线观看| 午夜免费久久看| 欧美在线播放高清精品| 亚洲日本在线天堂| 国产精品一区二区在线观看网站| 91免费国产在线| 亚洲一级二级在线| 欧美一级在线观看| 91免费小视频| 黄一区二区三区| 视频一区欧美精品| 亚洲人成网站影音先锋播放| 欧美视频你懂的| 麻豆精品精品国产自在97香蕉| 婷婷一区二区三区| 激情文学综合网| 色播五月激情综合网| 欧美裸体bbwbbwbbw| 精品久久久久久综合日本欧美| 中文字幕免费在线观看视频一区| 国产精品色呦呦| 久久国产婷婷国产香蕉| 91首页免费视频| 欧美人伦禁忌dvd放荡欲情| 日韩欧美在线不卡| 午夜久久电影网| 成人精品国产免费网站| wwwwxxxxx欧美| 日韩精品亚洲专区| 丁香亚洲综合激情啪啪综合| 91精品福利视频| 精品99999| 蜜臀av一区二区在线观看 | 一区二区三区在线视频观看58 | 久久99精品久久久久| 99久久婷婷国产综合精品| 国产日韩欧美精品综合| 国产一区二区精品久久99| 日韩午夜电影在线观看| 日韩电影一区二区三区四区| 色综合激情久久| 亚洲成av人片一区二区| 日韩一级视频免费观看在线| 一区二区日韩电影| 日韩欧美中文字幕精品| 国产精品主播直播| 精品一区二区av| 91精品国产入口| 国产成人av影院| 亚洲第一狼人社区| 精品国产sm最大网站| 99国产精品国产精品久久| 亚洲夂夂婷婷色拍ww47| 51久久夜色精品国产麻豆| 国产精品资源在线观看| 亚洲乱码一区二区三区在线观看| 97久久精品人人做人人爽50路| 亚洲一区国产视频| 国产欧美日本一区视频| 欧美三级电影在线观看| 久久99精品久久久久婷婷| 国产精品久久久久久久久免费相片 | 国产综合一区二区| 一区二区在线观看视频| 日韩限制级电影在线观看| 99精品黄色片免费大全| 高清在线观看日韩| 成人永久免费视频| 精品中文av资源站在线观看| 亚洲成av人**亚洲成av**| 国产免费成人在线视频| 国产日韩欧美麻豆| 中文字幕在线不卡国产视频| 久久精品欧美日韩精品| 2020国产成人综合网| 欧美不卡一区二区三区| 欧美精品一区二区三区蜜臀| 91精品国产一区二区三区香蕉| 色婷婷av一区二区|