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

Zookeeper恢復(fù)了,線上微服務(wù)卻全部掉線了,怎么回事?

開發(fā) 架構(gòu)
除了優(yōu)化對(duì)異常的捕獲處理外,RPC框架對(duì)注冊(cè)中心的空地址推送也應(yīng)該做特殊判斷,用業(yè)界的專業(yè)名詞來說,就是「推空保護(hù)」。所謂「推空保護(hù)」,就是在服務(wù)發(fā)現(xiàn)監(jiān)聽獲取空節(jié)點(diǎn)列表時(shí),維持本地服務(wù)發(fā)現(xiàn)列表緩存,而不是清空處理。

注冊(cè)中心zookeeper重啟恢復(fù)后,線上微服務(wù)卻全部掉線了,怎么回事?!

最近因?yàn)橐淮五e(cuò)誤的運(yùn)維操作,導(dǎo)致線上注冊(cè)中心zk被重啟。而zk重啟后發(fā)現(xiàn)所有線上微服務(wù)開始不斷掉線,造成了持續(xù)30分鐘的P0?故障。

整體排查過程深入學(xué)習(xí)了 zookeeper的session機(jī)制,以及在這種異常情況下,RPC框架應(yīng)該如何處理。

好了,一起來回顧下這次線上故障吧,最佳實(shí)踐總結(jié)放在最后,千萬不要錯(cuò)過。

1、現(xiàn)象描述

某天晚上19:43分左右,誤操作將線上zk集群下線(stop),總共7臺(tái)節(jié)點(diǎn),下線了6臺(tái),導(dǎo)致zk停止工作。

在發(fā)現(xiàn)節(jié)點(diǎn)下掉后,于19:51分左右將所有zk節(jié)點(diǎn)進(jìn)行重啟(start),期間服務(wù)正常運(yùn)行,沒有收到批量業(yè)務(wù)調(diào)用的報(bào)錯(cuò)和客訴。

直到19:56分,開始收到大面積調(diào)用失敗的警報(bào)和客訴,我們嘗試著依賴自研RPC框架與zk間重連后的「自動(dòng)恢復(fù)」機(jī)制,希望能夠在短時(shí)間內(nèi)批量恢復(fù)。

但是很不幸,過了接近8分鐘,沒有任何大面積恢復(fù)的跡象。

結(jié)合zk znode節(jié)點(diǎn)數(shù)上升非常緩慢的情況,于是我們采取了應(yīng)急措施,將所有微服務(wù)的pod原地重啟,執(zhí)行重啟后效果顯著,大面積服務(wù)在短時(shí)間內(nèi)逐步恢復(fù)。

2、初步分析

我們自研的RPC框架采用典型的 注冊(cè)中心+provider+consumer 的模式,通過zk臨時(shí)節(jié)點(diǎn)的方式做服務(wù)的注冊(cè)發(fā)現(xiàn),如下圖所示。

圖片

結(jié)合故障期間發(fā)生的現(xiàn)象,我們初步分析:

  • 階段1:zk集群停服(stop)期間,業(yè)務(wù)能夠正常調(diào)用。原因是consumer無法訪問zk,暫時(shí)失去服務(wù)發(fā)現(xiàn)能力,所以在這個(gè)期間只要服務(wù)沒有重啟,就不會(huì)刷新本地的服務(wù)發(fā)現(xiàn)provider緩存列表provider-list,調(diào)用無異常。
  • 階段2:zk集群啟動(dòng)完畢后,服務(wù)間立刻出現(xiàn)調(diào)用問題。原因是consumer連接上zk后,立刻進(jìn)行服務(wù)發(fā)現(xiàn)操作,然而provider服務(wù)這時(shí)還沒重新注冊(cè)到zk,讀取到的是空地址列表,造成了業(yè)務(wù)的批量報(bào)錯(cuò)。
  • 階段3:zk恢復(fù)后續(xù)一段時(shí)間,provider服務(wù)仍然沒「自動(dòng)重連」到zk,導(dǎo)致consumer持續(xù)報(bào)錯(cuò)。在所有服務(wù)全量重啟后,provider服務(wù)重新注冊(cè)成功,consumer恢復(fù)。

這里存在一個(gè)問題:

為什么zk集群恢復(fù)后,provider客戶端「自動(dòng)重連」注冊(cè)中心的機(jī)制沒有生效?導(dǎo)致consumer被推送了空地址列表后,沒有再收到重新的provider注冊(cè)節(jié)點(diǎn)信息了。

3、深入排查

(1問題復(fù)現(xiàn)

根據(jù)大量測試,我們找到了穩(wěn)定復(fù)現(xiàn)本次問題的方法:

zk session過期包括 「服務(wù)端過期」 和 「客戶端過期」,在「客戶端過期」情況下恢復(fù)zk集群,會(huì)導(dǎo)致「臨時(shí)節(jié)點(diǎn)」丟失,且無法自動(dòng)恢復(fù)的情況。

(2原因分析

1)?在集群重啟恢復(fù)后,RPC框架客戶端立刻就與zk集群取得重連,將保存在本地內(nèi)存待注冊(cè)的providers節(jié)點(diǎn) + 待訂閱的consumers節(jié)點(diǎn) 進(jìn)行重建。

2)但是zk集群此時(shí)根據(jù)snapshot恢復(fù)的「臨時(shí)節(jié)點(diǎn)」(包括provider和consumer) 都還在,因此重建操作返回NodeExist異常,重建失敗了。(問題1:為什么沒有重試?)

3)在集群重啟恢復(fù)40s后,將過期Session相關(guān)的 臨時(shí)節(jié)點(diǎn)全都移除了。(問題2:為什么要移除?)

4)consumer監(jiān)聽到 節(jié)點(diǎn)移除 的空列表,清空了本地provider列表。故障發(fā)生了。?

基于這個(gè)分析,我們需要進(jìn)一步圍繞2個(gè)問題進(jìn)行源碼的定位:

  • 問題1:zk集群恢復(fù)后,前40s,為什么RPC框架的客戶端在創(chuàng)建臨時(shí)節(jié)點(diǎn)失敗后沒有重試?
  • 問題2:zk集群恢復(fù)后,40s后,為什么zk會(huì)刪除之前所有已經(jīng)恢復(fù)的臨時(shí)節(jié)點(diǎn)?

(3)問題1:為什么臨時(shí)節(jié)點(diǎn)創(chuàng)建失敗沒有重試?

通過源碼分析,我們看到,RPC框架客戶端與服務(wù)端取得重連后,會(huì)將內(nèi)存里老的臨時(shí)節(jié)點(diǎn)進(jìn)行重新創(chuàng)建。

這段邏輯看來沒有什么問題,doRegister成功之后才會(huì)將該節(jié)點(diǎn)從失敗列表中移除,否則將繼續(xù)定時(shí)去重試創(chuàng)建。

圖片

繼續(xù)往下走,關(guān)鍵點(diǎn)來了:

圖片

這里我們可以看到,在創(chuàng)建臨時(shí)節(jié)點(diǎn)時(shí),吞掉了服務(wù)端返回的NodeExistsException,使整個(gè)外層的doRegister和doSubscribe(訂閱)方法在這種情況下都被認(rèn)為是重新創(chuàng)建成功,所以只創(chuàng)建了一次。

正如上面分析的,其實(shí)正常情況下,這里對(duì)NodeExistsException不做處理是沒有問題的,就是節(jié)點(diǎn)已經(jīng)存在不用再添加了,也不需要再重試了,但是伴隨服務(wù)端后續(xù)踢出老sessionId同時(shí)刪除了相關(guān)臨時(shí)節(jié)點(diǎn),就引起了故障。

(4)問題2:zk為什么刪除已經(jīng)恢復(fù)的臨時(shí)節(jié)點(diǎn)?

1)從zk的session機(jī)制說起

眾所周知,zk session管理在客戶端、服務(wù)端都有實(shí)現(xiàn),并且兩者通過心跳進(jìn)行交互。

在發(fā)送心跳包時(shí),客戶端會(huì)攜帶自己的sessionId,服務(wù)端收到請(qǐng)求,檢查sessionId確認(rèn)存活后再發(fā)送返回結(jié)果給客戶端。

如果客戶端發(fā)送了一個(gè)服務(wù)端并不知道的sessionId,那么服務(wù)端會(huì)生成一個(gè)新的sessionId頒布給客戶端,客戶端收到后本地進(jìn)行sessionid的刷新。

2)zk客戶端(curator)session過期機(jī)制

當(dāng)客戶端(curator)本地sessionTimeout超時(shí)時(shí),會(huì)進(jìn)行本地zk對(duì)象的重建(reset),我們從源碼可以看到默認(rèn)將本地的sessionId重置為0了

圖片

圖片

zk服務(wù)端后續(xù)收到這個(gè)為“0”sessionId,認(rèn)為是一個(gè)未知的session需要?jiǎng)?chuàng)建,接著就為客戶端創(chuàng)建了一個(gè)新的sessionId。

3) 服務(wù)端(zookeeper)session過期處理機(jī)制

服務(wù)端(zookeeper) sessionTimeout的管理,是在zk會(huì)話管理器中看到一個(gè)線程任務(wù),不斷判斷管理的session是否有超時(shí)(獲取下一個(gè)過期時(shí)間點(diǎn)nextExpirationTime已經(jīng)超時(shí)的會(huì)話),并進(jìn)行會(huì)話的清理。

圖片

我們繼續(xù)往下走,關(guān)鍵點(diǎn)來了,在清理session的過程中,除了將sessionId從本地expiryMap中清除外,還進(jìn)行了臨時(shí)節(jié)點(diǎn)的清理

圖片

?原來zkserver端是將sessionId和它所創(chuàng)建的臨時(shí)節(jié)點(diǎn)進(jìn)行了綁定。伴隨著服務(wù)端sessionId的過期,綁定的所有臨時(shí)節(jié)點(diǎn)也會(huì)隨之刪除。

因此,zk集群恢復(fù)后40s,zk服務(wù)端session超時(shí),刪除了過期session的所有相關(guān)臨時(shí)節(jié)點(diǎn)。?

4、故障根本原因總結(jié)

1)zk集群恢復(fù)的第一時(shí)間,對(duì)zk的snapshot文件進(jìn)行了讀取并初始化zk數(shù)據(jù),取到了老session,進(jìn)行了create session的操作,完成了一次老session的續(xù)約(重置40s)。

集群恢復(fù)關(guān)鍵入口-重新加載snapshot:

圖片


進(jìn)行session恢復(fù)(創(chuàng)建)操作,默認(rèn)session timeout 40s:?

圖片

?2)而此時(shí)客戶端session早已經(jīng)過期,帶著空sessionid 0x0進(jìn)行重連,獲得新sessionId。但是此時(shí)RPC框架在臨時(shí)節(jié)點(diǎn)注冊(cè)失敗后吞掉了服務(wù)端返回的NodeExistsException,被認(rèn)為是重新創(chuàng)建成功,所以只創(chuàng)建了一次。

3)zk集群恢復(fù)后經(jīng)過40s最終因?yàn)榉?wù)端session過期,將過期sessionId和及其綁定的臨時(shí)節(jié)點(diǎn)進(jìn)行了清除。

4)consumer監(jiān)聽到 節(jié)點(diǎn)移除 的空列表,清空了本地provider列表。故障發(fā)生了。?

5、解決方案

經(jīng)過上面的源碼分析,解決方案有兩種:

  • 方案1:客戶端(curator)設(shè)置session過期時(shí)間更長或者不過期,那么集群恢復(fù)后的前40s,客戶端帶著原本的sessionid跟服務(wù)端做一次請(qǐng)求,就自動(dòng)續(xù)約了,不再過期。
  • 案2:客戶端session過期后,帶著空sessionid 0x0進(jìn)行重連的時(shí)候,對(duì)NodeExsitException做處理,進(jìn)行 刪除-重添加 操作,保證重連成功。

于是我們調(diào)研了一下業(yè)界使用zk的開源微服務(wù)框架是否支持自愈,以及如何實(shí)現(xiàn)的:

dubbo采用了方案2。

圖片

注釋也寫得非常清楚:?

“ZNode路徑已經(jīng)存在,因?yàn)槲覀冎粫?huì)在會(huì)話過期時(shí)嘗試重新創(chuàng)建節(jié)點(diǎn),所以這種重復(fù)可能是由zk服務(wù)器的刪除延遲引起的,這意味著舊的過期會(huì)話可能仍然保存著這個(gè)ZNode,而服務(wù)器只是沒有時(shí)間進(jìn)行刪除。在這種情況下,我們可以嘗試刪除并再次創(chuàng)建。”

看來dubbo確實(shí)后續(xù)也考慮到這個(gè)邊界場景,防止踩坑。

所以最后我們的解決方案也是借鑒dubbo fix的邏輯,進(jìn)行節(jié)點(diǎn)的替換:先deletePath再createPath,這么做的原因是將zk服務(wù)端內(nèi)存維護(hù)的過期sessionId替換新的sessionId,避免后續(xù)zk清理老sessionId時(shí)將所有綁定的節(jié)點(diǎn)刪除。

6、最佳實(shí)踐

回顧整個(gè)故障,我們其實(shí)還忽略了一點(diǎn)最佳實(shí)踐。

除了優(yōu)化對(duì)異常的捕獲處理外,RPC框架對(duì)注冊(cè)中心的空地址推送也應(yīng)該做特殊判斷,用業(yè)界的專業(yè)名詞來說,就是「推空保護(hù)」。

所謂「推空保護(hù)」,就是在服務(wù)發(fā)現(xiàn)監(jiān)聽獲取空節(jié)點(diǎn)列表時(shí),維持本地服務(wù)發(fā)現(xiàn)列表緩存,而不是清空處理。

這樣可以完全避免類似問題。

責(zé)任編輯:姜華 來源: 阿丸筆記
相關(guān)推薦

2018-11-08 10:53:43

sshscp服務(wù)器

2020-02-04 17:42:17

寬帶運(yùn)營商攜號(hào)轉(zhuǎn)網(wǎng)

2022-10-10 08:05:34

線程池OOM問題

2023-03-29 08:24:30

2020-04-14 10:06:20

微服務(wù)Netflix語言

2023-02-27 16:24:17

架構(gòu)開發(fā)數(shù)字化

2023-02-27 08:10:16

2020-02-18 11:19:36

物聯(lián)網(wǎng)病毒物聯(lián)網(wǎng)IOT

2023-03-02 12:32:36

2021-01-11 11:14:35

微服務(wù)架構(gòu)調(diào)用

2009-11-13 13:42:38

ADO.NET數(shù)據(jù)服務(wù)

2021-10-17 20:38:30

微服務(wù)內(nèi)存組件

2021-06-04 11:10:04

JavaScript開發(fā)代碼

2023-03-10 08:24:27

OOMdump線程

2021-04-18 18:14:44

Windows 10Windows微軟

2022-10-31 09:30:32

kafkaconsumer服務(wù)端

2013-04-18 09:56:05

2010-04-20 09:55:37

2023-03-05 15:41:58

MySQL日志暴漲
點(diǎn)贊
收藏

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

欧美亚洲国产一区二区三区va| 国产麻豆9l精品三级站| 国产亚洲成av人片在线观看桃| 已婚少妇美妙人妻系列| 老司机在线视频二区| 国产精品一级在线| 欧洲成人在线观看| 波多野结衣在线网址| 人人精品亚洲| 欧美精品777| 免费成人在线视频网站| mm1313亚洲国产精品美女| 久久蜜桃香蕉精品一区二区三区| 成人有码视频在线播放| 波多野结衣视频网站| 91精品国产麻豆国产在线观看| 亚洲精品福利在线| 最新av免费在线观看| 性欧美18~19sex高清播放| 亚洲欧洲av在线| 日本精品一区二区三区不卡无字幕| 99热这里只有精品在线| 爽好多水快深点欧美视频| 欧美久久久精品| 在线观看日本黄色| 国产欧美日韩免费观看| 亚洲第一网站免费视频| 国产精品自在自线| 天天综合网站| 欧美日韩一区二区免费视频| 日韩在线视频在线| 毛片在线视频| 国产精品污网站| 蜜桃久久影院| 天天干天天草天天射| 国产美女一区二区| 91天堂在线视频| 伊人免费在线观看| 日韩制服丝袜av| 91禁国产网站| 日本在线视频免费观看| 亚洲小说欧美另类社区| 欧美激情欧美激情| 九九久久免费视频| 国产精品草草| 欧美人在线视频| 成人免费视频国产免费观看| 久久在线视频免费观看| 中文字幕不卡在线视频极品| 日本一区二区视频在线播放| 国产精品嫩草影院在线看| 亚洲精品影视在线观看| 三叶草欧洲码在线| 影视先锋久久| 在线观看中文字幕亚洲| 极品尤物一区二区| 久久亚洲影视| 九九精品视频在线| 欧美国产日韩综合| 欧美电影《轻佻寡妇》| 伊人久久久久久久久久久| 国产调教在线观看| 五月久久久综合一区二区小说| www.久久久久| 国产老头老太做爰视频| 女人色偷偷aa久久天堂| 欧美精品18videos性欧美| 日韩精品乱码久久久久久| 一区二区日本视频| 国产国语刺激对白av不卡| 中文字幕在线观看视频一区| 久久国产精品99精品国产 | 伊人久久在线观看| 最新国产露脸在线观看| 亚洲成年人网站在线观看| 日韩网站在线免费观看| 北岛玲heyzo一区二区| 欧美制服丝袜第一页| 永久免费黄色片| 成人av动漫| 亚洲性线免费观看视频成熟| 91香蕉视频污在线观看| 国产综合自拍| 国产成人精品日本亚洲专区61| 一区二区三区播放| 国产成人99久久亚洲综合精品| 精品乱色一区二区中文字幕| 国产福利片在线| 日韩毛片在线免费观看| 国产成人在线小视频| 亚洲电影观看| 欧美精品xxxxbbbb| 强伦人妻一区二区三区| 五月天激情综合网| 日韩美女av在线免费观看| 一二区在线观看| 成人av网站在线| 亚洲欧洲精品一区二区| 懂色av一区| 欧美日韩一区 二区 三区 久久精品| 免费黄视频在线观看| 国产精品亚洲人成在99www| 久久99久国产精品黄毛片入口| 国产精品一区二区三区四| 国产一区二区三区综合| 日韩精品另类天天更新| 免费在线播放电影| 欧美精品丝袜中出| 蜜桃久久精品成人无码av| 欧美日韩国产成人精品| 国产精品一区二区久久精品| 五月婷婷在线观看视频| 亚洲人妖av一区二区| 国内外免费激情视频| ady日本映画久久精品一区二区| 一区二区亚洲欧洲国产日韩| 亚洲精品77777| 国产成人高清在线| 精品国产无码在线| 欧美成人aaa| 亚洲视频在线视频| 91午夜视频在线观看| 国产一区二区精品久久| 亚洲第一综合| 亚洲一区二区三区四区| 日韩精品在线免费观看| 国产一级片免费| 国产一区在线不卡| 成人手机视频在线| 成人国产精品入口免费视频| 亚洲欧美999| 国产成人无码精品久在线观看| 国产成人免费在线视频| 青少年xxxxx性开放hg| 精品亚洲a∨| 国产午夜精品全部视频播放 | 亚洲国产导航| av观看久久| 四虎影院观看视频在线观看 | 在线观看国产精品入口| 成人午夜激情免费视频| 日本中文字幕在线播放| 欧美日韩一区二区在线观看视频 | 国产精品高潮呻吟久久av野狼| 四虎影视2018在线播放alocalhost| 亚洲国产欧美日韩另类综合| 男人女人拔萝卜视频| 午夜日韩激情| 成人黄动漫网站免费| 日韩专区av| 精品国产一二三区| 日韩美女视频网站| 91天堂素人约啪| 国产精品亚洲a| 国产一区99| 国产日韩av高清| 久久bbxx| 日韩精品最新网址| 国产无套粉嫩白浆内谢| 99久久免费视频.com| 男人天堂网视频| 日韩av密桃| 亚洲一区久久久| 欧美videos另类精品| 亚洲国产成人精品久久| 久久夜色精品国产噜噜亚洲av| 久久精品男人的天堂| 制服丝袜中文字幕第一页| 亚洲综合色站| 国产伦精品一区| 快播电影网址老女人久久| 最近中文字幕mv在线一区二区三区四区 | 国产成人一二三区| 婷婷综合国产| 久久久综合av| 国产一区精品| 91精品国产黑色紧身裤美女| 日韩精品一区二区三区国语自制| 久久久蜜臀国产一区二区| 91制片厂毛片| 国模大胆一区二区三区| 欧美一区二区三区四区在线观看地址 | 精品免费视频| 亚洲已满18点击进入在线看片| 136福利第一导航国产在线| 日韩精品在线看| 国产免费一区二区三区免费视频| 亚洲mv在线观看| 日本高清黄色片| 成人自拍视频在线| 亚洲少妇久久久| 国产在线成人| 视频一区二区三| 在线精品国产亚洲| 国产精品免费在线免费| 免费电影视频在线看| 在线国产精品视频| 天天综合天天综合| 欧美精品日韩一本| 欧美一区二区三区久久久| 亚洲免费在线观看| 性猛交娇小69hd| 成人美女在线观看| 午夜剧场在线免费观看| 国产日韩欧美| 丁香色欲久久久久久综合网| 国产一区不卡| 蜜桃狠狠色伊人亚洲综合网站| 美女精品久久| 国产精品色婷婷视频| 国产极品在线观看| 欧美疯狂xxxx大交乱88av| 成人精品一区| 日韩电影免费观看中文字幕| 国产女无套免费视频| 91久久精品国产91性色tv| jizz国产免费| 一区二区三区欧美日韩| 波多野结衣家庭教师在线观看| 99久久精品免费观看| 欧美成人乱码一区二区三区| av首页在线观看| 欧美日韩免费在线| 久视频在线观看| 亚洲男人天堂av| av在线免费播放网址| 久久精品一区蜜桃臀影院| 黄色在线免费播放| 国产精品一二三区在线| 久久人人爽av| 日韩国产在线一| 日韩视频在线免费看| 亚欧美中日韩视频| 男人添女人下面高潮视频| 黄色成人在线网址| 国产精品va在线观看无码| 亚欧美无遮挡hd高清在线视频| 神马影院午夜我不卡| 九热爱视频精品视频| 牛人盗摄一区二区三区视频| 老司机aⅴ在线精品导航| 国产精品久久精品国产| 中文无码日韩欧| 国产精品三区www17con| 红杏aⅴ成人免费视频| 国产亚洲福利社区| 久久久免费毛片| 精品乱色一区二区中文字幕| 日本午夜精品| 欧美一级二级三级九九九| 国产成人短视频在线观看| 日韩精品第一页| 日本久久综合| 咪咪色在线视频| 中文字幕一区二区av| 成人在线免费观看网址| 欧美日韩综合| 欧美精品久久久久久久免费| 国产亚洲高清视频| 免费看a级黄色片| 久草这里只有精品视频| 麻豆网站免费观看| 成人av免费在线观看| 老鸭窝一区二区| 国产精品乱人伦一区二区| 国产成人综合在线视频| 天天影视网天天综合色在线播放| 69国产精品视频免费观看| 欧美喷潮久久久xxxxx| 国产乱码一区二区| 精品国产伦一区二区三区免费| 性感美女一级片| 中文字幕精品网| 色呦呦在线看| 欧美怡春院一区二区三区| 全球最大av网站久久| 亚洲a区在线视频| 欧美国产极品| 亚洲欧美国产不卡| 国产精品v亚洲精品v日韩精品| 草草久久久无码国产专区| 麻豆精品视频在线| 日本50路肥熟bbw| 欧美国产精品一区二区| 欧美黑人一级片| 欧美在线看片a免费观看| 国产男男gay体育生白袜| 精品亚洲一区二区| 成人av福利| 欧洲美女7788成人免费视频| 亚洲高清影院| 精品亚洲一区二区三区四区五区高| 久久中文字幕av一区二区不卡| 久操网在线观看| 另类欧美日韩国产在线| avtt香蕉久久| 亚洲人成在线播放网站岛国| 香蕉影院在线观看| 精品国产乱码久久久久久浪潮| 可以在线观看的黄色| 欧美国产日韩一区二区| 第四色男人最爱上成人网| 亚洲无吗在线| 精品久久一二三| 国产做a爰片久久毛片| 中文人妻一区二区三区| 日韩美女视频一区二区| 四虎成人在线观看| 日韩欧美国产一二三区| 成人在线二区| 97色在线视频观看| 精品中文字幕一区二区三区| 欧美一进一出视频| 亚洲激情在线| 极品粉嫩美女露脸啪啪| 国产午夜亚洲精品不卡| 精品少妇一二三区| 91精品国模一区二区三区| 激情综合闲人网| 午夜剧场成人观在线视频免费观看| 亚洲爽爆av| 亚洲精品欧洲精品| 久久精品动漫| 中国极品少妇videossexhd| 亚洲精品成人在线| 一区二区www| 曰本色欧美视频在线| 都市激情亚洲一区| 国精产品99永久一区一区| 欧美视频一区| 成人三级做爰av| 亚洲欧美欧美一区二区三区| 国产精品女人久久久| 日韩在线视频线视频免费网站| 丝袜美腿诱惑一区二区三区| 久久99精品久久久久久秒播放器 | 色乱码一区二区三区熟女 | 少妇被狂c下部羞羞漫画| 一区二区三区日韩欧美精品| 国产区精品在线| 久久国产天堂福利天堂| 精品午夜av| 日本aa在线观看| 成人毛片老司机大片| 精品无码久久久久久久久| 精品国产乱码久久久久久浪潮| 黄色美女视频在线观看| 国产精品美女诱惑| 亚洲裸体俱乐部裸体舞表演av| 午夜免费福利影院| 精品欧美激情精品一区| 日本在线丨区| 国产精品69久久| 99久久精品网站| 三级av免费看| 亚洲午夜久久久久久久久电影网 | 99精品在线免费观看| 五月天激情图片| 成人av网址在线| 懂色av蜜臀av粉嫩av分享吧最新章节| 国产亚洲精品激情久久| 欧洲亚洲精品| 日韩亚洲欧美一区二区| av电影在线观看一区| 69国产精品视频免费观看| 最好看的2019年中文视频| 高清一区二区中文字幕| 国产aaa免费视频| 国产亚洲污的网站| 国产美女主播在线观看| 国语自产精品视频在线看一大j8| 一呦二呦三呦国产精品| 日韩一级免费片| 亚洲一卡二卡三卡四卡| 色猫av在线| 国产日韩欧美在线| 国产精品v日韩精品v欧美精品网站| 亚洲一区二区三区综合| 欧美亚洲自拍偷拍| 在线中文字幕-区二区三区四区| 黑人另类av| 久久国产精品72免费观看| 国产无精乱码一区二区三区| 伊人精品在线观看| 成人av综合网| 九色91popny| 亚洲在线观看免费| 成人av一区| 国产亚洲情侣一区二区无| 奇米精品一区二区三区在线观看 | 欧美三级韩国三级日本三斤| 在线你懂的视频| 日本一区高清不卡| 国产成人综合视频| 中文字幕第2页| 97超级碰碰人国产在线观看| 欧美独立站高清久久| 无码精品一区二区三区在线播放 | 黄色美女一级片| 国产精品偷伦视频免费观看国产|