午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁(yè) > 知識(shí)庫(kù) > 帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法

帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法

熱門標(biāo)簽:徐州天音防封電銷卡 電話機(jī)器人適用業(yè)務(wù) 湛江電銷防封卡 佛山防封外呼系統(tǒng)收費(fèi) 鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商 南昌辦理400電話怎么安裝 獲客智能電銷機(jī)器人 不錯(cuò)的400電話辦理 哈爾濱外呼系統(tǒng)代理商

銀行跨行轉(zhuǎn)賬業(yè)務(wù)是一個(gè)典型分布式事務(wù)場(chǎng)景,假設(shè) A 需要跨行轉(zhuǎn)賬給 B,那么就涉及兩個(gè)銀行的數(shù)據(jù),無(wú)法通過(guò)一個(gè)數(shù)據(jù)庫(kù)的本地事務(wù)保證轉(zhuǎn)賬的 ACID,只能夠通過(guò)分布式事務(wù)來(lái)解決。

分布式事務(wù)

分布式事務(wù)在分布式環(huán)境下,為了滿足可用性、性能與降級(jí)服務(wù)的需要,降低一致性與隔離性的要求,一方面遵循 BASE 理論:

  • 基本業(yè)務(wù)可用性( Basic Availability )
  • 柔性狀態(tài)( Soft state )
  • 最終一致性( Eventual consistency )
  • 另一方面,分布式事務(wù)也部分遵循 ACID 規(guī)范:
  • 原子性:嚴(yán)格遵循
  • 一致性:事務(wù)完成后的一致性嚴(yán)格遵循;事務(wù)中的一致性可適當(dāng)放寬
  • 隔離性:并行事務(wù)間不可影響;事務(wù)中間結(jié)果可見性允許安全放寬
  • 持久性:嚴(yán)格遵循

SAGA

Saga 是這一篇數(shù)據(jù)庫(kù)論文SAGAS提到的一個(gè)分布式事務(wù)方案。其核心思想是將長(zhǎng)事務(wù)拆分為多個(gè)本地短事務(wù),由 Saga 事務(wù)協(xié)調(diào)器協(xié)調(diào),如果各個(gè)本地事務(wù)成功完成那就正常完成,如果某個(gè)步驟失敗,則根據(jù)相反順序一次調(diào)用補(bǔ)償操作。

目前可用于 SAGA 的開源框架,主要為 Java 語(yǔ)言,其中以 seata 為代表。我們的例子采用 go 語(yǔ)言,使用的分布式事務(wù)框架為https://github.com/yedf/dtm,它對(duì)分布式事務(wù)的支持非常優(yōu)雅。下面來(lái)詳細(xì)講解 SAGA 的組成:

DTM 事務(wù)框架里,有 3 個(gè)角色,與經(jīng)典的 XA 分布式事務(wù)一樣:

  • AP/應(yīng)用程序,發(fā)起全局事務(wù),定義全局事務(wù)包含哪些事務(wù)分支
  • RM/資源管理器,負(fù)責(zé)分支事務(wù)各項(xiàng)資源的管理
  • TM/事務(wù)管理器,負(fù)責(zé)協(xié)調(diào)全局事務(wù)的正確執(zhí)行,包括 SAGA 正向 /逆向操作的執(zhí)行

下面看一個(gè)成功完成的 SAGA 時(shí)序圖,就很容易理解 SAGA 分布式事務(wù):

SAGA實(shí)踐

對(duì)于我們要進(jìn)行的銀行轉(zhuǎn)賬的例子,我們將在正向操作中,進(jìn)行轉(zhuǎn)入轉(zhuǎn)出,在補(bǔ)償操作中,做相反的調(diào)整。

首先我們創(chuàng)建賬戶余額表:

CREATE TABLE dtm_busi.`user_account` ( 
  `id` int(11) AUTO_INCREMENT PRIMARY KEY, 
  `user_id` int(11) not NULL UNIQUE , 
  `balance` decimal(10,2) NOT NULL DEFAULT '0.00', 
  `create_time` datetime DEFAULT now(), 
  `update_time` datetime DEFAULT now() 
); 

我們先編寫核心業(yè)務(wù)代碼,調(diào)整用戶的賬戶余額

def saga_adjust_balance(cursor, uid, amount): 
  affected = utils.sqlexec(cursor, "update dtm_busi.user_account set balance=balance+%d where user_id=%d and balance >= -%d" %(amount, uid, amount)) 
  if affected == 0: 
    raise Exception("update error, balance not enough") 

下面我們來(lái)編寫具體的正向操作 /補(bǔ)償操作的處理函數(shù)

@app.post("/api/TransOutSaga") 
def trans_out_saga(): 
  saga_adjust_balance(c, out_uid, -30) 
  return {"dtm_result": "SUCCESS"} 
 
@app.post("/api/TransOutCompensate") 
def trans_out_compensate(): 
  saga_adjust_balance(c, out_uid, 30) 
  return {"dtm_result": "SUCCESS"} 
 
@app.post("/api/TransInSaga") 
def trans_in_saga(): 
  saga_adjust_balance(c, in_uid, 30) 
  return {"dtm_result": "SUCCESS"} 
 
@app.post("/api/TransInCompensate") 
def trans_in_compensate(): 
  saga_adjust_balance(c, in_uid, -30) 
  return {"dtm_result": "SUCCESS"} 

到此各個(gè)子事務(wù)的處理函數(shù)已經(jīng) OK 了,然后是開啟 SAGA 事務(wù),進(jìn)行分支調(diào)用

# 這是 dtm 服務(wù)地址 
dtm = "http://localhost:8080/api/dtmsvr" 
# 這是業(yè)務(wù)微服務(wù)地址 
svc = "http://localhost:5000/api" 
 
    req = {"amount": 30} 
    s = saga.Saga(dtm, utils.gen_gid(dtm)) 
    s.add(req, svc + "/TransOutSaga", svc + "/TransOutCompensate") 
    s.add(req, svc + "/TransInSaga", svc + "/TransInCompensate") 
    s.submit() 

至此,一個(gè)完整的 SAGA 分布式事務(wù)編寫完成。

如果您想要完整運(yùn)行一個(gè)成功的示例,那么參考這個(gè)例子yedf/dtmcli-py-sample,將它運(yùn)行起來(lái)非常簡(jiǎn)單

# 部署啟動(dòng) dtm 
# 需要 docker 版本 18 以上 
git clone https://github.com/yedf/dtm 
cd dtm 
docker-compose up 
 
# 另起一個(gè)命令行 
git clone https://github.com/yedf/dtmcli-py-sample 
cd dtmcli-py-sample 
pip3 install flask dtmcli requests 
flask run 
 
# 另起一個(gè)命令行 
curl localhost:5000/api/fireSaga 

處理網(wǎng)絡(luò)異常

假設(shè)提交給 dtm 的事務(wù)中,調(diào)用轉(zhuǎn)入操作時(shí),出現(xiàn)短暫的故障怎么辦?按照 SAGA 事務(wù)的協(xié)議,dtm 會(huì)重試未完成的操作,這時(shí)我們要如何處理?故障有可能是轉(zhuǎn)入操作完成后出網(wǎng)絡(luò)故障,也有可能是轉(zhuǎn)入操作完成中出現(xiàn)機(jī)器宕機(jī)。如何處理才能夠保障賬戶余額的調(diào)整是正確無(wú)問(wèn)題的?

這類網(wǎng)絡(luò)異常的妥當(dāng)處理,是分布式事務(wù)中的大難題,異常情況包括三類:重復(fù)請(qǐng)求、空補(bǔ)償、懸掛,都需要正確處理

DTM 提供了子事務(wù)屏障功能,保證上述異常情況下的業(yè)務(wù)邏輯,只會(huì)有一次正確順序下的成功提交。(子事務(wù)屏障詳情參考分布式事務(wù)最經(jīng)典的七種解決方案的子事務(wù)屏障環(huán)節(jié))

我們把處理函數(shù)調(diào)整為:

@app.post("/api/TransOutSaga") 
def trans_out_saga(): 
  with barrier.AutoCursor(conn_new()) as cursor: 
    def busi_callback(c): 
      saga_adjust_balance(c, out_uid, -30) 
    barrier_from_req(request).call(cursor, busi_callback) 
  return {"dtm_result": "SUCCESS"} 

這里的 barrier_from_req(request).call(cursor, busi_callback)調(diào)用會(huì)使用子事務(wù)屏障技術(shù),保證 busi_callback 回調(diào)函數(shù)僅被提交一次

您可以嘗試多次調(diào)用這個(gè) TransIn 服務(wù),僅有一次余額調(diào)整。

處理回滾

假如銀行將金額準(zhǔn)備轉(zhuǎn)入用戶 2 時(shí),發(fā)現(xiàn)用戶 2 的賬戶異常,返回失敗,會(huì)怎么樣?我們調(diào)整處理函數(shù),讓轉(zhuǎn)入操作返回失敗

@app.post("/api/TransInSaga") 
def trans_in_saga(): 
  return {"dtm_result": "FAILURE"} 

我們給出事務(wù)失敗交互的時(shí)序圖

這里有一點(diǎn),TransIn 的正向操作什么都沒(méi)有做,就返回了失敗,此時(shí)調(diào)用 TransIn 的補(bǔ)償操作,會(huì)不會(huì)導(dǎo)致反向調(diào)整出錯(cuò)了呢?

不用擔(dān)心,前面的子事務(wù)屏障技術(shù),能夠保證 TransIn 的錯(cuò)誤如果發(fā)生在提交之前,則補(bǔ)償為空操作;TransIn 的錯(cuò)誤如果發(fā)生在提交之后,則補(bǔ)償操作會(huì)將數(shù)據(jù)提交一次。

您可以將返回錯(cuò)誤的 TransIn 改成:

@app.post("/api/TransInSaga") 
def trans_in_saga(): 
  with barrier.AutoCursor(conn_new()) as cursor: 
    def busi_callback(c): 
      saga_adjust_balance(c, in_uid, 30) 
    barrier_from_req(request).call(cursor, busi_callback) 
  return {"dtm_result": "FAILURE"} 

最后的結(jié)果余額依舊會(huì)是對(duì)的,原理可以參考:分布式事務(wù)最經(jīng)典的七種解決方案的子事務(wù)屏障環(huán)節(jié)

小結(jié)

在這篇文章里,我們介紹了 SAGA 的理論知識(shí),也通過(guò)一個(gè)例子,完整給出了編寫一個(gè) SAGA 事務(wù)的過(guò)程,涵蓋了正常成功完成,異常情況,以及成功回滾的情況。相信讀者通過(guò)這邊文章,對(duì) SAGA 已經(jīng)有了深入的理解。

文中使用的 dtm 是新開源的 Golang 分布式事務(wù)管理框架,功能強(qiáng)大,支持 TCC 、SAGA 、XA 、事務(wù)消息等事務(wù)模式,支持 Go 、python 、PHP 、node 、csharp 等語(yǔ)言的。同時(shí)提供了非常簡(jiǎn)單易用的接口。

閱讀完此篇干貨,歡迎大家訪問(wèn)項(xiàng)目https://github.com/yedf/dtm,給顆星星支持!

到此這篇關(guān)于帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的問(wèn)題的文章就介紹到這了,更多相關(guān)Python Saga 分布式事務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos
  • Python搭建Spark分布式集群環(huán)境
  • python django框架中使用FastDFS分布式文件系統(tǒng)的安裝方法
  • Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實(shí)例詳解
  • Python分布式進(jìn)程中你會(huì)遇到的問(wèn)題解析
  • 講解如何利用 Python完成 Saga 分布式事務(wù)

標(biāo)簽:蕪湖 懷化 紹興 吉安 廣西 蘭州 呂梁 安康

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法》,本文關(guān)鍵詞  帶,你用,Python,實(shí)現(xiàn),Saga,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久草成人在线视频| 精品国产乱子伦一区| 欧美韩国日本精品一区二区三区| 波多野结衣电影在线播放| 欧美老女人在线| 黄色成人免费看| www.日韩精品| 亚洲欧洲一区二区三区在线观看| 国产欧美精品一二三| 91成品人影院| 亚洲无亚洲人成网站77777| 在线观看国产网站| 福利微拍一区二区| 黄色大片中文字幕| 国产精品小仙女| 热99在线视频| 久久狠狠高潮亚洲精品| 欧美大片日本大片免费观看| 一个人看的视频www| 亚洲综合色区另类av| 亚洲精品成人三区| 午夜激情在线视频| 国产精品海角社区在线观看| 日韩精品久久久久久免费| 亚洲第一网站男人都懂| 黄色片视频免费观看| 91久久国产最好的精华液| 久久婷婷国产91天堂综合精品| 国产高清无密码一区二区三区| 国产99在线播放| 四虎精品一区二区三区| 日本久久91av| 中国一区二区视频| 久久99热这里只有精品国产| 亚洲欧美另类日本| 欧美精品一区二区精品网| fc2成人免费视频| 欧美日韩一区小说| www.涩涩涩| 亚洲精品第1页| 免费午夜视频在线观看| 欧美国产乱子伦| 激情六月天婷婷| 综合久久久久综合| 免费毛片小视频| 亚洲最大的成人av| 中文字幕第80页| 亚洲男帅同性gay1069| 播放灌醉水嫩大学生国内精品| 国产精品久久久久久久岛一牛影视| 成人自拍性视频| 国产精品毛片高清在线完整版 | 97久久精品视频| 欧美激情 一区| 亚洲欧美日本另类| 亚洲天堂男人av| 国产精品视频一区二区高潮| 美腿丝袜在线亚洲一区| 亚洲第一在线综合在线| 亚洲乱码中文字幕| 国产伦理在线观看| 日韩av影视在线| 天堂网免费视频| 国产一区二中文字幕在线看| 国产毛片精品视频| 日本xxxxxxxxxx75| 欧美性三三影院| 国产精品白嫩白嫩大学美女| 91精品国产精品| 久久99日本精品| 国产激情在线看| 日韩欧美亚洲综合| 黄色香蕉视频在线观看| 57pao精品| 国产成人午夜高潮毛片| 久久婷婷五月综合色国产香蕉| 欧美综合一区二区| 久久97人妻无码一区二区三区| 国产精品爽黄69| 成人免费高清视频在线观看| 热这里只有精品| 欧美日精品一区视频| 日韩三级小视频| 91最新在线免费观看| 中文字幕乱码久久午夜不卡 | 亚洲av片一区二区三区| 无码毛片aaa在线| 欧美日韩一区二区三区在线看| 日本熟妇一区二区| 成人xxxxx色| 一区二区三区高清在线| 长河落日免费高清观看| 欧美一区二区大胆人体摄影专业网站| 激情六月婷婷久久| 无码少妇一区二区三区芒果| 亚洲精品国产精品国产自| 97人妻精品一区二区三区软件| 欧美日韩精品免费观看视一区二区 | 成人黄色午夜影院| 国产精品午夜电影| 久久精品国产亚洲AV成人婷婷| 欧美一区二区影院| 久久蜜桃香蕉精品一区二区三区| 欧亚乱熟女一区二区在线| 欧美极品在线播放| 日韩毛片视频在线看| 日本免费网站视频| 欧美二区在线播放| 成人午夜在线视频| 天天躁日日躁狠狠躁av| 欧美一级免费视频| 日本一区二区动态图| 亚洲区一区二区三| 国产精品一区二区你懂得| 午夜精品久久久久久不卡8050| 日韩视频免费观看高清| 欧美精品123| 欧美中文字幕不卡| 91片黄在线观看喷潮| 免费看啪啪网站| 亚洲国产精品人人爽夜夜爽| 四虎免费在线观看| 免费男同深夜夜行网站| 色爱av美腿丝袜综合粉嫩av| 国产久卡久卡久卡久卡视频精品| 中文字幕久久av| 26uuu久久噜噜噜噜| 国产精品三级av| 久久精品国产亚洲av麻豆色欲 | 午夜影院久久久| 黄色av网站免费观看| 最近免费观看高清韩国日本大全| 亚洲精品v欧美精品v日韩精品| 日韩精品五月天| 中文字幕永久免费| 国产精品嫩草影院一区二区| 亚洲女同女同女同女同女同69| 精品免费囯产一区二区三区| 中文字幕一区二区三区四区五区人| 亚洲精品一区二区三区99| 蜜桃视频免费观看一区| 亚洲最大免费视频| 999国产在线| 日韩精品一区二区在线观看| 青青草原综合久久大伊人精品优势| 男人女人拔萝卜视频| 成人精品在线视频| 3d动漫精品啪啪一区二区竹菊| 日韩在线a电影| 国产制服丝袜在线| 久久精品午夜一区二区福利| 精品成人一区二区三区四区| 成人在线视频一区二区| 91精品国产高清一区二区三蜜臀| 一本色道久久综合亚洲精品婷婷 | 丰满少妇一区二区| 欧美一区视久久| 国产香蕉一区二区三区在线视频 | 91精品国产综合久久蜜臀| 激情深爱一区二区| 免费无遮挡无码永久在线观看视频 | 日韩一级免费毛片| 欧美特级黄色录像| 一级二级三级欧美| 欧美精品videossex88| 欧美视频中文在线看| 日韩不卡一二三区| 久久精品日韩无码| 日韩欧美视频免费在线观看| 久久久极品av| 精品久久中文字幕久久av| 久久亚洲精选| 午夜精品福利在线视频| 黄色大片在线免费看| 国产精品扒开腿爽爽爽视频| 欧美日韩一区国产| 成人av在线电影| 黄色国产在线观看| 男女啪啪免费观看| 国产成人一区二区三区| 日韩欧美亚洲国产另类| 国产情人综合久久777777| 国产美女自慰在线观看| 波多野结衣一本| 欧美,日韩,国产在线| 亚洲在线视频观看| 日韩中文字幕国产精品| 一道本成人在线| 91丨porny丨国产| 亚洲女同志亚洲女同女播放| 国产免费一区二区三区四区| 日韩福利视频在线| 欧美日韩国产一二| 日本精品久久久| 日韩精品免费视频| 岛国av一区二区三区| 99久久er热在这里只有精品66| 在线视频免费观看一区| 天天操天天干天天做| 成人福利网站在线观看11| 日韩一区二区免费视频| 国产精品视频yy9299一区| 农村少妇久久久久久久| 公侵犯人妻一区二区三区| 人人妻人人澡人人爽欧美一区| 国产成人精品最新| 亚洲欧美成人网| 精品久久久久久久中文字幕 | 午夜精品美女自拍福到在线| 欧美美女bb生活片| 久久综合久色欧美综合狠狠| 亚洲第一免费视频| 99久久99久久精品国产| 激情黄色小视频| 欧美系列一区| 97久久精品国产| 亚洲国产私拍精品国模在线观看| 国产欧美一区二区精品性色| 国产视频在线一区| 国产97免费视频| 青青青在线视频免费观看| 日本在线一区| 欧美伊久线香蕉线新在线| 日韩精品丝袜在线| 一本大道久久精品懂色aⅴ| 成人丝袜18视频在线观看| 成人免费公开视频| 免费三级在线观看| 亚洲午夜久久久久久久久| 国产一级爱c视频| 欧美日韩无遮挡| 国产日韩在线一区| 久操成人在线视频| 亚洲激情视频在线播放| 日韩欧美在线视频免费观看| 岛国精品在线观看| 成人免费视频国产| 91麻豆精品在线| 欧美色图17p| 岛国大片在线免费观看| 日韩中文字幕三区| 欧美性天天影院| 成人a免费视频| 97视频免费在线看| 日韩av在线精品| 欧美日韩精品一区二区三区| 国产精品传媒入口麻豆| 顶级嫩模精品视频在线看| 视频在线在亚洲| 波多野结衣理论片| 日韩精品无码一区二区| 91狠狠综合久久久| 国产精品密蕾丝袜| 日本一区二区在线观看视频| 一路向西2在线观看| www国产黄色| 男人的天堂狠狠干| 久久精品在线免费视频| 亚洲精品久久区二区三区蜜桃臀 | 色狠狠综合天天综合综合| 亚洲国产精品久久久久秋霞影院 | 色屁屁草草影院ccyycom| 国产又粗又猛又爽又| 日本va欧美va国产激情| 国产亚洲第一页| 欧美成人精品欧美一级| 精品国产大片大片大片| 黄色三级生活片| 天天摸日日摸狠狠添| 精品亚洲aⅴ无码一区二区三区| 波多野结衣a v在线| 瑟瑟视频在线观看| 丰腴饱满的极品熟妇| 男人女人拔萝卜视频| 国产精品91av| 在线精品视频播放| 国产ts在线观看| 一级特黄a大片免费| 欧美亚一区二区三区| zjzjzjzjzj亚洲女人| 鲁大师私人影院在线观看| 成人性生交大免费看| 久久免费手机视频| 2019男人天堂| 中文字幕手机在线观看| 男人天堂中文字幕| 影音先锋亚洲天堂| 中文字幕第2页| 久草热在线观看| 国产美女主播在线观看| 欧美一级淫片aaaaaa| 蜜桃av噜噜一区| 国产成人一区二区精品非洲| 成人av网址在线观看| 9久草视频在线视频精品| 国产欧美一区二区精品性色| 亚洲精品国产无天堂网2021 | 日韩午夜精品电影| 在线精品国产欧美| 日韩中文理论片| 国外成人在线播放| 国产精品一区二区三区毛片淫片| 国产精品久久久久久免费观看| 欧美系列一区| 妺妺窝人体色777777| 成年网站免费在线观看| 亚洲精品久久久久久| 东京热无码av男人的天堂| 国产精品久久免费观看| 国产主播在线播放| ,亚洲人成毛片在线播放| 日韩一区精品字幕| 99久久精品99国产精品 | 欧美日韩性生活| 亚洲国产精品一区二区久| 美女福利精品视频| 国产成人在线精品| 国产亚洲一区二区三区在线播放 | 97公开免费视频| 亚洲天堂视频一区| 800av免费在线观看| 日本黄色一区二区三区| 成人听书哪个软件好| 亚洲毛片av在线| 日韩午夜av一区| 欧美成人第一页| 91精品免费久久久久久久久| 天堂资源在线亚洲视频| 91专区在线观看| 小日子的在线观看免费第8集| 欧美h片在线观看| 国产伦理一区二区| 狠狠色丁香久久婷婷综合丁香| www.欧美日韩国产在线| 国产91色综合久久免费分享| 亚洲一卡二卡三卡四卡五卡| 欧美一区2区视频在线观看| 夜夜嗨av色综合久久久综合网| 国产精品扒开腿做爽爽爽视频| 国产欧美日韩一区二区三区| 欧美日韩一区二区在线免费观看| 免费污网站在线观看| 波多野结衣电车痴汉| 国产精品影视网| 亚洲久本草在线中文字幕| 精品国产精品一区二区夜夜嗨| 午夜精品免费视频| 久久免费一区| 欧美日韩怡红院| 久久久综合久久| 美女视频免费一区| 香港成人在线视频| 中文欧美在线视频| 亚洲自拍偷拍一区| 国产一区二区视频免费在线观看| 黄免费在线观看| 成人精品在线播放| 久久久久久99精品| 欧美美女bb生活片| 5566中文字幕一区二区电影| 97成人超碰免| 免费在线看黄色片| 野外性满足hd| 亚洲精品18p| 一区二区三区成人| 久久视频在线观看免费| 国产精品污www一区二区三区| mm1313亚洲国产精品无码试看| 精品少妇久久久| 六月丁香综合在线视频| 色丁香久综合在线久综合在线观看| 欧美精品中文字幕一区| 日日噜噜噜夜夜爽爽| 久久久国产精品无码| 手机看片福利在线| 精品久久香蕉国产线看观看亚洲| 中文字幕亚洲欧美日韩高清| 欧美美乳视频网站在线观看| 水蜜桃av无码| 性猛交xxxx| 精品久久久免费| 欧美国产视频日韩| 男人c女人视频| 国产三级国产精品国产国在线观看| 天天操天天干天天爱| 亚洲免费观看在线观看| 久久天天躁日日躁| 丁香色欲久久久久久综合网| 日日操免费视频| 韩国三级在线一区| 精品国产污污免费网站入口 | 欧美成人a∨高清免费观看| 99电影在线观看| 国产精品福利导航| 看电视剧不卡顿的网站| 欧美一区三区四区| 成人午夜黄色影院| 亚洲av成人片无码| 狠狠人妻久久久久久综合麻豆 | 日韩欧美视频一区二区| 日本午夜在线观看| 91免费看视频| 欧美成人精品激情在线观看 | 亚洲欧美精品在线| 91制片厂免费观看| 欧美日韩人妻精品一区二区三区 | 亚洲成人动漫在线观看| 国产精品欧美日韩| 午夜诱惑痒痒网| 美女久久一区|