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

救命!Java Web項目中的MQ消息堆積讓我抓狂

開發(fā) 前端
使用線程池消費 MQ 消息并不是一個通用的解決方案。它存在一些缺點,比如可能會導(dǎo)致消息順序性問題,以及服務(wù)器 CPU 使用率的飆升風(fēng)險。此外,如果在多線程環(huán)境中調(diào)用第三方接口,可能會造成第三方服務(wù)的超負荷甚至崩潰。

我之前參與開發(fā)了一個餐廳系統(tǒng),該系統(tǒng)在午餐和晚餐高峰時段面臨巨大的并發(fā)需求。

為了確保系統(tǒng)順暢運行,公司要求各個部門在用餐時間輪流值班,以便及時解決在線問題。

我所在的團隊負責(zé)廚房展示系統(tǒng),這是訂單系統(tǒng)的下游服務(wù)。

當(dāng)用戶下單后,訂單系統(tǒng)會向我們的系統(tǒng)發(fā)送一條 Kafka 消息。我們的系統(tǒng)讀取消息,處理業(yè)務(wù)邏輯,保存訂單和菜品數(shù)據(jù),然后在菜品管理客戶端上顯示出來。

通過這種方式,廚師們可以了解每個訂單所需的菜品,一旦有菜品準(zhǔn)備好,系統(tǒng)會通知服務(wù)員上菜。

上菜后,服務(wù)員會更新菜品狀態(tài),這樣用戶就能知道哪些菜已上,哪些菜還在準(zhǔn)備中。

這個系統(tǒng)極大地提高了從廚房到顧客的效率。

圖片圖片

這其中的關(guān)鍵是消息中間件 Kafka。如果它出現(xiàn)問題,將直接影響廚房展示系統(tǒng)的正常運作。

在本文中,我將分享我們在處理“消息積壓問題”時的經(jīng)驗,希望能對你有所幫助。

初次遇到消息積壓問題

最初,我們的用戶量較小,系統(tǒng)上線后的一段時間里,消息隊列(MQ)的消息通信非常順暢。

隨著用戶量的增長,每個商戶每天都生成大量訂單數(shù)據(jù),每個訂單包含多個菜品。這導(dǎo)致我們菜品管理系統(tǒng)的數(shù)據(jù)量顯著增加。

某天下午,我們收到了商戶的投訴,用戶下單后,菜品列表在平板上出現(xiàn)延遲。

廚房只有在幾分鐘后才能看到這些菜品。

我們立即開始調(diào)查原因。

菜品展示延遲問題通常與 Kafka 有關(guān),因此我們首先檢查了 Kafka。

果不其然,存在 消息積壓。

消息積壓的常見原因有以下兩種:

  1. MQ 消費者服務(wù)宕機。
  2. MQ 生產(chǎn)者產(chǎn)生消息的速率超過 MQ 消費者消費消息的速率。

我檢查了監(jiān)控系統(tǒng),發(fā)現(xiàn) MQ 消費者服務(wù)運行正常,沒有異常。

剩下的原因可能是 MQ 消費者的消息處理速度變慢了。

接下來,我檢查了菜品管理表,發(fā)現(xiàn)只有幾十萬條記錄。

似乎有必要優(yōu)化 MQ 消費者的處理邏輯。

我在代碼中添加了一些日志,打印出 MQ 消費者中各個關(guān)鍵節(jié)點的耗時。

發(fā)現(xiàn)兩處存在明顯的延遲:

  1. 在 for 循環(huán)中逐條查詢數(shù)據(jù)庫的代碼。
  2. 進行多條件數(shù)據(jù)查詢的代碼。

我針對性地進行了優(yōu)化:

對于 for 循環(huán)逐條查詢數(shù)據(jù)庫的代碼,我改成了使用參數(shù)集合的 批量查詢。

有時,我們需要查詢指定集合中的哪些用戶已經(jīng)存在于數(shù)據(jù)庫中。實現(xiàn)方式如下:

publicList<User>queryUser(List<User> searchList){
if(CollectionUtils.isEmpty(searchList)){
returnCollections.emptyList();
}

List<User> result = Lists.newArrayList();
    searchList.forEach(user -> result.add(userMapper.getUserById(user.getId())));
return result;
}

如果有 50 個用戶,這種方法需要查詢數(shù)據(jù)庫 50 次。眾所周知,每次數(shù)據(jù)庫查詢都是一次遠程調(diào)用。

查詢數(shù)據(jù)庫 50 次意味著需要進行 50 次遠程調(diào)用,耗時非常長。

那么,如何優(yōu)化呢?

優(yōu)化后的代碼如下:

publicList<User>queryUser(List<User> searchList){
if(CollectionUtils.isEmpty(searchList)){
returnCollections.emptyList();
}
List<Long> ids = searchList.stream().map(User::getId).collect(Collectors.toList());
return userMapper.getUserByIds(ids);
}

這種方式提供了一個基于用戶 ID 集合進行批量查詢的接口,僅需一次遠程調(diào)用就可以獲取所有數(shù)據(jù)。

對于多條件數(shù)據(jù)查詢,我添加了一個 組合索引,解決了這一問題。

經(jīng)過這些優(yōu)化后,MQ 消費者的消息處理速度顯著提升,成功解決了消息積壓問題。

再次遇到消息積壓問題

幾個月后,我們再次遇到了消息積壓問題。

這次問題是偶發(fā)性的,只在某些時候出現(xiàn),大部分時間沒有問題。

積壓持續(xù)時間很短,對用戶的影響較小,商戶也沒有投訴。

我檢查了菜品管理表,此時已有幾百萬條記錄。

通過監(jiān)控和 DBA 提供的每日慢查詢郵件,我發(fā)現(xiàn)了一些異常。

我注意到有些 SQL 語句的 WHERE 條件相同,但僅參數(shù)值不同,卻使用了不同的索引。

例如,order_id=123 使用索引 a,而 order_id=124 使用索引 b。

該表存在多種查詢場景,為滿足不同的業(yè)務(wù)需求,添加了多個組合索引。

MySQL 根據(jù)以下幾種因素來選擇索引:

  1. 通過數(shù)據(jù)采樣估算掃描的行數(shù)。掃描的行數(shù)越多,I/O 操作和 CPU 使用率越高。
  2. 是否使用臨時表,臨時表會影響查詢速度。
  3. 是否需要排序,排序也會影響查詢速度。

綜合這些因素,MySQL 優(yōu)化器選擇其認為最合適的索引。

MySQL 優(yōu)化器通過采樣估算掃描的行數(shù),這涉及從數(shù)據(jù)頁中選擇一些進行統(tǒng)計估算,這種方法會帶來一定的誤差。

由于 MVCC 機制,數(shù)據(jù)頁存在多個版本,例如被刪除的數(shù)據(jù)在其他事務(wù)中仍然可見,因此索引并未真正刪除。這可能導(dǎo)致統(tǒng)計數(shù)據(jù)不準(zhǔn)確,影響優(yōu)化器的決策。

這些因素可能導(dǎo)致 MySQL 在執(zhí)行 SQL 語句時 選擇了錯誤的索引。

即便使用索引 a 更為高效,MySQL 也可能使用了索引 b。

為了解決 MySQL 選擇錯誤索引的問題,我們使用了 FORCE INDEX 關(guān)鍵字,強制 SQL 查詢使用索引 a。

經(jīng)過這一優(yōu)化,消息的輕微積壓問題也得到了解決。

第三次遭遇消息積壓

六個月后,某天晚上大約六點,幾位商家投訴菜品管理系統(tǒng)出現(xiàn)延遲。

他們反饋說下單后菜品要過幾分鐘才會顯示。

檢查監(jiān)控系統(tǒng)后,我發(fā)現(xiàn) Kafka 消息再次堆積了。

我復(fù)查了 MySQL 的索引,發(fā)現(xiàn)索引是正確的,但數(shù)據(jù)查詢依然很慢。

接著查看了菜品管理表,發(fā)現(xiàn)表中的數(shù)據(jù)量在短短六個月內(nèi)竟然增長到了 3000 萬條記錄。

通常情況下,當(dāng)單表數(shù)據(jù)過多時,查詢和寫入性能都會下降。

這次查詢變慢的原因就是因為數(shù)據(jù)量過于龐大。

為了解決這個問題,我們需要:

  1. 實施數(shù)據(jù)庫和表的分區(qū)
  2. 備份歷史數(shù)據(jù)

在當(dāng)時,實施數(shù)據(jù)庫和表分區(qū)的成本太高,而且商家數(shù)量尚不足以支持這樣的解決方案。

因此,我們決定備份歷史數(shù)據(jù)。

在與產(chǎn)品經(jīng)理和 DBA 討論后,我們決定菜品管理表僅保留最近 30 天的數(shù)據(jù),超過 30 天的數(shù)據(jù)會被移動到一個“歷史表”中。

經(jīng)過這個優(yōu)化后,菜品管理表在 30 天內(nèi)只積累了幾百萬條數(shù)據(jù),對性能的影響較小。

這樣一來,消息堆積問題得以解決。

第四次遇到消息堆積問題

在上述優(yōu)化之后,系統(tǒng)長時間內(nèi)運行順利,沒有出現(xiàn)消息堆積的問題。

然而,一年后的一天下午,一些商家又來投訴。

我查閱了公司郵件,發(fā)現(xiàn)有大量關(guān)于 Kafka 消息堆積的監(jiān)控告警郵件。

由于我當(dāng)時正在開會,錯過了這些告警。

這次問題的時間點比較奇怪。

通常高并發(fā)都是在午餐或晚餐的高峰時段,但這次消息堆積卻發(fā)生在“下午”。

這很不尋常。

一開始,我沒有任何線索能找到問題的原因。

于是,我詢問了訂單團隊是否在下午發(fā)布了新版本或者執(zhí)行了某些特定操作。

因為我們的菜品管理系統(tǒng)是他們的下游系統(tǒng),直接和他們的操作相關(guān)。

一位同事提到,半小時前他們進行了一個批量更新數(shù)萬個訂單狀態(tài)的作業(yè)。

更改訂單狀態(tài)會自動發(fā)送 MQ 消息。

這導(dǎo)致他們的程序在極短時間內(nèi)產(chǎn)生了大量 MQ 消息。

我們的 MQ 消費端無法快速處理這些消息,因而出現(xiàn)了消息堆積。

我們查看了 Kafka 消息堆積情況,發(fā)現(xiàn)有數(shù)十萬條消息在排隊等待處理。

為了快速提高 MQ 消費端的處理速度,我們考慮了兩個解決方案:

  1. 增加分區(qū)數(shù)量。
  2. 使用線程池處理消息。

然而,由于消息已經(jīng)堆積在現(xiàn)有分區(qū)中,增加新的分區(qū)并不會有太大幫助。

因此,我們決定重構(gòu)代碼,使用線程池來處理消息。

為了解決堆積消息,我們將線程池的核心線程數(shù)和最大線程數(shù)增加到 50。

這些參數(shù)是可以動態(tài)配置的。

經(jīng)過這個調(diào)整后,堆積的數(shù)十萬條消息在大約 20 分鐘內(nèi)被處理完畢。

這次突發(fā)的消息堆積問題得到了妥善解決。

解決問題后,我們保留了線程池的消息消費邏輯,將核心線程數(shù)設(shè)置為 8,最大線程數(shù)設(shè)置為 10。

這樣在遇到消息堆積問題時,我們可以臨時調(diào)整線程數(shù)以快速應(yīng)對,而不會對用戶造成明顯影響。

注意:使用線程池消費 MQ 消息并不是一個通用的解決方案。它存在一些缺點,比如可能會導(dǎo)致消息順序性問題,以及服務(wù)器 CPU 使用率的飆升風(fēng)險。此外,如果在多線程環(huán)境中調(diào)用第三方接口,可能會造成第三方服務(wù)的超負荷甚至崩潰。

總結(jié)來說,MQ 消息堆積不是一個簡單的問題。

根本原因是 MQ 生產(chǎn)端的消息生產(chǎn)速率超過了消費端的消息消費速率,但具體原因可能有多種。

在實際場景中,我們需要根據(jù)不同的業(yè)務(wù)情況進行優(yōu)化。

對 MQ 隊列消息堆積的監(jiān)控和告警至關(guān)重要,能夠及時發(fā)現(xiàn)問題。

沒有完美的解決方案,只有最適合當(dāng)前業(yè)務(wù)場景的方案。

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

2024-06-06 11:57:44

2024-05-14 08:20:59

線程CPU場景

2021-09-30 07:26:15

MQ消息丟失

2023-12-21 08:01:41

RocketMQ消息堆積

2020-06-15 14:36:15

2009-06-14 21:41:23

Java Web框架

2022-12-15 17:13:22

MQRocketMQ架構(gòu)

2022-10-12 07:38:24

SQL語句異常

2012-09-04 09:55:22

代碼抓狂的代碼開發(fā)

2019-06-18 16:40:26

NodeJS前端項目

2009-06-29 15:51:48

Spring容器

2021-11-08 15:38:15

消息延遲堆積

2014-07-01 09:43:55

程序員算法

2022-07-26 00:00:00

MQ消息中間件

2021-10-26 08:22:38

消息堆積擴容RocketMQ

2021-04-14 09:24:59

App內(nèi)存后臺

2021-11-23 09:00:59

消息堆積擴容RocketMQ

2022-04-29 08:00:36

web3區(qū)塊鏈比特幣

2025-01-10 08:20:00

MQ消息架構(gòu)

2009-06-14 17:18:55

ibmdwWebSphereMQ
點贊
收藏

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

久久久久久久久影院| 久久精品一二三四| jizz在线免费观看| 久久成人免费网站| 欧美激情一级二级| 无码h肉动漫在线观看| av成人免费看| 亚洲国产视频一区| 日韩av在线电影观看| 99久久精品免费看国产交换| 亚洲二区视频| 在线精品播放av| 国内精品免费视频| 99久久婷婷国产综合精品首页| 亚洲美女一区二区三区| 欧洲亚洲一区二区三区四区五区| 97精品人妻一区二区三区在线 | 欧美日韩国产综合在线| 91禁在线观看| 性欧美长视频| 精品中文字幕在线| 中字幕一区二区三区乱码| 久久久久久一区二区三区四区别墅| 亚洲自拍与偷拍| 亚洲v国产v在线观看| 日本人妻丰满熟妇久久久久久| 免费成人你懂的| 青草青草久热精品视频在线网站 | 国产男人精品视频| 日韩欧美三级在线观看| 五月综合激情| 尤物九九久久国产精品的分类 | 久久久久久久综合色一本| av一区二区三区四区电影| 中文字幕观看视频| 亚洲永久免费| 国内精品久久久久影院优| 成人高潮免费视频| 日韩电影免费网站| 国产亚洲欧美日韩美女| 波多野结衣福利| 超碰97久久国产精品牛牛| 欧美一区二区三区爱爱| 奇米视频888| 亚洲日本网址| 色婷婷久久久综合中文字幕 | 精精国产xxxx视频在线中文版 | 亚洲国产一区二区三区在线播 | 日本人成精品视频在线| 久久精品国产亚洲av香蕉| 伊人成综合网| 久久影视免费观看| 国产精品国产精品88| 欧美好骚综合网| 爽爽爽爽爽爽爽成人免费观看| 成人精品999| 影视先锋久久| 日韩成人激情在线| 成人影视免费观看| 免费精品国产的网站免费观看| 亚洲精品小视频| 野花社区视频在线观看| 三级精品视频| 亚洲人在线视频| av女人的天堂| 成人情趣视频网站| 综合欧美国产视频二区| 国产精品www爽爽爽| 日韩精品dvd| 久久久精品电影| 久久国产在线观看| 国产欧美另类| 国产99久久精品一区二区永久免费 | 国产69精品久久久久9999| 国产性一乱一性一伧一色| 韩日精品视频| 51ⅴ精品国产91久久久久久| www.久久久久久久| 蜜桃视频免费观看一区| 亚洲qvod图片区电影| 精品黑人一区二区三区在线观看| 国产成人精品一区二区三区四区 | 国产精品久久久久天堂| 樱空桃在线播放| 污片视频在线免费观看| 亚洲成人精品影院| 粉嫩虎白女毛片人体| 国产成人亚洲一区二区三区| 91精品国产综合久久婷婷香蕉| 国产大学生av| 国产不卡一二三区| yw.139尤物在线精品视频| 久久高清无码视频| 快she精品国产999| 亚洲伊人久久大香线蕉av| 免费看日韩av| 国产精品视频第一区| www.激情网| 欧美黑人粗大| 日韩一区国产二区欧美三区| 久久丫精品国产亚洲av不卡| 久久久国产精品| 午夜精品久久久久久久白皮肤| av首页在线观看| 国产成人午夜片在线观看高清观看| 精品国产乱码久久久久久郑州公司| 高清日韩av电影| 一二三四社区欧美黄| 成人在线看视频| 免费一级欧美在线大片| 亚洲欧洲午夜一线一品| www.色小姐com| 噜噜爱69成人精品| 北条麻妃高清一区| 成在在线免费视频| 亚洲成人精品一区| 三日本三级少妇三级99| 一呦二呦三呦国产精品| 欧美肥婆姓交大片| 欧美另类高清videos的特点| jvid福利写真一区二区三区| 伊人久久大香线蕉成人综合网 | 外国成人免费视频| 国产成人精品在线视频| 欧洲成人一区二区三区| 亚洲色图制服诱惑| 网站一区二区三区| 日韩最新在线| 97久久精品国产| 国产富婆一级全黄大片| 国产精品美女www爽爽爽| www.四虎成人| 国产精品极品| 欧美国产视频一区二区| 91精品国产乱码久久久久| 久久久www成人免费毛片麻豆 | 欧美xxxx黑人又粗又长| 欧美日本不卡视频| 精品一区二区三区蜜桃在线| 国产麻豆综合| 国产成人女人毛片视频在线| h视频网站在线观看| 一本色道久久综合亚洲91| 国产人妻黑人一区二区三区| 极品尤物久久久av免费看| 5566av亚洲| 18+视频在线观看| 4hu四虎永久在线影院成人| 亚洲天堂最新地址| 久久国产精品免费| 日本黄色a视频| 久久99国产精品二区高清软件| 伊人亚洲福利一区二区三区| 国产无遮挡又黄又爽又色视频| 97se狠狠狠综合亚洲狠狠| 亚洲国产精品无码av| aaa国产精品| 久久久噜噜噜久久中文字免| 秋霞av鲁丝片一区二区| 午夜精品福利一区二区蜜股av| www.四虎精品| 99热在线精品观看| 精品一区久久| 日本不卡一二三| 亚洲色图在线观看| 真实新婚偷拍xxxxx| 国产欧美日韩中文久久| 国产一级不卡毛片| 色偷偷综合网| 91免费在线视频| 超碰免费公开在线| 精品国产一区二区三区不卡| 国产黄色片免费看| 91毛片在线观看| 国产视频在线视频| 日韩激情在线| 999热视频| a√中文在线观看| 亚洲乱码一区av黑人高潮 | 亚洲资源一区| 精品久久久久99| 亚洲精品午夜国产va久久成人| 26uuu成人网一区二区三区| www日韩在线观看| 999国产精品永久免费视频app| 91久久精品国产91久久性色| 九色91在线| 亚洲老头同性xxxxx| 真实新婚偷拍xxxxx| 亚洲激情五月婷婷| 99久久久无码国产精品性| 久久国产精品99久久人人澡| 国产一级大片免费看| 香蕉久久精品日日躁夜夜躁| 国产精自产拍久久久久久蜜| caopen在线视频| 日韩精品在线观看视频| 中文字幕永久在线视频| 亚洲在线免费播放| 一女三黑人理论片在线| 美国av一区二区| 99在线精品免费视频| 日韩理论片av| 国产精品免费观看高清| 亚洲日本在线观看视频| 欧美精品精品精品精品免费| 蜜桃免费在线| 精品少妇一区二区三区| 黄色av一区二区| 亚洲国产一二三| 东京热无码av男人的天堂| 成人午夜在线视频| 色免费在线视频| 亚洲影院在线| 国产女教师bbwbbwbbw| 欧美少妇xxxx| 久久66热这里只有精品| 91成人app| 国产成人精品久久二区二区| 精品一性一色一乱农村| 日韩中文字幕免费| 欧美偷拍视频| 欧美mv日韩mv亚洲| 91成年人视频| 在线观看亚洲精品| 伊人久久综合视频| 一区二区在线观看视频| 国产不卡在线观看视频| 久久综合色综合88| 99久久久无码国产精品性波多| 老司机精品视频导航| 国产亚洲天堂网| 亚洲精品日本| 黄色网络在线观看| 天天操综合网| 亚洲人体一区| 精品在线手机视频| 久久久7777| 精品视频自拍| 国产精品一区视频| 深夜福利一区| 亚洲一区二区久久久久久| 成人免费在线观看视频| 5252色成人免费视频| 人狥杂交一区欧美二区| 久久久久久久久久av| 欧美人与禽猛交乱配| 久久国产精品影视| 中文字幕有码在线视频| 超在线视频97| 国产三级在线播放| 欧美精品免费在线观看| 黄色在线播放网站| 久久精品国产一区| 黄色网页在线看| 久久激情视频免费观看| 日本免费在线观看| zzjj国产精品一区二区| 国产欧美久久久久久久久| 久久久国产成人精品| 成人在线视频亚洲| 欧美日韩999| free性m.freesex欧美| 性欧美亚洲xxxx乳在线观看| 黄频免费在线观看| 18性欧美xxxⅹ性满足| 亚洲插插视频| 国产成人综合一区二区三区| 欧美暴力调教| 成人午夜黄色影院| 亚洲一区二区三区四区电影| 国产精品swag| 牲欧美videos精品| 日韩欧美在线电影| 91亚洲一区| 日韩video| 亚洲大胆av| 欧美视频第三页| 久久电影网电视剧免费观看| 中文字幕在线视频一区二区三区| 高清在线不卡av| 成人网站免费观看| 国产精品免费看片| 欧美极品视频在线观看| 午夜精品福利在线| 中文字幕人妻丝袜乱一区三区 | 熟妇人妻一区二区三区四区| 日韩大陆欧美高清视频区| 国产福利免费在线观看| 麻豆成人在线看| 九色porny自拍视频在线播放| 国产精品成人免费电影| 国产日韩欧美中文在线| 韩国一区二区三区美女美女秀 | 91看片淫黄大片91| 一区二区三区四区五区精品视频| 国产又黄又猛视频| 国产一区二区三区久久悠悠色av| 在线观看国产免费视频 | 久久久久久久久久久97| 精品人伦一区二区三区蜜桃网站 | 登山的目的在线| 午夜不卡在线视频| 伊人网免费视频| 亚洲国产精品字幕| 男人在线资源站| 91精品国产91久久久久| 日韩深夜福利网站| 蜜桃传媒视频麻豆一区 | 亚洲一级av毛片| 日韩h在线观看| av毛片在线| 国产精品露脸av在线| 黄色成人美女网站| 欧美一级免费在线观看| 欧美中文日韩| 亚洲性图第一页| 国产精品久久久久精k8| 国产精品久久久久久久妇| 欧美一三区三区四区免费在线看| 精品亚洲成a人片在线观看| 欧美成人精品xxx| 国产精品伦一区二区| 免费国产一区二区| 欧美日韩午夜| 激情黄色小视频| 久久久久久久久久看片| 自拍偷拍欧美亚洲| 日韩一级片在线播放| 日本中文字幕在线2020| 国产成人黄色av| 国产成人1区| 无罩大乳的熟妇正在播放| 国产东北露脸精品视频| 亚洲av无一区二区三区| 欧美视频精品在线观看| 欧美婷婷久久五月精品三区| 91超碰caoporn97人人| 亚洲一二av| 久艹在线免费观看| 国产一区999| 欧美日韩色视频| 欧美精品色综合| 麻豆视频在线播放| 国产精品电影一区| 欧美特黄一级大片| 成人午夜激情av| 欧美激情综合五月色丁香小说| 日本久久综合网| 亚洲最大在线视频| 国产另类xxxxhd高清| 日韩欧美亚洲精品| 青青草91视频| fc2ppv在线播放| 欧美一区中文字幕| 天堂8中文在线| 动漫一区二区在线| 亚洲经典自拍| 极品人妻一区二区三区| 日韩欧美在线视频观看| 日韩精品一二| 国产精品国产自产拍高清av水多| 国产免费播放一区二区| 亚洲一区二区蜜桃| 亚洲国产精品精华液ab| 亚洲综合免费视频| 美日韩精品免费视频| 亚洲日本一区二区三区在线| 成人在线观看毛片| 成人免费视频一区二区| 69视频免费在线观看| 亚洲天堂av在线免费观看| 欧美日韩五区| 中文字幕一区二区三区四区五区| 国产资源精品在线观看| 久草免费在线观看视频| 日韩精品视频在线| 超碰这里只有精品| 99re8这里只有精品| 国产成人av电影免费在线观看| 国产精品theporn动漫| 精品在线小视频| 国产成人精品一区二区三区在线 | 亚洲乱码视频| www.黄色在线| 欧美一区2区视频在线观看| www欧美xxxx| 欧美在线播放一区二区| 激情六月婷婷久久| 国产一级在线视频| 亚洲色在线视频| 久久久久久久久成人| 国产 日韩 亚洲 欧美| 亚洲国产成人一区二区三区| 999av视频| 日韩av123| 欧美精品一区二区三区久久久竹菊| 五十路六十路七十路熟婆 | 欧美壮男野外gaytube| 欧美肥老太太性生活|