国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

一口氣說(shuō)出 6 種實(shí)現(xiàn)延時(shí)消息的方案

共 4728字,需瀏覽 10分鐘

 ·

2022-05-27 20:06

點(diǎn)擊上方“碼農(nóng)突圍”,馬上關(guān)注
這里是碼農(nóng)充電第一站,回復(fù)“666”,獲取一份專(zhuān)屬大禮包
真愛(ài),請(qǐng)?jiān)O(shè)置“星標(biāo)”或點(diǎn)個(gè)“在看”

來(lái)源:juejin.cn/post/7052894117105238053

前言

延時(shí)消息(定時(shí)消息)指的在分布式異步消息場(chǎng)景下,生產(chǎn)端發(fā)送一條消息,希望在指定延時(shí)或者指定時(shí)間點(diǎn)被消費(fèi)端消費(fèi)到,而不是立刻被消費(fèi)。
延時(shí)消息適用的業(yè)務(wù)場(chǎng)景非常的廣泛,在分布式系統(tǒng)環(huán)境下,延時(shí)消息的功能一般會(huì)在下沉到中間件層,通常是 MQ 中內(nèi)置這個(gè)功能或者內(nèi)聚成一個(gè)公共基礎(chǔ)服務(wù)。
本文旨在探討常見(jiàn)延時(shí)消息的實(shí)現(xiàn)方案以及方案設(shè)計(jì)的優(yōu)缺點(diǎn)。

實(shí)現(xiàn)方案

1.基于外部存儲(chǔ)實(shí)現(xiàn)的方案

這里討論的外部存儲(chǔ)指的是在 MQ 本身自帶的存儲(chǔ)以外又引入的其他的存儲(chǔ)系統(tǒng)。
基于外部存儲(chǔ)的方案本質(zhì)上都是一個(gè)套路,將 MQ 和 延時(shí)模塊 區(qū)分開(kāi)來(lái),延時(shí)消息模塊是一個(gè)獨(dú)立的服務(wù)/進(jìn)程。延時(shí)消息先保留到其他存儲(chǔ)介質(zhì)中,然后在消息到期時(shí)再投遞到 MQ。
當(dāng)然還有一些細(xì)節(jié)性的設(shè)計(jì),比如消息進(jìn)入的延時(shí)消息模塊時(shí)已經(jīng)到期則直接投遞這類(lèi)的邏輯,這里不展開(kāi)討論。
圖片
下述方案不同的是,采用了不同的存儲(chǔ)系統(tǒng)。

基于 數(shù)據(jù)庫(kù)(如MySQL)

基于關(guān)系型數(shù)據(jù)庫(kù)(如MySQL)延時(shí)消息表的方式來(lái)實(shí)現(xiàn)。
CREATE?TABLE?`delay_msg`?(
??`id`?bigint?unsigned?NOT?NULL?AUTO_INCREMENT,
??`delivery_time`?DATETIME?NOT?NULL?COMMENT?'投遞時(shí)間',
??`payloads`?blob?COMMENT?'消息內(nèi)容',
??PRIMARY?KEY?(`id`),
??KEY?`time_index`?(`delivery_time`)
)
通過(guò)定時(shí)線程定時(shí)掃描到期的消息,然后進(jìn)行投遞。定時(shí)線程的掃描間隔理論上就是你延時(shí)消息的最小時(shí)間精度。
優(yōu)點(diǎn):
  • 實(shí)現(xiàn)簡(jiǎn)單;
缺點(diǎn):
  • B+Tree索引不適合消息場(chǎng)景的大量寫(xiě)入;

基于 RocksDB

RocksDB 的方案其實(shí)就是在上述方案上選擇了比較合適的存儲(chǔ)介質(zhì)。
RocksDB 在筆者之前的文章中有聊過(guò),LSM 樹(shù)更適合大量寫(xiě)入的場(chǎng)景。滴滴開(kāi)源的DDMQ中的延時(shí)消息模塊 Chronos 就是采用了這個(gè)方案。
DDMQ 這個(gè)項(xiàng)目簡(jiǎn)單來(lái)說(shuō)就是在 RocketMQ 外面加了一層統(tǒng)一的代理層,在這個(gè)代理層就可以做一些功能維度的擴(kuò)展。延時(shí)消息的邏輯就是代理層實(shí)現(xiàn)了對(duì)延時(shí)消息的轉(zhuǎn)發(fā),如果是延時(shí)消息,會(huì)先投遞到 RocketMQ 中 Chronos 專(zhuān)用的 topic 中。
延時(shí)消息模塊 Chronos 消費(fèi)得到延時(shí)消息轉(zhuǎn)儲(chǔ)到 RocksDB,后面就是類(lèi)似的邏輯了,定時(shí)掃描到期的消息,然后往 RocketMQ 中投遞。
圖片
這個(gè)方案老實(shí)說(shuō)是一個(gè)比較重的方案。因?yàn)榛?RocksDB 來(lái)實(shí)現(xiàn)的話,從數(shù)據(jù)可用性的角度考慮,你還需要自己去處理多副本的數(shù)據(jù)同步等邏輯。
優(yōu)點(diǎn):
  • RocksDB LSM 樹(shù)很適合消息場(chǎng)景的大量寫(xiě)入;
缺點(diǎn):
  • 實(shí)現(xiàn)方案較重,如果你采用這個(gè)方案,需要自己實(shí)現(xiàn) RocksDB 的數(shù)據(jù)容災(zāi)邏輯;

基于 Redis

再來(lái)聊聊 Redis 的方案。下面放一個(gè)比較完善的方案。
圖片
  • Messages Pool 所有的延時(shí)消息存放,結(jié)構(gòu)為KV結(jié)構(gòu),key為消息ID,value為一個(gè)具體的message(這里選擇Redis Hash結(jié)構(gòu)主要是因?yàn)閔ash結(jié)構(gòu)能存儲(chǔ)較大的數(shù)據(jù)量,數(shù)據(jù)較多時(shí)候會(huì)進(jìn)行漸進(jìn)式rehash擴(kuò)容,并且對(duì)于HSET和HGET命令來(lái)說(shuō)時(shí)間復(fù)雜度都是O(1))
  • Delayed Queue是16個(gè)有序隊(duì)列(隊(duì)列支持水平擴(kuò)展),結(jié)構(gòu)為ZSET,value 為 messages pool中消息ID,score為過(guò)期時(shí)間(分為多個(gè)隊(duì)列是為了提高掃描的速度)
  • Worker 代表處理線程,通過(guò)定時(shí)任務(wù)掃描 Delayed Queue 中到期的消息
這個(gè)方案選用 Redis 存儲(chǔ)在我看來(lái)有幾點(diǎn)考慮,
  • Redis ZSET 很適合實(shí)現(xiàn)延時(shí)隊(duì)列
  • 性能問(wèn)題,雖然 ZSET 插入是一個(gè) O(logn) 的操作,但是Redis 基于內(nèi)存操作,并且內(nèi)部做了很多性能方面的優(yōu)化。
但是這個(gè)方案其實(shí)也有需要斟酌的地方,上述方案通過(guò)創(chuàng)建多個(gè) Delayed Queue 來(lái)滿足對(duì)于并發(fā)性能的要求,但這也帶來(lái)了多個(gè) Delayed Queue 如何在多個(gè)節(jié)點(diǎn)情況下均勻分配,并且很可能出現(xiàn)到期消息并發(fā)重復(fù)處理的情況,是否要引入分布式鎖之類(lèi)的并發(fā)控制設(shè)計(jì)?
在量不大的場(chǎng)景下,上述方案的架構(gòu)其實(shí)可以蛻化成主從架構(gòu),只允許主節(jié)點(diǎn)來(lái)處理任務(wù),從節(jié)點(diǎn)只做容災(zāi)備份。實(shí)現(xiàn)難度更低更可控。

定時(shí)線程檢查的缺陷與改進(jìn)

上述幾個(gè)方案中,都通過(guò)線程定時(shí)掃描的方案來(lái)獲取到期的消息。
定時(shí)線程的方案在消息量較少的時(shí)候,會(huì)浪費(fèi)資源,在消息量非常多的時(shí)候,又會(huì)出現(xiàn)因?yàn)閽呙栝g隔設(shè)置不合理導(dǎo)致延時(shí)時(shí)間不準(zhǔn)確的問(wèn)題??梢越柚?JDK Timer 類(lèi)中的思想,通過(guò) wait-notify 來(lái)節(jié)省 CPU 資源。
獲取中最近的延時(shí)消息,然后wait(執(zhí)行時(shí)間-當(dāng)前時(shí)間),這樣就不需要浪費(fèi)資源到達(dá)時(shí)間時(shí)會(huì)自動(dòng)響應(yīng),如果有新的消息進(jìn)入,并且比我們等待的消息還要小,那么直接notify喚醒,重新獲取這個(gè)更小的消息,然后又wait,如此循環(huán)。

2. 開(kāi)源 MQ 中的實(shí)現(xiàn)方案

再來(lái)講講目前自帶延時(shí)消息功能的開(kāi)源MQ,它們是如何實(shí)現(xiàn)的

RocketMQ

RocketMQ 開(kāi)源版本支持延時(shí)消息,但是只支持 18 個(gè) Level 的延時(shí),并不支持任意時(shí)間。只不過(guò)這個(gè) Level 在 RocketMQ 中可以自定義的,所幸來(lái)說(shuō)對(duì)普通業(yè)務(wù)算是夠用的。默認(rèn)值為“1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h”,18個(gè)level。
通俗的講,設(shè)定了延時(shí) Level 的消息會(huì)被暫存在名為SCHEDULE_TOPIC_XXXX的topic中,并根據(jù) level 存入特定的queue,queueId = delayTimeLevel – 1,即一個(gè)queue只存相同延時(shí)的消息,保證具有相同發(fā)送延時(shí)的消息能夠順序消費(fèi)。 broker會(huì)調(diào)度地消費(fèi)SCHEDULE_TOPIC_XXXX,將消息寫(xiě)入真實(shí)的topic。
下面是整個(gè)實(shí)現(xiàn)方案的示意圖,紅色代表投遞延時(shí)消息,紫色代表定時(shí)調(diào)度到期的延時(shí)消息:
圖片
優(yōu)點(diǎn):
  • Level 數(shù)固定,每個(gè) Level 有自己的定時(shí)器,開(kāi)銷(xiāo)不大
  • 將 Level 相同的消息放入到同一個(gè) Queue 中,保證了同一 Level 消息的順序性;不同 Level 放到不同的 Queue 中,保證了投遞的時(shí)間準(zhǔn)確性;
  • 通過(guò)只支持固定的Level,將不同延時(shí)消息的排序變成了固定Level Topic 的追加寫(xiě)操作
缺點(diǎn):
  • Level 配置的修改代價(jià)太大,固定 Level 不靈活
  • CommitLog 會(huì)因?yàn)檠訒r(shí)消息的存在變得很大

Pulsar

Pulsar 支持“任意時(shí)間”的延時(shí)消息,但實(shí)現(xiàn)方式和 RocketMQ 不同。
通俗的講,Pulsar 的延時(shí)消息會(huì)直接進(jìn)入到客戶端發(fā)送指定的 Topic 中,然后在堆外內(nèi)存中創(chuàng)建一個(gè)基于時(shí)間的優(yōu)先級(jí)隊(duì)列,來(lái)維護(hù)延時(shí)消息的索引信息。延時(shí)時(shí)間最短的會(huì)放在頭上,時(shí)間越長(zhǎng)越靠后。在進(jìn)行消費(fèi)邏輯時(shí)候,再判斷是否有到期需要投遞的消息,如果有就從隊(duì)列里面拿出,根據(jù)延時(shí)消息的索引查詢(xún)到對(duì)應(yīng)的消息進(jìn)行消費(fèi)。
如果節(jié)點(diǎn)崩潰,在這個(gè) broker 節(jié)點(diǎn)上的 Topics 會(huì)轉(zhuǎn)移到其他可用的 broker 上,上面提到的這個(gè)優(yōu)先級(jí)隊(duì)列也會(huì)被重建。
下面是 Pulsar 公眾號(hào)中對(duì)于 Pulsar 延時(shí)消息的示意圖。
圖片
乍一看會(huì)覺(jué)得這個(gè)方案其實(shí)非常簡(jiǎn)單,還能支持任意時(shí)間的消息。但是這個(gè)方案有幾個(gè)比較大的問(wèn)題
  • 內(nèi)存開(kāi)銷(xiāo): 維護(hù)延時(shí)消息索引的隊(duì)列是放在堆外內(nèi)存中的,并且這個(gè)隊(duì)列是以訂閱組(Kafka中的消費(fèi)組)為維度的,比如你這個(gè) Topic 有 N 個(gè)訂閱組,那么如果你這個(gè) Topic 使用了延時(shí)消息,就會(huì)創(chuàng)建 N 個(gè) 隊(duì)列;并且隨著延時(shí)消息的增多,時(shí)間跨度的增加,每個(gè)隊(duì)列的內(nèi)存占用也會(huì)上升。(是的,在這個(gè)方案下,支持任意的延時(shí)消息反而有可能讓這個(gè)缺陷更嚴(yán)重)
  • 故障轉(zhuǎn)移之后延時(shí)消息索引隊(duì)列的重建時(shí)間開(kāi)銷(xiāo): 對(duì)于跨度時(shí)間長(zhǎng)的大規(guī)模延時(shí)消息,重建時(shí)間可能會(huì)到小時(shí)級(jí)別。(摘自 Pulsar 官方公眾號(hào)文章)
  • 存儲(chǔ)開(kāi)銷(xiāo): 延時(shí)消息的時(shí)間跨度會(huì)影響到 Pulsar 中已經(jīng)消費(fèi)的消息數(shù)據(jù)的空間回收。打個(gè)比方,你的 Topic 如果業(yè)務(wù)上要求支持一個(gè)月跨度的延時(shí)消息,然后你發(fā)了一個(gè)延時(shí)一個(gè)月的消息,那么你這個(gè) Topic 中底層的存儲(chǔ)就會(huì)保留整整一個(gè)月的消息數(shù)據(jù),即使這一個(gè)月中99%的正常消息都已經(jīng)消費(fèi)了。
對(duì)于前面第一點(diǎn)和第二點(diǎn)的問(wèn)題,社區(qū)也設(shè)計(jì)了解決方案,在隊(duì)列中加入時(shí)間分區(qū),Broker 只加載當(dāng)前較近的時(shí)間片的隊(duì)列到內(nèi)存,其余時(shí)間片分區(qū)持久化磁盤(pán),示例圖如下圖所示:
圖片
但是目前,這個(gè)方案并沒(méi)有對(duì)應(yīng)的實(shí)現(xiàn)版本。可以在實(shí)際使用時(shí),規(guī)定只能使用較小時(shí)間跨度的延時(shí)消息,來(lái)減少前兩點(diǎn)缺陷的影響。另外,因?yàn)閮?nèi)存中存的并不是延時(shí)消息的全量數(shù)據(jù),只是索引,所以可能要積壓上百萬(wàn)條延時(shí)消息才可能對(duì)內(nèi)存造成顯著影響,從這個(gè)角度來(lái)看,官方暫時(shí)沒(méi)有完善前兩個(gè)問(wèn)題也可以理解了。
至于第三個(gè)問(wèn)題,估計(jì)是比較難解決的,需要在數(shù)據(jù)存儲(chǔ)層將延時(shí)消息和正常消息區(qū)分開(kāi)來(lái),單獨(dú)存儲(chǔ)延時(shí)消息。

QMQ

QMQ提供任意時(shí)間的延時(shí)/定時(shí)消息,你可以指定消息在未來(lái)兩年內(nèi)(可配置)任意時(shí)間內(nèi)投遞。
把 QMQ 放到最后,是因?yàn)槲矣X(jué)得 QMQ 是目前開(kāi)源 MQ 中延時(shí)消息設(shè)計(jì)最合理的。里面設(shè)計(jì)的核心簡(jiǎn)單來(lái)說(shuō)就是 多級(jí)時(shí)間輪 + 延時(shí)加載 + 延時(shí)消息單獨(dú)磁盤(pán)存儲(chǔ)。
QMQ的延時(shí)/定時(shí)消息使用的是兩層 hash wheel 來(lái)實(shí)現(xiàn)的。第一層位于磁盤(pán)上,每個(gè)小時(shí)為一個(gè)刻度(默認(rèn)為一個(gè)小時(shí)一個(gè)刻度,可以根據(jù)實(shí)際情況在配置里進(jìn)行調(diào)整),每個(gè)刻度會(huì)生成一個(gè)日志文件(schedule log),因?yàn)镼MQ支持兩年內(nèi)的延時(shí)消息(默認(rèn)支持兩年內(nèi),可以進(jìn)行配置修改),則最多會(huì)生成 2 * 366 * 24 = 17568 個(gè)文件(如果需要支持的最大延時(shí)時(shí)間更短,則生成的文件更少)。
第二層在內(nèi)存中,當(dāng)消息的投遞時(shí)間即將到來(lái)的時(shí)候,會(huì)將這個(gè)小時(shí)的消息索引(索引包括消息在schedule log中的offset和size)從磁盤(pán)文件加載到內(nèi)存中的hash wheel上,內(nèi)存中的hash wheel則是以500ms為一個(gè)刻度。
圖片
總結(jié)一下設(shè)計(jì)上的亮點(diǎn):
  • 時(shí)間輪算法適合延時(shí)/定時(shí)消息的場(chǎng)景,省去延時(shí)消息的排序,插入刪除操作都是 O(1) 的時(shí)間復(fù)雜度;
  • 通過(guò)多級(jí)時(shí)間輪設(shè)計(jì),支持了超大時(shí)間跨度的延時(shí)消息;
  • 通過(guò)延時(shí)加載,內(nèi)存中只會(huì)有最近要消費(fèi)的消息,更久的延時(shí)消息會(huì)被存儲(chǔ)在磁盤(pán)中,對(duì)內(nèi)存友好;
  • 延時(shí)消息單獨(dú)存儲(chǔ)(schedule log),不會(huì)影響到正常消息的空間回收;

總結(jié)

本文匯總了目前業(yè)界常見(jiàn)的延時(shí)消息方案,并且討論了各個(gè)方案的優(yōu)缺點(diǎn)。希望對(duì)讀者有所啟發(fā)。

(完)

碼農(nóng)突圍資料鏈接

1、臥槽!字節(jié)跳動(dòng)《算法中文手冊(cè)》火了,完整版 PDF 開(kāi)放下載!
2、計(jì)算機(jī)基礎(chǔ)知識(shí)總結(jié)與操作系統(tǒng) PDF 下載
3、艾瑪,終于來(lái)了!《LeetCode Java版題解》.PDF
4、Github 10K+,《LeetCode刷題C/C++版答案》出爐.PDF

歡迎添加魚(yú)哥個(gè)人微信:smartfish2020,進(jìn)粉絲群或圍觀朋友圈

瀏覽 41
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 HEYZO少婦AV無碼精品| 成人先锋影音| 92无码| 超碰91免费在线观看| 免费看黄色一级片| 亚洲无码高清在线观看视频| 色婷婷国产精品| 中文字幕无码在线观看| 伊人五月天| 青青草国产| 亚洲免费黄色片| 国产少妇| 天堂网2025| 亚洲精品偷拍| 国产免费av网站| 一级片在线观看视频| 97超碰人人摸| 日日夜夜精品视频| 想要xx视频| 一区不卡| 一本加勒比HEZYO东京热无码| 操人妻视频| 伊人免费成人视频| 成人无码在线观看免费视频| 国产又爽又黄免费网站在| 成人视频在线免费观看| 中文字幕第9页| 亚洲AV无码一区二区三竹菊| 51国产视频| 五月丁香婷婷在线| 91精品国产乱码香蕉黄瓜草莓| 午夜av在线| 丁香婷婷色五月激情综合三级三级片欧美日韩国| 亚洲高清无码电影| a免费在线观看| 日韩A片| 亚洲大胆视频| 婷婷国产亚洲精品网站| 免费无码国产| 久久99热这里只频精品6学生| 亚洲插逼视频| 潮喷av| 3D动漫精品啪啪一区二区| 欧美一级精品| 一级黄色AV片| 欧一美一色一伦一A片| avcom无码| 国产精品二区高清在线苍井空 | 污污的网站18| A片视频免费| 日本视频在线免费| 国产做受91一片二片老头| 欧美一级成人| 无码字幕| 日韩在线观看一区| 精品无人区无码乱码毛片国产| 91在线无码精品秘入口| 91在线不卡| 日本草久| 亚洲国产精品久久| 欧美性爱XXXX黑人XYX性爽| 三级丁香在线| a4yy午夜福利| av一区二区在线观看| 天天日天天干天天干| 无码专区在线播放| 国产小视频在线观看| 国产免费高清| 狠狠做深爱婷婷久久综合一区| 人人艹人人干| 高清无码视频免费| 欧美AAAAAA视频| 一卡二卡无码| 91精品国产成人做爰观看奶头| 国产欧美一区二区三区视频| 日韩AV免费在线| 久久黄色视屏| 91视频爱爱| 色色五月天婷婷| 丁香六月婷婷综合缴| 按摩忍不住BD中文字幕| 国产精品久久精品| 黄色成人在线观看视频| 淫荡97| 成人网站在线观看视频| 无码精品成人观看A片| 国产污视频| 69成人网| 亚洲高清无码在线免费观看| 欧美大黄视频| 瘦精品无码一区二区三区四区五区六区七区八区 | 久久丁香五月婷婷五月天激情视频| 成人无码交配视频国产网站| 国产精品同| 麻豆91免费视频| 亚洲A视频| 久久99网站| 亚洲黄色视频在线免费观看| 欧美日逼超碰| 国产精品国产| 五月婷婷婷婷| 日韩欧美天堂| 亚洲性生活| 在线第一页| 国产jk在线| 国产精品国产三级囯产普通话2| 欧美黄色激情视频网站| 一区在线播放| 亚洲免费成人视频| 性生活无码视频| 巨乳一区二区三区| 五月丁香激情视频| 九九热re99re6在线精品| 88av在线播放| 一区二区久久| 人人操大香蕉| 国产精品国产三级国产AⅤ原创 | 伊人中文字幕| 深夜福利18| 精品无码久久| 国产激情AV| 日韩国产中文字幕| 欧美视频自拍| 久久日韩操| 日本欧美黄色| 狠狠干网站| 国产第七页| 精品久久国产| 豆花视频成人| 久久艹逼| 欧美黑人大吊| 97国产精品手机| 国产成人精品一区二区三区四区 | 丰满熟妇人妻无码视频| 国精品无码一区二区三区在线| 欧美日韩国产尤物主播精品| 狠狠干在线| 2018天天干天天操| 国产免费一级片| eeuss久久| 日韩大片在线| 特猛特黄AAAAAA片| 加勒比DVD手机在线播放观看视频 日韩精品一区二区三区四区蜜桃视频 | 欧美日韩一区在线观看| 东北老女人性爱视频| 老司机在线免费视频| 日韩三级| 成人精品在线观看| 欧美日韩免费在线观看| 久久精品国产99精品国产亚洲性色| 亚洲最大黄色视频| 69亚洲精品| 黄片视频观看| 色草视频| 国产wwwww| 久草视频免费在线播放| 国产av探花| 欧美婷婷| 天堂a中文在线| 麻豆乱码国产一区二区三区| 人人人人操| 日韩成人在线观看视频| 伊人视频在线| 国产黄色片视频| 一级二级三级视频| 无码人妻在线播放| 久久免费播放视频| 人人看,人人摸| 人妻18无码人伦一区二区三区精品| 亚洲不卡在线| 人人摸人人操人人爽| 中文字幕日本电影| 免费v片在线| 初学影院WWWBD英语完整版在线观看 | 伊人成人在线观看| 91狠狠综合久久| 国产无码激情视频| 天天撸在线视频| 青春草在线| 国产黄色视频免费观看| 北京熟妇槡BBBB槡BBBB| 六月婷婷激情| 激情五月天丁香| 青青青草视频在线| 一本一道伊人99久久综| 精品777| 色在线视频| 北条麻妃99精品青青久久| 中文字幕乱伦视频| 国产一级二级片| 大香蕉色视频| 操逼网址大全| 国产乱子伦一区二区三区免看| 免费无码婬片AAAA片在线蜜芽| 日本欧美一区二区三区| 亚洲成人在线观看视频| 久热免费视频在线观看| 大香蕉黄色片| 777777国产7777777| 欧美日韩成人一区二区三区 | 西西4444大胆无码视频| 免费内射网站| 欧美AⅤ在线| 99re伊人| 911精品国产一区二区在线 | 正在播放ADN156松下纱荣子| 国产性综合| 久久成人久久| 嘿咻嘿咻动态图| 亚洲影音先锋在线| 尤物视频在线观看视频| 一级性爱毛片| 日韩精品在线观看免费| 欧洲成人在线视频| 黄色成人网站免费在线观看| 日本色色色| 在线观看高清无码视频| 91精品国产综合久久久久久| 久久精品电影| 中文字幕无码一区二区| 中国熟睡妇BBwBBw| 在线观看亚洲中文字幕| 日本内射在线播放| 伊人影院在线观看| 口爆吞精在线观看| 大香蕉久久草| 欧美视频操逼| 白峰美羽人妻AND-499| 噼里啪啦免费观看视频大全| 荫蒂添到高潮免费视频| 97色色婷婷五月天| 懂色av懂色av粉嫩av| 亚洲国产成人在线视频| 成人网站三级片| 国产成人高潮毛片| 日本无码一区二区三区| 综合+++夜夜| 亚洲人妻电影一区| 亚洲视频在线观| 操逼视频高清无码| 999大香蕉| 97人妻一区二区三区| 亚洲vs无码秘蜜桃少妇| 欧美午夜精品久久久| 日韩在线高清视频| 日韩一级片在线| 91亚洲国产成人久久精品麻豆| 日韩家庭乱伦| 狠狠撸视频| 久久永久免费精品人妻专区| 成人做爰黄级A片免费看土方 | 色哟哟网站| 九九韩剧网最新电视剧免费观看 | 中文在线а√天堂8| 日韩无码AV中文字幕| 处破女初破全过免费看| 国产女人视频| 国产黄色电影| 无码人妻免费视频| 91丨九色丨老熟女探花| 蜜臀av一区二区| 学生妹毛片| 人妻少妇91精品一区黑人| 91精品少妇高潮一区二区三区不卡| 精品久久免费视频| 黄片在线免费观看视频| 99热这里都是精品| 中文字幕综合在线| www.日韩AV| 玖玖大香蕉| 中文字幕视频一区| 国产在线色视频| 91网站在线播放| 2014AV天堂网| 三级视频在线观看| 天堂网影音先锋| 大香蕉a片| 久久77| 无码东京热国产| 蜜桃精品无码| 2025精品视频| 久久久婷| 婷婷男人天堂| 91成人视频在线免费观看| 天天人人精品| 男女日日批黄色三级| 五月天操逼网站| 久久在线精品| av在线天堂| 超碰午夜| 欧美a片在线| 天天摸天天操| 黄色视频在线| 免费日韩毛片| 五月婷婷丁香六月| 一级A片久久久免费直播间| 亚洲AV成人无码精品| 亚洲AV无码成人精品涩涩麻豆| 97色色得| 国产精品色情| 黑人无码在线| 成人A片在线播放| 高清无码在线免费观看视频| 亚洲日韩免费视频| 亚洲AV影院| 动漫人物插画动漫人物的视频软件 | 日韩无码网站| 国产精品久久久久久久久借妻 | 中文字幕高清无码在线观看| www.色老板| 国产在线欧美| 成人精品无码免费视频| 成人一区二区三区| www.xxx国产| 国产精品色色| 久久系列观看完整指南| 日本有码在线| 国产福利AV| 操屄视频免费观看| 中文字幕人成人乱码亚洲电影| 男人av网站| 亚洲无码AV一区二区| 亚洲综合免费观看| 国产精品色哟哟| 日日夜夜拍| 最新精品视频| 丁香五月婷婷中文字幕| 狠狠操在线视频| 国产精品色情A级毛片| 日韩AV中文字幕在线| 激情性爱婷婷色五月| www.91AV| 国产操屄视频| 日本黄A三级三级三级| 草逼无码| 影音先锋麻豆传媒| 日韩无码人妻一区二区| 91麻豆精品91久久久久同性| 俺去也在线视频| 91熟女视频| 99久久伊人| 日日精品| 日本无码精品| 大香蕉久久草| 波多野结衣与黑人| 亚洲成人在线网站| 人人操人人上| AAA免费视频| 688AV秘无码一区二区| av怡红院| 五月婷婷色色网| 久久成人导航| 女生操网站| 亚洲三级黄色| 久久久久久99| 91麻豆精品91久久久ios版| 中国一级黄片| 天天骑夜夜操| 牛牛久久| 99热香蕉| 欧美日韩人妻高清中文| 在线看色| 红桃91人妻爽人妻爽| 日韩AV无码电影| 久久久久久免费| 亚洲无码三级| 大香蕉综合久久| 亚洲中文字幕在线播放| 丁香五月婷婷久久| 欧美熟女性爱| 成人首页| 高清无码一区二区在线| 国产一区二区三区免费视频| 日韩无码a| 人人操操| 国产ts| av在线资源| 999国产视频| 人妻精品一区二区在线| 中文字幕av久久爽Av| 人人操人人看人人干| 精品69| 一区四区视频| 国产av福利| 亚洲无码资源| 免费无码在线看| 日日夜夜AV| 欧美性生活视频| 岛国精品在线播放| 国产精品码ls字幕影视| 亚洲五月婷婷| 97乱伦| 国产精品视频你懂的| 少妇搡BBBB搡BBB搡造水爽| 翔田千里一区二区三区精品播放 | 麻豆一区| 天堂中文资源库| 日韩天堂在线播放| 亚洲一级内射| 麻豆91精品91久久久| 综合欧美国产视频二区| 超碰在线天天干| 91大神在线免费观看| 久久久三级| 蜜臀AV在线播放| 思思热99热| 翔田千里无码XXXXXX| 自拍偷拍图区| 一级免费a片| 无码AV大香线蕉伊人| 伊人色五月天| 操逼三级视频| 伊人999| 一区二区三级片| 无码一区二区三区四季| av天堂中文字幕| 四季AV之日韩人妻无码| 国产操穴视频| 中文字幕日韩在线视频| 97精品人妻一区二区| 亚洲天堂2014| 亚洲中文AV| 欧美三p| 无码精品一区二区三区在线播放| 国产精品A片守望| 国产不卡在线视频| 91麻豆一区二区| 四川少妇搡bbbbb搡多人| 人人操人人操人人操人人| 欧美一级特黄A片免费观看| 樱桃码一区二区三区| 伊人狠狠蜜桃亚洲综合| 嫩BBB搡BBBB搡BBBB-百度| 女人特级毛片18| 欧美午夜福利在线观看| 中文在线一区| AV大全在线免费观看| 色老板免费视频| 婷婷丁香五月综合| 国产操逼大片| 欧美色逼| 亚洲免费无码| 日韩成人网址| 777超碰| 家庭乱伦影视| 九热大香蕉| 成人福利| 91午夜视频| H网站在线观看| 久久久精品国产视频| 无码在线免费| 熟女91视频| 国产av资源网| 亚洲成人h| 国产色婷婷一区二区| 五月天无码视频| 91在线无码精品秘入口三人| 91亚洲精品国偷拍自产在线观看 | 亚洲无码av在线播放| 少妇婷婷| 深爱激情五月婷婷| 澳门午夜黄色在线| 炮友露脸青楼传媒刘颖儿| 蜜桃Av噜噜一区二区| 国产久久精品| 182在线视频| 黄色福利网| 国产欧美二区综合中文字幕精品一| 亚洲黄色成人网站| 日本少妇无码| 黄色小说视频网站| 亚洲精品视频免费在线观看| 老熟女搡BBBB搡BBBB视频 | 一级做a爰片毛片A片| 亚洲一区二区视频| 亚洲欧美在线观看视频| 欧美丰满美乳XXⅩ高潮www| 91AV一区二区| 久久久国产精品在线| 综合激情av| 美女啪啪网站| 91成人无码| 99热视| 91色婷婷综合久久中文字幕二区| 亚洲无码观看视频| 性生活无码| 中文字幕在线观看有码| 亚洲一区二区视频在线观看| 亚洲日韩网站在线观看| 吴梦梦md0069| 日韩无码中文字幕| 色婷婷久久综合久色| 91成人视频在线播放| www天天干| 婷婷深爱五月| 久久中文字幕综合| 青草福利在线| 亚久久久| 91精品久久久久久久久久久久| 在线观看一级片| 澳门午夜黄色在线| 久久久黄色视频| www污| 免费视频在线观看一区| 色中色av| 日本少妇BBw| 黄色污污污网站| 色天堂视频在线观看| 无码任你躁久久久久| 久久香蕉网| 五月婷婷丁香五月| 欧美五月婷婷| 亚洲精品内射| 一区二区三区无码在线| 香蕉91视频| 97视频在线免费观看| 婷婷色网站| 亚洲va视频| 日韩高清无码专区| 亚洲午夜在线观看| AV黄色网址| 操逼网国产| 大陆一级片| 日韩成人无码专区| 久久精品视| 波多野结衣无码高清视频| 综合久久中文字幕| 亚洲九区| 欧一美一色一伦一A片| 激情成人五月天| 午夜精品视频在线观看| 西西人体大胆裸体A片| 午夜精品久久久| 婷婷夜色福利网| 美女黄色免费网站| 91亚洲国产AⅤ精品一区二区| 爱搞搞网| 欧美va| 午夜福利亚洲| 亚洲无码高清视频在线观看| 午夜精品无码| 日本一级a片| 无码中文视频| 一级无码专区| 蜜桃影视| 日韩高清无码成人| 欧美日韩岛国| AV中文无码| 国产粗大| 在线观看亚洲一区| 久久国产精品一区二区三区| 3d动漫精品H区XXXXX区| 国产又爽又黄免费网站在线看 | 美日韩视频欧美一区二区视频| 日本操B久久| 日韩高清色| 天天夜夜狠狠| 欧美成人性色欲影院| 欧美成人五月天| 精品秘一区性综合三区| 女生自慰网站免费| 日本中文字幕中文翻译歌词| 国产无码二区| 日本親子亂子倫XXXX50路| 91精品国产综合久久久蜜臀九色| 污视频在线免费观看| 成人无码视频| 成人国产片女人爽到高潮| 99久久精彩视频| 亚洲成人影音先锋| 精品中文字幕在线| 国产三级AV在线| 91av在线免费观看| 免费在线观看A片| 欧美三级在线| AV在线播放中文字幕| 日韩熟妇人妻中文字幕| 久久久久久久伊人| 久久精品毛片| 天天添天天干| 免费国产视频| 大香蕉网站在线观看| 婷婷V亚洲V丁香月天V日韩V| 亚洲A∨无码无在线观看| 欧美va在线| 亚洲无码一级| 国产福利小视频| 国产AV日韩AⅤ亚洲AV中文| 爆操无码| 99热这里只有精品7| 无码黄片免费| 日韩视频一区二区三区| 午色婷婷国产无码| 91精品久久久久久综合五月天| 91在线视频免费| 中文无码播放| 日韩AV无码电影| 少妇激情网站| 51伦理| 人人妻人人插| 人人操人人干人人摸| 日本黄色电影网站| 五月天丁香婷婷视频| 豆花视频无码| 麻豆高清无码| 婷婷色色五月天| 欧美日韩一区二区三区在线电影| 国产在线1| AV无码免费一区二区三区不卡| 午夜AV无码| 色94色.欧美.setu| 特爽特黄特级特色视频| 中文字幕一区二区三区日本在线| 欧美精品一二三| 久久夜色精品噜噜亚洲AV| 亚洲国产精品尤物yw在线观看 | 日韩一区二区三区精品| 成人无码三级| 亚洲免费无码| www.91在线视频| 看肏屄视频| 亚洲日韩欧美视频| 亚洲操逼图| 91视频综合网| 中文字幕成人在线观看| 国产黄色精品| 久久久18禁一区二区三区精品| 久久综合17p| 人人妻人人妻| 亚洲精品一区二区二区的游戏情况 | 俺也色俺也干| 久久久久99精品成人片三人毛片| 国产女人18毛片精品18水| 91爱爱| 中国一级片| 亚洲成人AV在线观看| 黄片免费视频| 日韩精品无码一区二区三区| 美女白嫩嫩大BBB欣赏| 国产欧美在线观看| 肏屄综合网| 日韩A片免费看| 俺也来俺也去| 男人天堂无码视频| 天堂国产| 久久精品视频观看| 最近日本中文字幕中文翻译歌词| 蜜桃精品在线观看| 69午夜| 成年人免费视频在线观看| 操逼无码视频| 国产一区在线播放| 69AV视频在线观看| 免费看成人747474九号视频在线观看 | 91久久精品一区二区三| 青青草免费在线视频| 无码蜜桃一区二区| 北条麻妃网址| 成人午夜A片免费看| 黄色一级视频网站| 影音先锋一区二区三区| 欧美第一视频| 无码狠狠躁久久久久久久91| 精品AV无码一区二区三区| 天天爽天天摸| 午夜国产在线| 成人H视频| 另类老妇videos另类| 农村一级婬片A片| 不卡的一区二区| 成人黄色在线视频| 日本精品在线播放| 国产中文字幕在线播放| 2017天天干天天射| 日韩成人高清无码| 69视频在线观看免费| 精品免费在线观看| 亚州精品国产精品乱码不99勇敢| 97AV视频| 99热这里有精品| 逼逼爱| 久久aa| www日本色| 午夜福利三级| 五月丁香花婷婷| 成人黄色AV| 91狠狠爱| 黄片免费看网站| 亚洲啪啪网站| 日本高清不卡视频| AAA片网站| 日韩色色网| 午夜啪啪网站| 亚洲一区二区三区视频| 国产一级a毛一级a毛片视频黑人 | 综合色婷婷一区二区亚洲欧美国产 | 五月丁香色播| 免费中文字幕日韩欧美| 国产黄色小视频在线观看| 激情99| 日韩免费黄色视频| 日本中文字幕在线| 日韩性爱在线观看| 午夜撸一撸| 国产h在线| 国产色秘乱码一区二区三区| 久久婷婷综合网| 成人蜜臀AV| 黄色小视频在线免费观看| 尤物视频入口| 久久美女视频| 在线观看黄色网页| 天堂中文在线资源| 久久香蕉网站| 久久福利| 黄色国产免费| 小早川怜子精品一区二区| 麻豆国产精品| 国产精品嫩草久久久久yw193| 青草视频在线播放| 久久国产精品精品国产色婷婷| 在线观看亚洲视频| 亚洲中文字幕2019| 中文人妻av| 日韩国产一区二区| 黄色小说在线播放| 久久精品视频免费| 亚洲欧美日韩动漫| 精品无码久久久久久久久app| 中文字幕四区| 色婷婷中文在线| 欧美日韩国产一区| 好吊顶亚洲AV大香蕉色色| 亚洲无码高清在线观看视频| 岛国无码破解AV在线播放| 瑟瑟免费视频| 五月激情视频| 亚洲一级视频在线观看| 特特级毛片| 中文字幕在线观看免费高清电影| 一本一道波多野结衣潮喷视频| 插菊花综合网1| 天天干国产| 91国产免费视频| 乱伦性爱视频| 午夜麻豆| 成人五月天黄色电影| 色99999| 成人性爱在线视频| 四季AV一区二区凹凸懂色桃花| 操逼五月天| 色天堂污| 成人性生活影视av| 无码视频韩国| 激情色图| 手机在线小视频| 天天综合天天做天天综合| 亚洲色图五月天| 日本50路熟女| 丰满人妻一区二区三区蜜桃视频| 日韩欧美黄色电影| 中文字幕码精品视频网站| 中文字幕一区二区二三区四区| 久久精品99国产国产精| 大香蕉久| 人妻熟妇乱子伦精品无码专区毛片 | 日本绿色精品视频| 黄色三级视频| 伊人中文在线| 亚洲精品影视| 日韩老熟妇| 国产无码激情视频| 人人亚洲| 亚欧精品久久久| 天天日很很日| 99热欧美| 91视频www| 97久久综合| 日本高清视频www| 欧美性爱综合网| 亚洲特级毛片| 翔田千里无码A片| av大片在线观看| 欧美精品性爱| 日韩经典无码| 偷拍亚洲色图| 欧美一级成人片| 国产精品视频在线观看| 大香蕉网伊人| 欧美高清无码在线观看| 福利视频在线| 色天堂视频在线观看| 日韩黄色电影网站| 五月婷久久| 强开小嫩苞一区二区三区网站| 凸凹翔田千里无码| 婷婷丁香五月激情一区综合网 | www.6969成人片亚洲| www.91AV| 欧美MV日韩MV国产网站| 欧美亚洲黄色| 欧美操逼图| AV无码网站| 无码视频韩国| 大学生一级特黄大片| 免费福利视频网站| 日韩精品一区二区三免费视频| 91狠狠综合久久| 二区三区在线| 永久免费黄色视频| 色婷婷国产精品视频| 国产在线观看一区| 在线观看91| 精品一区二区三区免费毛片 | 亚洲成人毛片| 免费一区| 无码插逼| 中文字幕人妻系列| 色色五月天网站| 色情五月婷婷| 久久精品国产AV一区二区三区 | 色黄视频在线观看| 天天草天天爽| 白丝在线观看| 91在线无码精品国产三年| av无码在线观看| A片视频在线观看| 激情五月天色| 国产成人免费做爰视频| 波多野吉衣高清无码| 人人干超碰| 人人操人人网站| 操b视频免费看| 国产在线观看免费成人视频| 亚洲天堂在线免费观看| 欧美日韩性爱视频| 啪啪视频免费观看| 日韩亚洲视频| 黄网免费观看| 日本色电影在线观看| 国产女人高潮毛片| 欧美亚洲视频在线观看| 99天天视频| 国产黄色直播| 苍井空中文字幕在线观看| 中文无码久久| 操比一区| 在线成人一区二区| 国产日韩欧美| 成人黄色大片| 青草视频在线| 亚洲日韩一区二区| 黄片一区二区| 日韩高清无码中文字幕| 欧美午夜福利在线观看| V天堂在线| 伊人999| 99色综合| 午夜神马福利| 亚洲国产成人综合| 在线观看无码高清| 亚洲精品无码电影| 色五月天婷婷| 91欧美视频| 一区二区免费看| 91人妻人人澡人人| 俺去| 人妻无码在线视频| 欧美视频免费在线观看| 午夜福利成人视频| 91狠狠| 精品偷拍视频| 色色五月婷婷| 操逼视频国产| 91精品人妻一区二区三区蜜桃| 香蕉成人A片视频| 欧美一区二区在线观看| 黄色欧美视频| 人妻夜夜爽天天爽三区麻豆AV网站| 日皮视频在线观看| 狼友视频报放| 免费无码A片在线观看全| 男女高清无码| 欧美V视频| 亚洲va欧美va| 久久秘成人久久无码| 国产精品V日韩精品V在线观看| 欧美午夜性爱视频| a片视频免费| 天天躁夜夜躁狠狠躁AV| 亚洲黄色视频网站在线观看| 一区二区三区免费在线| 超碰一级片| 中文在线观看视频| 在线天堂网| 大乳奶一级婬片A片| 色天堂色天使| 国产精品免费麻豆| 曰韩一级片| 日韩精品一区二区亚洲AV观看|