精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Seata 分布式事務 XA 與 AT 全面解析

開發 前端 分布式
Seata 是一款開源的分布式事務解決方案,star 高達 19200+,社區活躍度極高,致力于在微服務架構下提供高性能和簡單易用的分布式事務服務。

[[395191]]

Seata 是一款開源的分布式事務解決方案,star 高達 19200+,社區活躍度極高,致力于在微服務架構下提供高性能和簡單易用的分布式事務服務。

目錄

  • XA模式是什么?
  • 什么是 Seata 的事務模式?
  • AT模式是什么?
  • 為什么Seata要支持XA模式?
  • AT與XA之間的關系
  • 總結

1. XA模式是什么?

首先正如煊檍兄所言,了解了什么是XA與什么是Seata定義的事務模式,便一目了然。

1.1 什么是XA

用非常官方的話來說

XA 規范 是 X/Open 組織定義的分布式事務處理(DTP,Distributed Transaction Processing)標準。

XA 規范 描述了全局的事務管理器與局部的資源管理器之間的接口。XA規范 的目的是允許的多個資源(如數據庫,應用服務器,消息隊列等)在同一事務中訪問,這樣可以使 ACID 屬性跨越應用程序而保持有效。

XA 規范 使用兩階段提交(2PC,Two-Phase Commit)來保證所有資源同時提交或回滾任何特定的事務。

XA 規范 在上世紀 90 年代初就被提出。目前,幾乎所有主流的數據庫都對 XA 規范 提供了支持。

1.2 什么是Seata的事務模式?

Seata 定義了全局事務的框架。全局事務 定義為若干 分支事務 的整體協調:1.TM 向 TC 請求發起(Begin)、提交(Commit)、回滾(Rollback)全局事務。2.TM 把代表全局事務的 XID 綁定到分支事務上。3.RM 向 TC 注冊,把分支事務關聯到 XID 代表的全局事務中。4.RM 把分支事務的執行結果上報給 TC。(可選) 5.TC 發送分支提交(Branch Commit)或分支回滾(Branch Rollback)命令給 RM。

Seata 的 全局事務 處理過程,分為兩個階段:執行階段 :執行 分支事務,并 保證 執行結果滿足是 可回滾的(Rollbackable) 和 持久化的(Durable)。完成階段:根據 執行階段 結果形成的決議,應用通過 TM 發出的全局提交或回滾的請求給 TC, TC 命令 RM 驅動 分支事務 進行 Commit 或 Rollback。Seata 的所謂 事務模式 是指:運行在 Seata 全局事務框架下的 分支事務 的行為模式。準確地講,應該叫作 分支事務模式。不同的 事務模式 區別在于 分支事務 使用不同的方式達到全局事務兩個階段的目標。即,回答以下兩個問題:執行階段 :如何執行并 保證 執行結果滿足是 可回滾的(Rollbackable) 和 持久化的(Durable)。完成階段:收到 TC 的命令后,做到事務的回滾/提交

2. 那么什么是Seata XA 模式?

XA 模式:在 Seata 定義的分布式事務框架內,利用事務資源(數據庫、消息服務等)對 XA 協議的支持,以 XA 協議的機制來管理分支事務的一種 事務模式。執行階段:可回滾:業務 SQL 操作放在 XA 分支中進行,由資源對 XA 協議的支持來保證 可回滾 持久化:XA 分支完成后,執行 XA prepare,同樣,由資源對 XA 協議的支持來保證 持久化(即,之后任何意外都不會造成無法回滾的情況) 完成階段:分支提交:執行 XA 分支的 commit 分支回滾:執行 XA 分支的 rollback

以下是XA模式在Seata所定義的事務模式下的設計模型圖片

2.1 什么是Seata AT(TXC) 模式?

去年 1 月份,Seata 開源了 AT 模式。AT 模式是一種無侵入的分布式事務解決方案。在 AT 模式下,用戶只需關注自己的“業務 SQL”,用戶的 “業務 SQL” 作為一階段,Seata 框架會自動生成事務的二階段提交和回滾操作。

通過簡介,其實可以發現AT模式的特點,只需關注自己的業務sql,對業務無入侵的一種分布式事務模式。那么我們應該知道他是怎么對業務做到無入侵的?

2.2 AT 模式如何做到對業務的無侵入 ?

AT模式一階段

  • 首先,在Seata的組件中,如果你想開啟分布式事務,那么就應該在你的業務入口或者事務發起入口加上@GlobalTransactional注解
  • 如果你是AT模式就要做好數據源代理(seata1.0后全面支持自動代理),并被sqlsessionfactroy使用(或者直接jdbc操作使用被代理數據源)

可以發現比較關鍵的異步,與其他模式的區別便是代理數據源,而代理數據源又有什么奧秘呢?

如上圖所示,你的數據源被代理后,通過被DataSourceProxy代理后,你所執行的sql,會被提取,解析,保存前鏡像后,再執行業務sql,再保存后鏡像,以便與后續出現異常,進行二階段的回滾操作。

2.3 AT 模式如何保證隔離性

首先我們拿到官網所展示的文檔來更直觀的描述:

可以通過上圖得出:

一階段本地事務提交前,需要確保先拿到 全局鎖 。

拿不到 全局鎖 ,不能提交本地事務。

拿 全局鎖 的嘗試被限制在一定范圍內,超出范圍將放棄,并回滾本地事務,釋放本地鎖。

兩個全局事務 tx1 和 tx2,分別對 a 表的 m 字段進行更新操作,m 的初始值 1000。

tx1 先開始,開啟本地事務,拿到本地鎖,更新操作 m = 1000 - 100 = 900。

本地事務提交前,先拿到該記錄的 全局鎖 ,本地提交釋放本地鎖。

tx2 后開始,開啟本地事務,拿到本地鎖,更新操作 m = 900 - 100 = 800。

本地事務提交前,嘗試拿該記錄的 全局鎖 ,tx1 全局提交前,

該記錄的全局鎖被 tx1 持有,tx2 需要重試等待 全局鎖 ,如tx2等待所超時,那么tx2便回滾本地事務所以他不會產生臟數據。

AT 模式二階段提交

二階段如果是提交的話,因為“業務 SQL”在一階段已經提交至數據庫, 所以 Seata 框架只需將一階段保存的快照數據和行鎖刪掉,完成數據清理即可。

AT 模式二階段回滾

二階段如果是回滾的話,Seata 就需要回滾一階段已經執行的“業務 SQL”,還原業務數據。回滾方式便是用“before image”還原業務數據;但在還原前要首先要校驗臟寫, 對比“數據庫當前業務數據”和 “after image”, 如果兩份數據完全一致就說明沒有臟寫,可以還原業務數據,如果不一致就說明有臟寫, 出現臟寫就需要轉人工處理。

完整的AT在Seata所制定的事務模式下的模型圖:

3. 為什么支持XA?

首先我們應該從AT去做判斷,為什么Seata有了AT模式還去做XA的支持

  • 從視角出發:首先,我們來總結下AT模式,首先所有的事物發起,都是從TM(不僅AT) 且數據的讀已提交只能在應用中見效(用戶自行開發的系統),對資源的查看,無法做到全方面 而XA可讓資源也感知到自身已處于全局事務中,對資源的隔離性可由數據庫本身來實現,滿足 全局一致性
  • 從入侵性,數據庫支持角度:業務無入侵的更徹底,少于2個服務的操作,僅使用本地事務即可滿足一致性,而AT需要 全局鎖來保證隔離性,所以無論是1個服務,單庫的操作,還是n個服務都需要開啟全局事務來保證 隔離性。對數據庫的支持,如果AT需要支持mysql,pgsql,oracle以外的數據庫,需要做適配,并且 對復雜sql的解析成本更大,開發效率低,支持的sql數量少,XA可全方位支持數據庫的sql語句 多語言支持,如果你有java應用已經使用了seata xa那么本地數據庫已經幫我們保證了隔離 性,即便其余seata不支持的語言和java并行處理下,數據也不會出現不一致的情況。

4. 為什么Seata要支持XA模式?

  • 數據鎖定:在整個事務處理過程結束前,涉及數據都被鎖定,讀寫都按隔離級別的定義約束起來。
  • AT 模式使用 全局鎖 保障基本的 寫隔離,實際上也是鎖定數據的,只不過鎖在 TC 側集中管理 解鎖效率高且沒有阻塞的問題,且XA本地數據庫可能持有間隙鎖,造成鎖的粒度更大,鎖定更多無辜數據
  • 死鎖(協議阻塞):XA prepare 后,分支事務進入阻塞階段,收到 XA commit 或 XA rollback 前必須阻塞等待。如果沒有一個靠譜的協調者存在,比如abc三個庫的數據被二階段決議為提交,此時ab收到的指令,提交后,c庫在收到指令后掛了,并沒有提交xa事務,或者協調者沒有做到二階段重試,那么這個沒有提交的xa事務將會一直 持有鎖,造成死鎖的局面
  • 性能差:性能的損耗主要來自兩個方面:一方面,事務協調過程,增加單個事務的 RT;另一方面,并發事務數 據的鎖沖突,降低吞吐。其實主要原因就是上面的阻塞跟數據鎖定造成,因為xa的一階段并非提交,如果一階段都是提交的場景下,由于At模式的一階段提交,at的性能是優于xa,因為它鎖在tc一側集中釋放,無需多個庫進行本地的鎖釋放

AT 與 XA 的關系

首先,我們要明確,無論是AT還是XA,他們都是有利用到數據庫自帶的事務特性,來保證數據一致性和隔離性

比如AT一階段提交和二階段回滾,都是執行了本地事務。比如XA的一階段和二階段,也都是利用了數據庫本身的事務特性

那么這樣一樣我們是否應該在數據庫層面進行挖掘,AT與XA的關系呢?

首先這個時候,我們肯定要從中找相同,與找不同。AT首當其沖,他有個必須品,也就是undolog表,undolog,相 信了解數據庫的同學肯定是知道。數據庫有六種日志分別是:重做日志(redo log)、回滾日志(undo log)、二進制日志(binlog)、錯誤日志(errorlog)、 慢查詢日志(slow query log)、一般查詢日志(general log),中繼日志(relay log)

那么數據庫的undolog是做什么用的呢?undolog保存了事務發生之前的數據的一個版本,可以用于回滾,同時可以提供多版本并發控制下的讀(MVCC)

可以發現數據庫的undolog跟seata at模式的undolog的作用不謀而合,所以可以判斷,at模式的undolog就是把本地事務作用中的undolog,利用他的原理,做到了分布式事務中,來保證了分布式事務下的事務一致性。

那么說完了undolog,redolog呢?

Redolog的作用便是防止在發生故障的時間點,尚有臟頁未寫入磁盤,在重啟mysql服務的時候,根據redo log進行 重做,從而達到事務的持久性這一特性。

那么為什么Seata AT模式沒有看到redolog的存在?其實很簡單,這個redolog被隱藏的很深,也就是AT模式的一階段提交,讓數據庫作為我們的redolog,保證一階段的數據準確落盤。

這個時候是不是會想到LCN事務模式?他的undolog由數據庫來保證,缺少了一個redolog的存在。其實大可不必思念LCN事務,解析到這里,如果把AT改為一階段不提交,二階段提交時,前鏡像便是undolog,后鏡像便是redolog,也就是說AT其實就是一個不在數據庫層面,按照數據庫事務思想和實現原理的方式,做到了分布式中的事務一致性。

這時候講到這里,XA跟AT的關系應該一幕了然了,準確的說,其實應該說是分布式事務跟數據庫本地事務的關系,可以說XA的缺點造成了AT模式的出生,鎖在多側(多個庫),資源阻塞,性能差。

而AT就像為了把事務的實現決定權從數據庫手中,放到了Seata中,自實現sql解析,自實現undolog(redolog),既然我們沒有 辦法去直接優化數據庫在分布式事務下的問題,那么不如創造一個新的模式,去其糟粕,取其精華。

Seata AT 與 XA 的優劣

其實上面零零碎碎也說了不少各自的優缺點,現在我們總結一下分3點來做比較

  • sql支持
  • 隔離性
  • 侵入性

我們先講第一點,由于上面我們總結了,其實AT就是一個自實現的XA事務,所以其實可以知道,AT在sql支持上,是遠不及利用本地事務的XA模式,既然AT需要做sql解析,那么背后的實現只能自己來解決,也就是靠Seata社區的貢獻者們來貢獻解決方案,這是一個長期性的關鍵問題,但是依然有很多用戶選擇了重寫sql,來獲取AT事務模式的支持。在sql支持上XA無疑是完勝的

第二點隔離性,Seata AT模式通過解析sql獲取涉及的主鍵id,生成行鎖,也就是AT模式的隔離就是靠全局鎖來保證,粒度細至行級,鎖信息存儲在Seata-Server一側。XA模式的隔離性就是由本地數據庫保證,鎖存儲在各個本地數據庫中。由于XA模式一旦執行了prepare后,再也無法重入這個XA事務,也無法跟其他XA事務共享鎖。因為XA協議,僅是通過XID來start一個xa事務,本身它不存在所謂的分支事務說法,它本事就是一個XA事務而已,也就是說它只管它自己。這時候可能由同學有疑問了,為什么我在branch_table里看到里XA分支事務呢?其實這個問題根據上面的什么是Seata事務模式可以了解到,Seata的事務模式就是由全局事務,分支事務,鎖信息所組成。而XA的分支事務,僅僅是作為一個參與方的存在,也就是說這個XA分支在Seata定義中為分支事務,作為分支信息記錄在案,方便宕機后也可以下發二階段決議信息。而AT由于鎖是自實現,也就相對XA來說,我只要知道用戶sql涉及到的數據,是不是數據這個全局事務下的,只要是我默認他就可以使用這個鎖,也就解決了重入問題。我們可以得出總結,XA的隔離性是全局的,AT的隔離性是更靈活且相對全局的(保證所有對數據的寫操作被Seata事務覆蓋)。第三點,入侵性,通過我們以上的信息,其實可以發現,誰更底層,誰的入侵性更小,所以由數據庫自身所支持的XA模式來說,無疑入侵最小,使用成本最低。

其實說到這里,大家可能會覺得XA模式怎么感覺比AT好這么多,雖然他不支持鎖重入,但是我可以避免這個情況發生呀。這時候,我畫個圖,大家可能會比較理解

上圖中,右側圖1是at模式運行時,圖2時xa模式運行時。可以很明顯,xa的阻塞帶來的性能下降時非常厲害的,特別是你的分支事務非常多,每個資源的釋放必須等到每個分支的數據庫去單獨釋放,后續的事務才能進入。雖然XA帶來的無侵入非常高,但是由于性能下降的程度太大,也就促使了AT的誕生,而現在AT,TCC,SAGA的模式的接受度也越來越高,這也正說明了開發者對性能的要求。AT可以看作時由Seata社區進行全方面優化,自研的XA模式,最大特點就是解決了XA模式的性能差的問題。TCC由Seata決定二階段狀態通知,其使用全權交托用戶,性能僅僅是2個本地事務+些許rpc開銷。SAGA整個事務鏈路,事務處理全權交托用戶編排,性能完全由用戶來保證,Seata作為事務的協助方,記錄全局事務的運行狀態。可以看出來,越高入侵性的模式其實背后可優化的點更多,越少入侵性的,也就是會被局限,只能依托組件開發者進行不定期的優化來保證性能。

總結

在當前的技術發展中,目前分布式事務就是屬于扮演東風的角色,大量的分布式,微服務化,帶來的性能提 升非常明顯,但是卻缺少一個有利的保障,我相信Seata就是承擔著這樣的一個角色,讓萬事俱備不欠東風。Seata項目的最核心的價值在于:

構建一個全面解決分布式事務問題的 標準化 平臺。

基于 Seata,上層應用架構可以根據實際場景的需求,靈活選擇合適的分布式事務解決方案。

圖片

注:本期分享借鑒于 Seata 三位 PMC 清銘、煊檍、屹遠

分享人:陳健斌(funkye) github id: a364176773

作者介紹:同盾科技高級開發工程師 、Seata Committer、Spring cloud alibaba contributor,、Mybatis-Plus contributor(by dynamic-datasource)

 

責任編輯:武曉燕 來源: 后端進階
相關推薦

2022-06-21 08:27:22

Seata分布式事務

2020-04-28 12:18:08

Seata模式分布式

2022-06-27 08:21:05

Seata分布式事務微服務

2022-03-24 07:51:27

seata分布式事務Java

2022-07-10 20:24:48

Seata分布式事務

2025-04-30 10:44:02

2024-10-09 14:14:07

2023-11-06 13:15:32

分布式事務Seata

2025-08-27 09:11:48

2024-08-19 09:05:00

Seata分布式事務

2025-04-28 00:44:04

2023-01-06 09:19:12

Seata分布式事務

2020-12-09 09:14:57

SpringCloudSeata 分布式

2022-07-03 14:03:57

分布式Seata

2025-01-15 08:34:00

分布式事務服務

2024-12-02 09:19:44

2025-05-07 00:10:00

分布式事務TCC模式

2021-08-06 08:33:27

Springboot分布式Seata

2025-01-26 00:00:40

Seata分布式事務

2024-01-08 08:05:08

分開部署數據體系系統拆分
點贊
收藏

51CTO技術棧公眾號

欧美日韩国产网站| 亚洲福利在线观看视频| 青青久久av| 午夜精品一区二区三区三上悠亚| 精品国产一区二区三区四区vr| 亚洲一区二区在线看| 老熟妇一区二区三区| 国产乱人伦丫前精品视频| 亚洲成a人在线观看| 国产在线一区二区三区播放| 国产又大又黄视频| 欧美日韩在线观看视频小说| 在线播放视频一区| 国产一二三区在线播放| 亚洲免费不卡视频| 久久aⅴ国产紧身牛仔裤| 亚洲欧美日韩第一区| 一区二区三区 日韩| 制服丝袜中文字幕在线| 成人av资源站| 国产精品九九九| 亚洲综合网在线| 三级小说欧洲区亚洲区| 欧美日韩久久一区| 欧美狂野激情性xxxx在线观| 九色在线免费| 国产美女一区二区三区| 97av在线视频| 亚洲一级二级片| 欧美一区二区三区红桃小说| 欧美日韩国产经典色站一区二区三区| 天天做天天躁天天躁| 懂色一区二区三区| 国产高清精品网站| 国产精品成人av性教育| 免费网站看av| 青青草国产免费一区二区下载| 91精品国产欧美一区二区成人 | 97人妻精品一区二区三区| 欧美亚洲福利| 亚洲成a人v欧美综合天堂| 亚洲欧美精品| 久青青在线观看视频国产| 国产成人精品免费视频网站| 国产精品久久二区| 日韩精品国产一区二区| 国产精品久久久久久| 日韩精品视频在线观看网址| 国产调教打屁股xxxx网站| 男人av在线播放| 亚洲自拍欧美精品| 亚洲va久久久噜噜噜| 黄色片视频免费| 亚洲视频一二| 欧美精品一区三区| 天堂网av2018| 黑人一区二区三区| 天天免费综合色| 国产香蕉一区二区三区| 在线观看a视频| 国产日韩精品一区二区三区在线| 国产欧美日本在线| 亚洲av无码国产精品永久一区| 精品一区二区三区久久| 国产精品视频导航| 精品人妻一区二区色欲产成人| 亚洲国产导航| 欧美激情视频网站| 国产高潮国产高潮久久久91| 欧美一区二区三区激情视频| 亚洲一区999| 人妻精品久久久久中文字幕| 日韩手机在线| 亚洲免费小视频| 国精产品一区一区三区免费视频| 欧美男男freegayvideosroom| 精品国产一区久久| 精品人妻伦一二三区久| 成人h动漫免费观看网站| 欧美丝袜丝交足nylons| 成年人在线观看视频免费| jizz免费一区二区三区| 欧美日韩国产高清一区| 视频区 图片区 小说区| 日本精品视频| 91精品国产综合久久福利软件 | 青娱乐精品视频| 国产精品高潮粉嫩av| 久久久久久久久久一级| 免费黄网站欧美| 91精品在线影院| 亚洲天堂网在线视频| 极品少妇xxxx精品少妇| 免费91在线视频| 国产大片免费看| 欧美日韩亚洲三区| 91精品国产色综合| 啪啪小视频网站| 韩国av一区二区三区| 99电影网电视剧在线观看| 日韩中文字幕观看| 久久女同性恋中文字幕| 亚洲黄色成人久久久| av理论在线观看| 亚洲中国最大av网站| 欧美极品欧美精品欧美| 成人不卡视频| 日韩欧美成人一区| 亚洲av片不卡无码久久| 日韩www.| 午夜精品福利在线观看| 樱花视频在线免费观看| 国产精品一区专区| 国产区二精品视| www.黄在线观看| 亚洲午夜一区二区| 亚洲国产精品三区| 岛国av一区| 色多多国产成人永久免费网站| 激情五月婷婷在线| 日韩国产成人精品| 国产精品久久7| 在线视频三区| 亚洲午夜久久久久久久久久久| 日日碰狠狠丁香久燥| 国模私拍视频在线播放| 欧美日韩精品在线观看| 中文字幕成人在线视频| 精品国产一区二区三区不卡蜜臂 | 欧洲av在线播放| 国产精品免费久久久久| 秋霞无码一区二区| 999精品嫩草久久久久久99| 日韩极品精品视频免费观看| caoporn91| 日本在线不卡视频一二三区| 国产精品theporn88| 国产精品无码在线播放| 97se狠狠狠综合亚洲狠狠| 在线无限看免费粉色视频| 亚洲欧美一区二区三区| 精品久久久久久久久久久久久久久 | 日本一区二区视频在线观看| 国产中文字幕乱人伦在线观看| 国产韩日精品| 亚洲精品在线看| 日本一本高清视频| 国产一区二区女| 一区二区高清视频| 少妇一区视频| 亚洲美女性视频| 日韩污视频在线观看| 国产高清不卡一区| 一本二本三本亚洲码| 91成人在线| 一区二区中文字幕| 无码人妻精品一区二区三区不卡 | 国产中文字幕在线观看| 性做久久久久久免费观看欧美| 毛毛毛毛毛毛毛片123| 国产精品久久久久久麻豆一区软件 | 中文字幕99页| 亚洲中无吗在线| 亚洲www在线| 午夜激情在线观看| 欧美日韩一区二区在线观看| www.日本高清视频| 欧美aaa在线| 亚洲国产日韩美| 欧美亚洲人成在线| 日韩专区在线播放| 国产精品色综合| 成年人看的毛片| 东方av正在进入| 久99久精品视频免费观看| 日韩精品国内| 日本美女久久| 久久九九热免费视频| 国产又粗又猛又黄又爽无遮挡 | 欧美性猛交xxxx乱| 久久一区二区三区超碰国产精品| 九九九热999| 中文字幕在线中文字幕在线中三区| 亚洲第一网站男人都懂| 欧美日韩一级在线观看| 日韩毛片视频| 国产欧美一区二区三区视频 | 国产高清精品二区| 免费av一区二区| 国内精品久久久久久久久久| 亚洲图片有声小说| av在线网站观看| 久久精品久久久精品美女| 国产日韩第一页| 国产精品45p| 国产成人在线精品| 午夜视频在线观看网站| 日韩一区二区在线观看| 日本熟妇成熟毛茸茸| 久久日韩精品一区二区五区| xxxx一级片| 影音先锋成人在线电影| 国产乱子伦精品| 日韩精选视频| 久久综合久久88| 日韩三级电影网| 8v天堂国产在线一区二区| 亚洲国产精品午夜在线观看| 国产欧美精品一区二区色综合| 日韩欧美色视频| 丝袜诱惑制服诱惑色一区在线观看| 日韩精品电影网站| 57pao国产一区二区| 国产91在线播放九色快色| free性欧美hd另类精品| 精品视频一区在线视频| aa视频在线免费观看| 大桥未久av一区二区三区| 日韩在线观看免| 久久久国产精品不卡| 中文字幕一二三| 日本午夜精品视频在线观看| 久久久无码中文字幕久...| 免费成人网www| av激情久久| 欧美日韩va| 欧亚精品中文字幕| 伊人影院在线视频| 尤物yw午夜国产精品视频| 免费观看黄色av| 91福利国产成人精品照片| 国产一级特黄视频| 亚洲色图欧洲色图婷婷| 精品无码一区二区三区| 北岛玲一区二区三区四区| 亚洲国产成人va在线观看麻豆| 国产日韩一区| 精品国偷自产一区二区三区| 婷婷综合五月| 在线成人性视频| 99re66热这里只有精品8| 亚洲一卡二卡| 色999日韩| 亚洲一区不卡在线| 色综合久久网| 天天综合五月天| 一本到12不卡视频在线dvd| 黄瓜视频免费观看在线观看www| 日韩在线观看| 女女同性女同一区二区三区按摩| 中文av一区| 国产日韩亚洲欧美在线| 影音先锋亚洲精品| 欧美日韩成人免费视频| 先锋亚洲精品| 香蕉视频网站入口| 开心九九激情九九欧美日韩精美视频电影| 在线观看av网页| 精品一区二区三区在线播放| 色婷婷一区二区三区在线观看| 国产精品一品二品| 精品久久久久一区二区| 97se亚洲国产综合自在线观| 国产sm调教视频| 中文字幕亚洲精品在线观看| 69av视频在线| 午夜成人免费电影| 神马久久久久久久| 欧美色图免费看| 国产sm主人调教女m视频| 精品国产青草久久久久福利| 手机在线不卡av| 一二美女精品欧洲| 欧美69xxx| 久久久久久18| 美女日韩欧美| 91免费综合在线| 欧美网色网址| 亚洲一区二区在线免费观看| 国内自拍一区| 国产a视频免费观看| 久99久精品视频免费观看| 一本色道久久hezyo无码| 久久色在线观看| www.97视频| 欧美性xxxxhd| 国产片高清在线观看| 亚洲国产私拍精品国模在线观看| 福利成人在线观看| 久久久久久国产免费| av免费在线一区| 国产精品v欧美精品∨日韩| 奇米狠狠一区二区三区| 一区二区三区四区免费观看| 国产模特精品视频久久久久| 性生活免费在线观看| 白白色亚洲国产精品| 国产成人免费在线观看视频| 亚洲成va人在线观看| 一级特黄aaaaaa大片| 日韩精品中文字| 超鹏97在线| 国产成人在线一区| eeuss国产一区二区三区四区| 午夜精品一区二区三区四区| 最新成人av网站| 肉色超薄丝袜脚交| 国产欧美日韩综合| 日韩三级免费看| 日韩精品专区在线| 免费在线观看黄色| 日本一区二区三区在线播放| 亚洲国产中文在线| 亚洲国产另类久久久精品极度| 国产日韩欧美一区在线 | 91麻豆国产在线观看| 人妻久久一区二区| 欧美中文字幕一区| 神马精品久久| 久久乐国产精品| 日本精品国产| 国产卡一卡二在线| 美女视频一区在线观看| www.av天天| 一本久道中文字幕精品亚洲嫩| 人妻精品一区一区三区蜜桃91 | 精品极品在线| 动漫精品视频| 欧美激情 亚洲a∨综合| 一区二区免费av| 亚洲国产精品99久久久久久久久| 综合激情网五月| 亚洲国产三级网| 国产拍在线视频| 精品视频第一区| 9色精品在线| 丰满少妇xbxb毛片日本| 亚洲一区二区三区中文字幕| 国产99对白在线播放| 精品国产拍在线观看| 四虎国产精品免费久久| 亚洲成人蜜桃| 奇米精品一区二区三区四区| 国产精品天天干| 欧美午夜一区二区三区免费大片| 国产三级视频在线| 国产国语刺激对白av不卡| 妖精视频一区二区三区| 欧美成人xxxxx| 久久久久久免费毛片精品| 日本黄色一级视频| 国产一区二区三区久久精品 | 亚洲一级片在线播放| 欧美性色aⅴ视频一区日韩精品| 成人性爱视频在线观看| 国产精品久久久久久久一区探花| 欧美午夜精彩| 天天干天天玩天天操| 一区二区三区欧美久久| 乱色精品无码一区二区国产盗| 九九热视频这里只有精品| 国产欧美一区二区三区米奇| 精品一区二区中文字幕| 欧美激情一区不卡| 国产精品丝袜黑色高跟鞋| 欧美激情精品久久久久| 婷婷精品在线观看| 亚洲高清在线免费观看| 亚洲欧美一区二区三区孕妇| 亚洲精品一区二区三区区别| 欧美在线一区二区视频| 日韩一区二区中文| 激情小说欧美色图| 大桥未久av一区二区三区| 超碰国产在线| 动漫美女被爆操久久久| 三级在线观看一区二区| 无码人中文字幕| 精品国产一区二区亚洲人成毛片 | 国户精品久久久久久久久久久不卡| 丰满岳乱妇一区二区| 在线看不卡av| 色屁屁www国产馆在线观看| 免费h精品视频在线播放| 欧美a级理论片| 久久久久久久久久久久久久久久久 | 亚洲黄色小说网| 国产91在线播放| 欧美 日韩 国产一区二区在线视频 | 久久久久亚洲蜜桃| 影音先锋黄色网址| 久久久中文字幕| 成人精品久久| 久久久国产精品无码| 欧美综合一区二区三区| 黄污视频在线观看| 神马影院午夜我不卡影院| 国产大陆精品国产| 中文字幕一区二区免费| 91精品国产高清久久久久久91|