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

一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

開發(fā) 前端 分布式
前兩天發(fā)了工資,第一反應(yīng)是想著要給遠(yuǎn)方的女朋友一點驚喜!于是打開了平安銀行的APP給女朋友轉(zhuǎn)點錢!填寫上對方招商銀行卡的卡號、開戶名,一鍵轉(zhuǎn)賬!搞定!在我點擊的那瞬間,就收到了app的賬戶變動的提醒,并且出現(xiàn)了圖一所示的提示界面:“處理中,正在等待對方銀行返回結(jié)果…”。

[[268931]]

前兩天發(fā)了工資,***反應(yīng)是想著要給遠(yuǎn)方的女朋友一點驚喜!于是打開了平安銀行的APP給女朋友轉(zhuǎn)點錢!填寫上對方招商銀行卡的卡號、開戶名,一鍵轉(zhuǎn)賬!搞定!在我點擊的那瞬間,就收到了app的賬戶變動的提醒,并且出現(xiàn)了圖一所示的提示界面:“處理中,正在等待對方銀行返回結(jié)果…”。嗯!畢竟是跨行轉(zhuǎn)賬嘛,等個幾秒也正常!腦海開始浮現(xiàn)出女朋友收到轉(zhuǎn)賬后驚喜與感動的畫面!

Java干貨分享:一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

然而,一切并沒有那么順利,剛過一會兒,app卻如圖二所示的提示我“由于收款人戶名不符”導(dǎo)致轉(zhuǎn)賬失敗!!!

Java干貨分享:一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

剛剛都已經(jīng)從我卡里扣過錢了,現(xiàn)在卻提示我轉(zhuǎn)賬失敗,銀行會不會把我的錢給吞了?轉(zhuǎn)賬失敗的錢還能退換給我嗎?正在我緊張、焦慮、坐立不安之時又收到一條app沖正的消息,剛剛轉(zhuǎn)賬失敗的錢已經(jīng)退還給我了,看來我多慮了……這也證明咱平安銀行的app還是比較安全靠譜的!

為啥從我卡里扣錢那么迅速,而對方卻要幾秒才能到賬?并且轉(zhuǎn)賬失敗后,扣除的錢還能及時的返還到我的卡里?萬一錢返還失敗怎么辦?又或者我轉(zhuǎn)一次錢,對方卻收到了兩次轉(zhuǎn)賬的申請又該如何?帶著這些問題,我腦海中浮現(xiàn)出“事務(wù)”二字!

在我們還在“牙牙學(xué)語”的時候,老師經(jīng)常會通過轉(zhuǎn)賬的栗子來跟我們講解事務(wù),但跟這里場景不一樣的是,老師講的是本地事務(wù),而這里面對的是分布式事務(wù)!我們先來簡單回顧一下本地事務(wù)!

本地事務(wù)

談到本地事務(wù),大家可能都很熟悉,因為這個數(shù)據(jù)庫引擎層面能支持的!所以也稱數(shù)據(jù)庫事務(wù),數(shù)據(jù)庫事務(wù)四大特征:原子性(A),一致性(C),隔離性(I)和持久性(D),而在這四大特性中,我認(rèn)為 一致性 是最基本的特性,其它的三個特性都為了保證一致性而存在的!

回到學(xué)生時代老師給我們舉的經(jīng)典栗子,A賬戶給B賬戶轉(zhuǎn)賬100元(A、B處于同一個庫中),如果A的賬戶發(fā)生扣款,B的賬戶卻沒有到賬,這就出現(xiàn)了 數(shù)據(jù)的不一致 !為了保證數(shù)據(jù)的一致性,數(shù)據(jù)庫的事務(wù)機(jī)制會讓A賬戶扣款和B在賬戶到賬的兩個操作要么同時成功,如果有一個操作失敗,則多個操作同時回滾,這就是事務(wù)的 原子性 ,為了保證事務(wù)操作的原子性,就必須實現(xiàn)基于日志的REDO/UNDO機(jī)制!但是,僅有原子性還不夠,因為我們的系統(tǒng)是運行在多線程環(huán)境下,如果多個事務(wù)并行,即使保證了每一個事務(wù)的原子性,仍然會出現(xiàn)數(shù)據(jù)不一致的情況。例如A賬戶原來有200元的余額, A賬戶給B賬戶轉(zhuǎn)賬100元,先讀取A賬戶的余額,然后在這個值上減去100元,但是在這兩個操作之間,A賬戶又給C賬戶轉(zhuǎn)賬100元,那么***的結(jié)果應(yīng)該是A減去了200元。但事實上,A賬戶給B賬戶最終完成轉(zhuǎn)賬后,A賬戶只減掉了100元,因為A賬戶向C賬戶轉(zhuǎn)賬減掉的100元被覆蓋了!所以為了保證并發(fā)情況下的一致性,又引入的 隔離性 ,即多個事務(wù)并發(fā)執(zhí)行后的狀態(tài),和它們串行執(zhí)行后的狀態(tài)是等價的!隔離性又有多種隔離級別,為了實現(xiàn)隔離性(最終都是為了保證一致性)數(shù)據(jù)庫又引入了悲觀鎖、樂觀鎖等等……本文的主題是分布式事務(wù),所以本地事務(wù)就只是簡單回顧一下,需要記住的一點是,事務(wù)是為了保證數(shù)據(jù)的 一致性 !

分布式理論

還記得剛畢業(yè)那年,帶著滿腔的熱血就去到了一家互聯(lián)網(wǎng)公司,領(lǐng)導(dǎo)給我的***個任務(wù)就是在列表上增加一個修改數(shù)據(jù)的功能。這能難倒我?我分分鐘給你搞出來!不就是在列表上增加了一個“修改”按鈕,點擊按鈕彈出框修改后保存就好了么。然而一切不像我想象的那么順利,點擊保存并刷新列表后,頁面上的數(shù)據(jù)還是顯示的修改之前的內(nèi)容,像沒有修改成功一樣!過一會兒再刷新列表,數(shù)據(jù)就能正常顯示了!測試多次之后都是這樣!沒見過什么大場面的我開始有點慌了,是我哪里寫得不對么?最終,我不得不求助組內(nèi)經(jīng)驗比較豐富的前輩!他深吸了一口氣告訴我說:“畢竟是剛畢業(yè)的小伙子啊!我來跟你講講原因吧!我們的數(shù)據(jù)庫是做了讀寫分離的,部分讀庫與寫庫在不同的網(wǎng)絡(luò)分區(qū)。你的數(shù)據(jù)更新到了寫庫,而讀數(shù)據(jù)的時候是從讀庫讀取的。更新到寫庫的數(shù)據(jù)同步到讀庫是有一定的延遲的,也就是說讀庫與寫庫會有短暫的數(shù)據(jù)不一致”! “這樣不會體驗不好么?為什么不能做到寫入的數(shù)據(jù)立馬能讀出來?那我這個功能該怎么實現(xiàn)呢?” 面對我的一堆問題,同事有些不耐煩的說:“聽說過CAP理論嗎?你先自己去了解一下吧”!是我開始查閱各種資料去了解這個陌生的詞背后的秘密!

CAP理論是由加州大學(xué)Eric Brewer教授提出來的,這個理論告訴我們,一個分布式系統(tǒng)不可能同時滿足一致性(Consistency)、可用性(Availability)、分區(qū)容錯性(Partition tolerance)這三個基本需求,最多只能同時滿足其中兩項。

一致性:這里的一致性是指數(shù)據(jù)的強(qiáng)一致,也稱為線性一致性。是指在分布式環(huán)境中,數(shù)據(jù)在多個副本之間是否能夠保持一致的特性。也就是說對某個數(shù)據(jù)進(jìn)行寫操作后立馬執(zhí)行讀操作,必須能讀取到剛剛寫入的值。(any read operation that begins after a write operation completes must return that value, or the result of a later write operation)

可用性:任意被無故障節(jié)點接收到的請求,必須能夠在有限的時間內(nèi)響應(yīng)結(jié)果。(every request received by a non-failing node in the system must result in a response)

分區(qū)容錯性:如果集群中的機(jī)器被分成了兩部分,這兩部分不能互相通信,系統(tǒng)是否能繼續(xù)正常工作。(the network will be allowed to lose arbitrarily many messages sent from one node to another)

在分布式系統(tǒng)中,分區(qū)容錯性是基本要保證的。也就是說只能在一致性和可用性之間進(jìn)行取舍。一致性和可用性,為什么不可能同時成立?回到之前修改列表的例子,由于數(shù)據(jù)會分布在不同的網(wǎng)絡(luò)分區(qū),必然會存在數(shù)據(jù)同步的問題,而同步會存在網(wǎng)絡(luò)延遲、異常等問題,所以會出現(xiàn)數(shù)據(jù)的不一致!如果要保證數(shù)據(jù)的一致性,那么就必須在對寫庫進(jìn)行操作時,鎖定其他讀庫的操作。只有寫入成功且完成數(shù)據(jù)同步后,才能重新放開讀寫,而這樣在鎖定期間,系統(tǒng)喪失了可用性。更詳細(xì)關(guān)于CAP理論可以參考 這篇文章 ,該文章講得比較通俗易懂!

分布式事務(wù)

分布式事務(wù)就是在分布式的場景下,需要滿足事務(wù)的需求!上篇文章我們聊過了消息中間件,那這篇文章我們要聊的是分布式事務(wù),把兩者一結(jié)合,便有了基于消息中間件的分布式事務(wù)解決方案!不管是本地事務(wù),還是分布式事務(wù),都是為了解決數(shù)據(jù)的一致性問題! 一致性 這個詞咱們前面多次提及!與本地事務(wù)不同的是,分布式事務(wù)需要保證的是分布式環(huán)境下,不同數(shù)據(jù)庫表中的數(shù)據(jù)的一致性問題。分布式事務(wù)的解決方案有多種,如XA協(xié)議、TCC三階段提交、基于消息隊列等等,本文只會涉及基于消息隊列的解決方案!

本地事務(wù)講到了一致性,分布式事務(wù)不可避免的面臨著一致性的問題!回到最開始跨行轉(zhuǎn)賬的例子,如果A銀行用戶向B銀行用戶轉(zhuǎn)賬,正常流程應(yīng)該是:

1、A銀行對轉(zhuǎn)出賬戶執(zhí)行檢查校驗,進(jìn)行金額扣減。

2、A銀行同步調(diào)用B銀行轉(zhuǎn)賬接口。

3、B銀行對轉(zhuǎn)入賬戶進(jìn)行檢查校驗,進(jìn)行金額增加。

4、B銀行返回處理結(jié)果給A銀行。

Java干貨分享:一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

在正常情況對一致性要求不高的場景,這樣的設(shè)計是可以滿足需求的。但是像銀行這樣的系統(tǒng),如果這樣實現(xiàn)大概早就破產(chǎn)了吧。我們先看看這樣的設(shè)計最主要的問題:

1、同步調(diào)用遠(yuǎn)程接口,如果接口比較耗時,會導(dǎo)致主線程阻塞時間較長。

2、流量不能很好控制,A銀行系統(tǒng)的流量高峰可能壓垮B銀行系統(tǒng)(當(dāng)然B銀行肯定會有自己的限流機(jī)制)。

3、如果“第1步”剛執(zhí)行完,系統(tǒng)由于某種原因宕機(jī)了,那會導(dǎo)致A銀行賬戶扣款了,但是B銀行沒有收到接口的調(diào)用,這就出現(xiàn)了兩個系統(tǒng)數(shù)據(jù)的不一致。

4、如果在執(zhí)行“第3步”后,B銀行由于某種原因宕機(jī)了而無法正確回應(yīng)請求(實際上轉(zhuǎn)賬操作在B銀行系統(tǒng)已經(jīng)執(zhí)行且入庫),這時候A銀行等待接口響應(yīng)會異常,誤以為轉(zhuǎn)賬失敗而回滾“第1步”操作,這也會出現(xiàn)了兩個系統(tǒng)數(shù)據(jù)的不一致。

對于問題的1、2都很好解決,如果對消息隊列熟悉的朋友應(yīng)該很快能想到可以引入消息中間件進(jìn)行異步和削峰處理,于是又重新設(shè)計了一個方案,流程如下:

1、A銀行對賬戶進(jìn)行檢查校驗,進(jìn)行金額扣減。

2、將對B銀行的請求異步寫入隊列,主線程返回。

3、啟動后臺程序從隊列獲取待處理數(shù)據(jù)。

4、后臺程序?qū)銀行接口進(jìn)行遠(yuǎn)程調(diào)用。

5、B銀行對轉(zhuǎn)入賬戶進(jìn)行檢查校驗,進(jìn)行金額增加。

6、B銀行處理完成回調(diào)A銀行接口通知處理結(jié)果。

Java干貨分享:一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

通過上面的圖我們能看到,引入消息隊列后,系統(tǒng)的復(fù)雜性瞬間提升了,雖然彌補了我們***種方案的幾個不足點,但也帶來了更多的問題,比如消息隊列系統(tǒng)本身的可用性、消息隊列的延遲等等!并且,這樣的設(shè)計依然沒有解決我們面臨的核心問題- 數(shù)據(jù)的一致性 !

1、如果“第1步”剛執(zhí)行完,系統(tǒng)由于某種原因宕機(jī)了,那會導(dǎo)致A銀行賬戶扣款了,但是寫入消息隊列失敗,無法進(jìn)行B銀行接口調(diào)用,從而導(dǎo)致數(shù)據(jù)不一致。

2、如果B銀行在執(zhí)行“第5步”時由于校驗失敗而未能成功轉(zhuǎn)賬,在回調(diào)A銀行接口通知回滾時網(wǎng)絡(luò)異常或者宕機(jī),會導(dǎo)致A銀行轉(zhuǎn)賬無法完成回滾,從而導(dǎo)致數(shù)據(jù)不一致。

面對上述問題,我們不得不對系統(tǒng)再次進(jìn)行升級改造。為了解決“A銀行賬戶扣款了,但是寫入消息隊列失敗”的問題,我們需要借助一個轉(zhuǎn)賬日志表,或者叫轉(zhuǎn)賬流水表,該表簡單的設(shè)計如下:

字段名稱字段描述tId交易流水idaccountNo轉(zhuǎn)出賬戶卡號targetBankNo目標(biāo)銀行編碼targetAccountNo目標(biāo)銀行卡號amount交易金額status交易狀態(tài)(待處理、處理成功、處理失敗)lastUpdateTime***更新時間

這個流水表需要怎么用呢?我們在“第1步”進(jìn)行扣款時,同時往流水表寫入一條操作流水,狀態(tài)為“待處理”,并且這兩個操作必須是原子的,也就是說必須通 過本地事務(wù)保證 這兩個操作要么同時成功,要么同時失敗!這就保證了只要轉(zhuǎn)賬扣款成功,必定會記錄一條狀態(tài)為“待處理”的轉(zhuǎn)賬流水。如果在這一步失敗了,那自然就是轉(zhuǎn)賬失敗,沒有后續(xù)操作了。如果這步操作后系統(tǒng)宕機(jī)了導(dǎo)致沒有將消息成功寫入消息隊列(也就是“第2步”)也沒關(guān)系,因為我們的流水?dāng)?shù)據(jù)已經(jīng)持久化了!這時候我們只需要加入一個后臺線程進(jìn)行補償,定期的從轉(zhuǎn)賬流水表中讀取狀態(tài)為“待處理”且***更新的時間距當(dāng)前時間大于某個閾值的數(shù)據(jù),重新放入消息隊列進(jìn)行補償。這樣,就保證了消息即使丟失,也會有補償機(jī)制!B銀行在處理完轉(zhuǎn)賬請求后會回調(diào)A銀行的接口通知轉(zhuǎn)賬的狀態(tài),從而更新A銀行流水表中的狀態(tài)字段!這樣就***解決了上一個方案中的兩個不足點。系統(tǒng)設(shè)計圖如下:

Java干貨分享:一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

到目前為止,我們很好的解決了消息丟失的問題,保證了只要A銀行轉(zhuǎn)賬操作成功,轉(zhuǎn)賬的請求就一定能發(fā)送到B銀行!但是該方案又引入了一個問題,通過后臺線程輪詢將消息放入消息隊列處理,同一次轉(zhuǎn)賬請求可能會出現(xiàn)多次放入消息隊列而多次消費的情況,這樣B銀行會對同一轉(zhuǎn)賬多次處理導(dǎo)致數(shù)據(jù)出現(xiàn)不一致!那怎么保證B銀行轉(zhuǎn)賬接口的冪等性呢?

同樣的,我們可以在B銀行系統(tǒng)中需要增加一個轉(zhuǎn)賬日志表,或者叫轉(zhuǎn)賬流水表,B銀行每次接收到轉(zhuǎn)賬請求,在對賬戶進(jìn)行操作的時候同時往轉(zhuǎn)賬日志表中插入一條轉(zhuǎn)賬日志記錄,同樣這兩個操作也必須是原子的!在接收到轉(zhuǎn)賬請求后,首先根據(jù)唯一轉(zhuǎn)賬流水Id在日志表中查找判斷該轉(zhuǎn)賬是否已經(jīng)處理過,如果未處理過則進(jìn)行處理,否則直接回調(diào)返回! 最終的架構(gòu)圖如下:

Java干貨分享:一次給女朋友轉(zhuǎn)賬引發(fā)我對分布式事務(wù)的思考

所以,我們這里最核心的就是A銀行通過 本地事務(wù) 保證日志記錄+ 后臺線程輪詢 保證消息不丟失。B銀行通過 本地事務(wù) 保證日志記錄從而保證消息不重復(fù)消費!B銀行在回調(diào)A銀行的接口時會通知處理結(jié)果,如果轉(zhuǎn)賬失敗,A銀行會根據(jù)處理結(jié)果進(jìn)行回滾。

當(dāng)然,分布式事務(wù)***的解決方案是盡量避免出現(xiàn)分布式事務(wù)!

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2019-07-09 09:19:51

分布式事務(wù)App

2019-10-09 11:42:10

分布式取錢異步流程

2020-08-14 09:04:34

分布式事務(wù)

2017-10-24 11:39:29

銀行轉(zhuǎn)賬數(shù)據(jù)庫分布式事務(wù)

2022-05-19 12:14:22

分布式開發(fā)框架

2018-12-27 09:09:35

2019-11-04 10:37:53

MongoDB宕機(jī)日志

2021-07-07 10:28:09

分布式架構(gòu)系統(tǒng)

2024-05-08 10:20:00

Redis分布式

2022-11-29 21:26:26

跨域配置

2023-01-26 00:22:01

分布式架構(gòu)大文件

2015-07-17 10:05:03

面試思考

2022-06-27 08:21:05

Seata分布式事務(wù)微服務(wù)

2021-01-19 05:43:33

分布式2PC3PC

2024-04-17 08:42:15

Go語言分布式鎖

2022-11-24 17:34:04

TCC分布式

2018-08-14 09:28:40

分布式事務(wù) ACID

2022-06-21 08:27:22

Seata分布式事務(wù)

2017-07-26 15:08:05

大數(shù)據(jù)分布式事務(wù)

2021-10-11 19:30:02

分布式事務(wù)CAP
點贊
收藏

51CTO技術(shù)棧公眾號

秘密基地免费观看完整版中文| 亚洲第一综合| 国产高潮久久久| 欧美精美视频| 欧美一区二区性放荡片| 欧美国产视频一区| 韩日视频在线| 国产精品亚洲视频| 国产成人精品久久亚洲高清不卡| 成人无码精品1区2区3区免费看| 日韩精品视频一区二区三区| 黄色成人在线播放| 一道本在线观看视频| 日本一区视频| 国产成人aaaa| 国产精品福利小视频| 久久久久久久黄色| 波多野结衣在线播放一区| 精品三级在线看| 五月天婷婷激情视频| 成人一级福利| 亚洲精品自拍动漫在线| 裸模一区二区三区免费| 性色av蜜臀av| 美女视频黄频大全不卡视频在线播放| 国语自产精品视频在线看抢先版图片| 天天舔天天操天天干| 欧美美女黄色| 欧美成人一区二区三区在线观看 | 在线不卡a资源高清| 欧美变态另类刺激| 日本高清在线观看视频| 国产精品乱人伦| 日本精品国语自产拍在线观看| 午夜精品久久久久久久爽 | 国产精品羞羞答答| 麻豆成人免费视频| 亚洲黄色免费| 久久欧美在线电影| 久久久久97国产| 亚洲情侣在线| 日韩在线播放av| 卡一卡二卡三在线观看| 天海翼亚洲一区二区三区| 精品国产免费一区二区三区四区| 免费网站在线观看黄| 国产成+人+综合+亚洲欧美| 色综合久久66| 玩弄japan白嫩少妇hd| 国产色播av在线| 午夜久久久久久久久久一区二区| 久无码久无码av无码| 中文字幕在线播放网址| 亚洲免费观看高清在线观看| 一区二区不卡在线| 在线国产情侣| 国产精品久久久久久久久图文区 | 91国偷自产一区二区三区观看| 欧美 日韩 国产在线观看| av成人影院在线| 亚洲国产日韩a在线播放性色| 天堂а√在线中文在线| 羞羞视频在线观看免费| 一区二区三区美女| 久久99中文字幕| 无需播放器的av| 国产精品久久一区二区三区不卡| 久久免费看少妇高潮| 欧美aaaaa喷水| 国产专区在线| 亚洲国产精品成人综合| 香蕉精品视频在线| 色婷婷av在线| 亚洲成在线观看| www.中文字幕在线| 欧美天堂视频| 欧美日韩免费不卡视频一区二区三区| a在线观看免费视频| 美女精品久久| 亚洲福利在线视频| 蜜桃av乱码一区二区三区| 日韩精品免费| 欧美成人手机在线| 久久青青草视频| 日韩电影在线观看一区| 亚洲xxxx做受欧美| 毛片在线播放网址| 亚洲色图视频网站| 免费一级特黄特色毛片久久看| 高潮一区二区| 91精品国产综合久久久久久久久久| 中文字幕久久久久久久| 亚洲www在线| 亚州视频一区二区三区| 中文字幕日韩精品一区 | 久草免费在线| 亚洲v精品v日韩v欧美v专区| 精品视频无码一区二区三区| 91成人福利社区| 日韩成人激情在线| 亚洲一级二级片| 亚洲欧洲一区| 成人激情视频网| 午夜18视频在线观看| 欧美激情中文字幕| 国产精品一色哟哟| 国产精品一区二区免费福利视频| 亚洲成人a级网| 免费看一级黄色| 夜夜嗨网站十八久久| 成人网在线观看| 欧洲成人在线视频| 日韩精品乱码久久久久久| 日韩av电影免费观看高清完整版| 99国产精品久久久久老师| 国产视频福利在线| 亚洲1区2区3区视频| av中文字幕网址| 亚洲人成网www| 久久国产精品久久久| 狠狠狠狠狠狠狠| 不卡的av在线| 日本一二三区视频在线| 在线一区视频观看| 日韩国产一区三区| 国产美女久久久久久| 日韩高清一区二区| 久久久99爱| h片视频在线观看| 7777精品伊人久久久大香线蕉的| 美女被到爽高潮视频| 999在线观看精品免费不卡网站| 成人在线国产精品| freemovies性欧美| 色噜噜久久综合| 日韩免费高清一区二区| 欧美久久一区| 97超级碰碰| 国产视频在线播放| 欧美日韩大陆在线| 国产中文字幕久久| 日本伊人色综合网| 久久综合给合久久狠狠色| 国产丝袜在线播放| 欧美成人猛片aaaaaaa| www.色小姐com| 激情深爱一区二区| 蜜臀av.com| 亚洲国产一区二区三区网站| 久久综合色影院| 国产三级第一页| 亚洲三级在线免费| 亚洲成人手机在线观看| 欧美1级日本1级| 97夜夜澡人人双人人人喊| 在线不卡日本v二区707| 日韩精品一区二区三区视频| 久久网一区二区| 成人精品国产一区二区4080| 国产精品久久久久福利| 亚洲免费av一区| 激情小说亚洲色图| 668精品在线视频| 涩爱av在线播放一区二区| 欧美日韩亚洲视频| 非洲一级黄色片| 麻豆精品视频在线观看| 黄色免费高清视频| 日韩成人在线观看视频| 高清欧美性猛交| 污污视频在线观看网站| 日本久久电影网| 国产99在线 | 亚洲| 韩国一区二区在线观看| www.在线观看av| 日韩精品福利一区二区三区| 日本欧美一级片| 天天在线视频色| 日韩美女在线视频| 国产又黄又爽又色| 国产精品国产馆在线真实露脸 | 日本少妇毛茸茸高潮| www.日韩在线| 美女一区二区三区视频| 亚洲二区三区不卡| 国产一区视频观看| 国产精品天堂蜜av在线播放 | 激情五月婷婷在线| av在线一区二区| 在线免费观看视频黄| 欧美黄色免费| 欧美在线播放一区二区| 久久九九精品视频| 国产va免费精品高清在线观看 | 亚洲天堂久久久久久久| 男生和女生一起差差差视频| 亚洲在线成人| 天天在线免费视频| 久久综合影院| 国产高清自拍99| 久久久人成影片一区二区三区在哪下载 | 麻豆网站免费观看| 最新中文字幕在线播放| 亚洲欧美中文在线视频| 99热这里只有精品9| 欧美性猛xxx| 日韩女优一区二区| 国产欧美精品在线观看| 国产一线在线观看| 精品一区二区免费| 熟妇人妻va精品中文字幕| 午夜电影亚洲| 亚洲午夜精品一区二区| 亚洲老女人视频免费| 99视频在线播放| 开心久久婷婷综合中文字幕| 2019中文字幕在线| 在线中文字幕-区二区三区四区| 亚洲毛片在线看| 狠狠躁夜夜躁av无码中文幕| 7777精品久久久大香线蕉| 美日韩一二三区| 伊人婷婷欧美激情| 日韩精品一区二区三区在线视频| 久久午夜免费电影| 欧洲熟妇的性久久久久久| 美女视频一区在线观看| 99草草国产熟女视频在线| 激情综合在线| www.男人天堂网| 在线观看国产精品入口| 亚洲国产一区二区三区在线| 欧美美乳视频| 久久精品国产精品青草色艺| 国产欧美自拍一区| 99在线看视频| 波多野结衣欧美| 999视频在线免费观看| 亚洲高清影院| 91精品久久久久久久久久入口| 日韩不卡在线| 国产精品夫妻激情| 欧美日韩国产网站| 国产精品福利观看| 成人在线视频免费看| 国产精品久久久久999| 日韩制服诱惑| 国产精品入口尤物| 91久久久久久白丝白浆欲热蜜臀| 国产精品第一第二| 成人高清一区| 成人a级免费视频| 久久视频社区| av免费观看久久| 亚洲精品国产九九九| 国产精品乱码| 色愁久久久久久| 欧美一区二区综合| 四虎久久免费| 中文字幕精品一区二区精品绿巨人 | 91久久国产视频| 精品国产乱码久久久久久天美| 日韩三级视频在线| 日韩人在线观看| 波多野结衣高清视频| 欧美日韩三级在线| 国产精品亚洲欧美在线播放| 欧美大片在线观看一区二区| 四虎免费在线观看| 国产一区二区三区在线视频| 欧美jizz18性欧美| 欧美高跟鞋交xxxxxhd| 三妻四妾完整版在线观看电视剧| 国产成人精品久久久| av在线精品| 国产在线欧美日韩| japanese国产精品| 精品日韩在线播放| 一区二区三区导航| 亚洲欧美久久久久| 国产91精品露脸国语对白| 泷泽萝拉在线播放| 国产精品白丝在线| 69精品久久久| 欧美在线不卡视频| 亚洲av色香蕉一区二区三区| 亚洲欧美日韩网| 18+激情视频在线| 8x拔播拔播x8国产精品| 成人在线黄色| 国产高清精品一区| 欧美偷拍综合| 大西瓜av在线| 欧美aaaaaa午夜精品| 老熟女高潮一区二区三区| 国产亚洲一区二区在线观看| 日韩影院一区二区| 日韩欧美国产黄色| av中文字幕观看| 亚洲欧美资源在线| 欧美巨大xxxx做受沙滩| 国产精品aaaa| 欧美大片网址| 精品久久久无码人妻字幂| 日本午夜精品一区二区三区电影 | 在线视频精品免费| 欧美变态tickle挠乳网站| 国产大学生校花援交在线播放| 欧美激情视频在线| 伊人久久一区| 欧美激情国产日韩| 激情五月***国产精品| 性欧美在线视频| 欧美精品国产白浆久久久久| 亚洲性生活视频| 丝袜中文在线| 国产欧美精品日韩| 久操成人av| 久久综合色视频| 国产精品18久久久久久久久久久久| caopeng视频| 午夜精品福利一区二区三区蜜桃| 99久久精品国产成人一区二区| 亚洲性夜色噜噜噜7777| 91av久久| 国产精品v欧美精品v日韩| 婷婷综合在线| 亚洲老女人av| 国产欧美精品日韩区二区麻豆天美| 日本少妇xxxx动漫| 亚洲第一页自拍| 色爱综合区网| 91香蕉视频在线下载| 图片小说视频色综合| 在线观看国产一级片| 国产三区在线成人av| 日本在线播放视频| 亚洲第一视频在线观看| 精品一性一色一乱农村| 亚洲综合色激情五月| 综合在线视频| 91蝌蚪视频在线| 综合色中文字幕| 国产一区二区在线视频观看| 在线亚洲午夜片av大片| 日韩一区精品| 亚洲啪啪av| 日本不卡一区二区三区| 亚洲色图欧美色| 欧美日韩小视频| 午夜伦理在线| 成人黄色免费片| 一级毛片免费高清中文字幕久久网| 国内国产精品天干天干| 中文字幕欧美一| www.色呦呦| 97在线免费观看视频| 色天下一区二区三区| 18岁视频在线观看| 国产精品九色蝌蚪自拍| 国产精品怡红院| 久久久久国产精品免费| 久久a爱视频| 国产精品wwwww| 国产精品网曝门| 99久久久国产精品无码网爆| 欧美激情xxxx| 青青草原在线亚洲| 国产第一页视频| 国产精品国产三级国产有无不卡| 国产免费一区二区三区免费视频| 久久99精品久久久久久青青91 | 欧美大胆一级视频| 看黄在线观看| 五月天丁香综合久久国产 | 一本大道久久精品懂色aⅴ| 国产视频网站在线| 亚洲在线第一页| 国产情侣一区| 国产精品麻豆一区| 超碰在线一区| 黄色网zhan| aaa亚洲精品一二三区| 免费观看日批视频| 蜜臀久久99精品久久久久久宅男| 精品久久ai| jizz18女人| 图片区小说区国产精品视频| 成年在线电影| 国产精品乱子乱xxxx| 免费久久99精品国产| 国语对白一区二区| 在线观看日韩视频| www.神马久久| 小泽玛利亚视频在线观看| 亚洲午夜精品在线| 成人在线免费视频| 精品国产一二| 精品综合免费视频观看| 国语对白永久免费|