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

RocketMQ 是什么?它的架構(gòu)是怎么樣的?和 Kafka 又有什么區(qū)別?

開發(fā) 架構(gòu)
RocketMQ 是阿里自研的國(guó)產(chǎn)消息隊(duì)列,目前已經(jīng)是 Apache 的頂級(jí)項(xiàng)目。和其他消息隊(duì)列一樣,它接受來(lái)自生產(chǎn)者的消息,將消息分類,每一類是一個(gè) topic,消費(fèi)者根據(jù)需要訂閱 topic,獲取里面的消息。

作為一個(gè)程序員,假設(shè)你有 A、B 兩個(gè)服務(wù),A 服務(wù)發(fā)出消息后,不想讓 B 服務(wù)立馬處理到。而是要過(guò)半小時(shí)才讓 B 服務(wù)處理到,該怎么實(shí)現(xiàn)?

這類延遲處理消息的場(chǎng)景非常常見(jiàn),舉個(gè)例子,比如我每天早上到公司后都會(huì)點(diǎn)個(gè)外賣,我希望外賣能在中午送過(guò)來(lái),而不是立馬送過(guò)來(lái),這就需要將外賣消息經(jīng)過(guò)延時(shí)后,再投遞到商家側(cè)。

那么問(wèn)題就來(lái)了,有沒(méi)有優(yōu)雅的解決方案?當(dāng)然有,沒(méi)有什么是加一層中間層不能解決的,如果有,那就再加一層。這次我們要加的中間層是消息隊(duì)列 RocketMQ。

RocketMQ 是什么?

RocketMQ 是阿里自研的國(guó)產(chǎn)消息隊(duì)列,目前已經(jīng)是 Apache 的頂級(jí)項(xiàng)目。和其他消息隊(duì)列一樣,它接受來(lái)自生產(chǎn)者的消息,將消息分類,每一類是一個(gè) topic,消費(fèi)者根據(jù)需要訂閱 topic,獲取里面的消息。

是不是很像我們上篇文章里提到的消息隊(duì) Kafka,那么問(wèn)題很自然就來(lái)了,既然都是消息隊(duì)列,那它們之間有什么區(qū)別呢?

RocketMQ 和 Kafka 的區(qū)別

RocketMQ 的架構(gòu)其實(shí)參考了 Kafka 的設(shè)計(jì)思想,同時(shí)又在 Kafka 的基礎(chǔ)上做了一些調(diào)整。

這些調(diào)整,用一句話總結(jié)就是,"和 Kafka 相比,RocketMQ 在架構(gòu)上做了減法,在功能上做了加法"。我們來(lái)看下這句話的含義。

在架構(gòu)上做減法

我們來(lái)簡(jiǎn)單回顧下消息隊(duì)列 Kafka 的架構(gòu)。kakfa 也是通過(guò)多個(gè) topic 對(duì)消息進(jìn)行分類。

  • 為了提升單個(gè) topic 的并發(fā)性能,將單個(gè) topic 拆為多個(gè) partition。

  • 為了提升系統(tǒng)擴(kuò)展性,將多個(gè) partition 分別部署在不同 broker 上。
  • 為了提升系統(tǒng)的可用性,為 partition 加了多個(gè)副本。
  • 為了協(xié)調(diào)和管理 Kafka 集群的數(shù)據(jù)信息,引入Zookeeper作為協(xié)調(diào)節(jié)點(diǎn)。

Kafka 已經(jīng)是非常強(qiáng)的消息隊(duì)列了,我們來(lái)看下 RocketMQ 在 Kafka 架構(gòu)的基礎(chǔ)上,還能玩出什么花樣來(lái)。

簡(jiǎn)化協(xié)調(diào)節(jié)點(diǎn)

Zookeeper 在 Kafka 架構(gòu)中會(huì)和 broker 通信,維護(hù) Kafka 集群信息。一個(gè)新的 broker 連上 Zookeeper 后,其他 broker 就能立馬感知到它的加入,像這種能在分布式環(huán)境下,讓多個(gè)實(shí)例同時(shí)獲取到同一份信息的服務(wù),就是所謂的分布式協(xié)調(diào)服務(wù)。

但 Zookeeper 作為一個(gè)通用的分布式協(xié)調(diào)服務(wù),它不僅可以用于服務(wù)注冊(cè)與發(fā)現(xiàn),還可以用于分布式鎖、配置管理等場(chǎng)景。Kafka 其實(shí)只用到了它的部分功能,多少有點(diǎn)殺雞用牛刀的味道。太重了。

所以 RocketMQ 直接將 Zookeeper 去掉,換成了 nameserver,用一種更輕量的方式,管理消息隊(duì)列的集群信息。生產(chǎn)者通過(guò) nameserver 獲取到 topic 和 broker 的路由信息,然后再與 broker 通信,實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡的效果。

當(dāng)然,開發(fā) Kafka 的大佬們后來(lái)也意識(shí)到了 Zookeeper 過(guò)重的問(wèn)題,所以從 2.8.0 版本就支持將 Zookeeper 移除,通過(guò) 在 broker 之間加入一致性算法 raft 實(shí)現(xiàn)同樣的效果,這就是所謂的 KRaft 或 Quorum 模式。

簡(jiǎn)化分區(qū)

我們知道,Kafka 會(huì)將 topic 拆分為多個(gè) partition,用來(lái)提升并發(fā)性能。

在 RocketMQ 里也一樣,將 topic 拆分成了多個(gè)分區(qū),但換了個(gè)名字,叫 Queue,也就是"隊(duì)列"。

Kafka 中的 partition 會(huì)存儲(chǔ)完整的消息體,而 RocketMQ 的 Queue 上卻只存一些簡(jiǎn)要信息,比如消息偏移 offset,而消息的完整數(shù)據(jù)則放到"一個(gè)"叫 commitlog 的文件上,通過(guò) offset 我們可以定位到 commitlog 上的某條消息。Kafka 消費(fèi)消息,broker 只需要直接從 partition 讀取消息返回就好,也就是讀第一次就夠了。

而在 RocketMQ 中,broker 則需要先從 Queue 上讀取到 offset 的值,再跑到 commitlog 上將完整數(shù)據(jù)讀出來(lái),也就是需要讀兩次。

那么問(wèn)題就來(lái)了,看起來(lái) Kafka 的設(shè)計(jì)更高效?為什么 RocketMQ 不采用 Kafka 的設(shè)計(jì)?
這就不得說(shuō)一下 Kafka 的底層存儲(chǔ)了。

Kafka 的底層存儲(chǔ)

Kafka 的 partition 分區(qū),其實(shí)在底層由很多段(segment)組成,每個(gè) segment 可以認(rèn)為就是個(gè)小文件。將消息數(shù)據(jù)寫入到 partition 分區(qū),本質(zhì)上就是將數(shù)據(jù)寫入到某個(gè) segment 文件下。

我們知道,操作系統(tǒng)的機(jī)械磁盤,順序?qū)懙男阅軙?huì)比隨機(jī)寫快很多,差距高達(dá)幾十倍。為了提升性能,Kafka 對(duì)每個(gè)小文件都是順序?qū)憽?br>如果只有一個(gè) segment 文件,那寫文件的性能會(huì)很好。
但當(dāng) topic 變多之后,topic 底下的 partition 分區(qū)也會(huì)變多,對(duì)應(yīng)的 partition 底下的 segment 文件也會(huì)變多。同時(shí)寫多個(gè) topic 底下的 partition,就是同時(shí)寫多個(gè)文件,雖然每個(gè)文件內(nèi)部都是順序?qū)懀鄠€(gè)文件存放在磁盤的不同地方,原本順序?qū)懘疟P就可能劣化變成了隨機(jī)寫。于是寫性能就降低了。

那問(wèn)題又又來(lái)了,究竟多少 topic 才算多?這個(gè)看實(shí)際情況,但打太極從來(lái)不是我的風(fēng)格。
我給一個(gè)經(jīng)驗(yàn)值僅供參考,8 個(gè)分區(qū)的情況下,超過(guò) 64 topic, Kafka 性能就會(huì)開始下降。

RocketMQ 的底層存儲(chǔ)

為了緩解同時(shí)寫多個(gè)文件帶來(lái)的隨機(jī)寫問(wèn)題,RocketMQ 索性將單個(gè) broker 底下的多個(gè) topic 數(shù)據(jù),全都寫到"一個(gè)"邏輯文件 CommitLog 上,這就消除了隨機(jī)寫多文件的問(wèn)題,將所有寫操作都變成了順序?qū)憽4蟠筇嵘?RocketMQ 在多 topic 場(chǎng)景下的寫性能。

注意上面提到的"一個(gè)"是帶引號(hào)的,雖然邏輯上它是一個(gè)大文件,但實(shí)際上這個(gè) CommitLog 由多個(gè)小文件組成。每個(gè)文件的大小是固定的,當(dāng)一個(gè)文件被寫滿后,會(huì)創(chuàng)建一個(gè)新的文件來(lái)繼續(xù)存儲(chǔ)新的消息。這種方式可以方便地管理和清理舊的消息。

簡(jiǎn)化備份模型

我們知道,Kafka 會(huì)將 partiton 分散到多個(gè) broker 中,并為 partiton 配置副本,將 partiton 分為 leader和 follower,也就是主和從。broker 中既可能有 A topic 的主 partiton,也可能有 B topic 的從 partiton。主從 partiton 之間會(huì)建立數(shù)據(jù)同步,本質(zhì)上就是同步 partiton 底下的 segment 文件數(shù)據(jù)

RocketMQ 將 broker 上的所有 topic 數(shù)據(jù)到寫到 CommitLog 上。如果還像 Kafka 那樣給每個(gè)分區(qū)單獨(dú)建立同步通信,就還得將 CommitLog 里的內(nèi)容拆開,這就還是退化為隨機(jī)讀了。
于是 RocketMQ 索性以 broker 為單位區(qū)分主從,主從之間同步 CommitLog 文件,保持高可用的同時(shí),也大大簡(jiǎn)化了備份模型。

好了,到這里,我們熟悉的 Kafka 架構(gòu),就成了 RocketMQ 的架構(gòu)。

是不是跟 Kafka 的很像但又簡(jiǎn)化了不少?

在功能上做加法

雖然 RocketMQ 的架構(gòu)比 Kafka 的簡(jiǎn)單,但功能卻比 Kafka 要更豐富,我們來(lái)看下。

消息過(guò)濾

我們知道,Kafka 支持通過(guò) topic 將數(shù)據(jù)進(jìn)行分類,比如訂單數(shù)據(jù)和用戶數(shù)據(jù)是兩個(gè)不同的 topic,但如果我還想再進(jìn)一步分類呢?比如同樣是用戶數(shù)據(jù),還能根據(jù) vip 等級(jí)進(jìn)一步分類。假設(shè)我們只需要獲取 vip6 的用戶數(shù)據(jù),在 Kafka 里,消費(fèi)者需要消費(fèi) topic 為用戶數(shù)據(jù)的所有消息,再將 vip6 的用戶過(guò)濾出來(lái)。

而 RocketMQ 支持對(duì)消息打上標(biāo)記,也就是打 tag,消費(fèi)者能根據(jù) tag 過(guò)濾所需要的數(shù)據(jù)。比如我們可以在部分消息上標(biāo)記 tag=vip6,這樣消費(fèi)者就能只獲取這部分?jǐn)?shù)據(jù),省下了消費(fèi)者過(guò)濾數(shù)據(jù)時(shí)的資源消耗。

相當(dāng)于 RocketMQ 除了支持通過(guò) topic 進(jìn)行一級(jí)分類,還支持通過(guò) tag 進(jìn)行二級(jí)分類。

支持事務(wù)

我們知道 Kafka 支持事務(wù),比如生產(chǎn)者發(fā)三條消息 ABC,這三條消息要么同時(shí)發(fā)送成功,要么同時(shí)發(fā)送失敗。

是,這確實(shí)也叫事務(wù),但跟我們要的不太一樣。

寫業(yè)務(wù)代碼的時(shí)候,我們更想要的事務(wù)是,"執(zhí)行一些自定義邏輯"和"生產(chǎn)者發(fā)消息"這兩件事,要么同時(shí)成功,要么同時(shí)失敗。

而這正是 RocketMQ 支持的事務(wù)能力。

加入延時(shí)隊(duì)列

如果我們希望消息投遞出去之后,消費(fèi)者不能立馬消費(fèi)到,而是過(guò)個(gè)一定時(shí)間后才消費(fèi),也就是所謂的延時(shí)消息,就像文章開頭的定時(shí)外賣那樣。如果我們使用 Kafka, 要實(shí)現(xiàn)類似的功能的話,就會(huì)很費(fèi)勁。
但 RocketMQ 天然支持延時(shí)隊(duì)列,我們可以很方便實(shí)現(xiàn)這一功能。

加入死信隊(duì)列

消費(fèi)消息是有可能失敗的,失敗后一般可以設(shè)置重試。如果多次重試失敗,RocketMQ 會(huì)將消息放到一個(gè)專門的隊(duì)列,方便我們后面單獨(dú)處理。這種專門存放失敗消息的隊(duì)列,就是死信隊(duì)列。
Kafka 原生不支持這個(gè)功能,需要我們自己實(shí)現(xiàn)。

消息回溯

Kafka 支持通過(guò)調(diào)整 offset 來(lái)讓消費(fèi)者從某個(gè)地方開始消費(fèi),而 RocketMQ,除了可以調(diào)整 offset, 還支持調(diào)整時(shí)間。

所以不那么嚴(yán)謹(jǐn)?shù)恼f(shuō), RocketMQ 本質(zhì)就是在架構(gòu)上做了減法,在功能上做了加法的 Kafka。
這個(gè)總結(jié)是不是特別精辟。
現(xiàn)在大家通了嗎?

最后遺留一個(gè)問(wèn)題。
現(xiàn)在看起來(lái),RocketMQ 好像各方面都比 Kafka 更能打。
但 Kafka 卻一直沒(méi)被淘汰,說(shuō)明 RocketMQ 必然是有著不如 Kafka 的地方。
是啥呢?
性能,嚴(yán)格來(lái)說(shuō)是吞吐量。
這就很奇怪了,為什么 RocketMQ 參考了 Kafka 的架構(gòu),性能卻還不如 Kafka?
這個(gè)問(wèn)題,我們下期聊聊。

總結(jié)

  • RocketMQ 和 Kafka 相比,在架構(gòu)上做了減法,在功能上做了加法
  • 跟 Kafka 的架構(gòu)相比,RocketMQ 簡(jiǎn)化了協(xié)調(diào)節(jié)點(diǎn)和分區(qū)以及備份模型。同時(shí)增強(qiáng)了消息過(guò)濾、消息回溯和事務(wù)能力,加入了延遲隊(duì)列,死信隊(duì)列等新特性。
責(zé)任編輯:姜華 來(lái)源: 小白debug
相關(guān)推薦

2025-01-20 07:00:00

2024-11-25 07:00:00

RedisMySQL數(shù)據(jù)庫(kù)

2025-06-20 08:03:36

Hadoopmysql數(shù)據(jù)庫(kù)

2024-12-16 08:20:00

2025-02-03 08:00:00

HDFS架構(gòu)存儲(chǔ)數(shù)據(jù)

2024-06-24 00:07:00

開源es搜索引擎

2022-08-26 16:32:08

云計(jì)算公有云私有云

2024-03-04 08:03:50

k8sClusterNode

2024-04-02 09:17:10

單元測(cè)試集成測(cè)試

2022-03-16 07:33:40

守護(hù)線程用戶線程語(yǔ)言

2023-12-28 17:33:25

意向鎖MySQL開發(fā)者

2024-11-25 12:20:00

Hystrix微服務(wù)架構(gòu)

2022-02-24 23:37:19

區(qū)塊鏈錢包比特幣

2023-04-17 14:21:19

5G無(wú)線技術(shù)

2024-12-03 09:34:35

觀察者模 式編程Javav

2024-10-28 12:06:09

2022-05-16 11:04:43

RocketMQPUSH 模式PULL 模式

2022-08-31 08:33:54

Bash操作系統(tǒng)Linux

2025-06-11 08:35:00

數(shù)據(jù)倉(cāng)庫(kù)數(shù)倉(cāng)分層架構(gòu)

2024-09-20 14:46:49

Python函數(shù)編譯
點(diǎn)贊
收藏

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

精品国产亚洲一区二区三区| 国产精品免费在线播放| 日韩精品资源| 国产真实的和子乱拍在线观看| 国产h视频在线观看| av综合网站| 最新国产精品久久精品| 日韩av理论片| 国产精品入口麻豆| 国产盗摄在线观看| 奇米精品一区二区三区在线观看一 | 少妇按摩一区二区三区| 欧美日韩xx| 视频一区二区中文字幕| 亚洲国产精品久久91精品| 日韩欧美第二区在线观看| 国产精品天天操| 欧美日韩国产一区二区三区不卡 | 亚洲另类激情图| 黄色一级片黄色| 一级黄色a毛片| 欧美中文一区二区| 91精品办公室少妇高潮对白| 久久99导航| 国产精品美女毛片真酒店| 综合中文字幕| 一区二区国产盗摄色噜噜| 91精品久久久久久久久久久久久久| 精产国品一区二区三区| 黄色av免费在线| 国产综合色产在线精品| 久久人人爽人人爽人人片亚洲| 我看黄色一级片| 成全电影播放在线观看国语| 蜜臀av国产精品久久久久 | 成人精品一区二区三区免费 | 99热这里只有成人精品国产| 精品欧美黑人一区二区三区| 黄色片免费在线观看视频| 国产露脸91国语对白| 久久国产88| 国产亚洲成精品久久| 激情五月婷婷久久| 国产高清av在线| 99国产精品国产精品毛片| 韩国精品美女www爽爽爽视频| 国产黑丝一区二区| 深夜福利视频一区二区| 久久久久国产一区二区三区四区| 国产91在线播放精品91| 日韩黄色精品视频| 欧美高清一区| 亚洲激情免费观看| 无码人妻丰满熟妇区毛片| 粉嫩av一区| 91视视频在线直接观看在线看网页在线看| 欧美一区二区三区免费观看| 欧美波霸videosex极品| 国产专区精品| 亚洲成人黄色影院| 欧美极品一区二区| 一区二区www| 国模一区二区三区| 亚洲乱码国产乱码精品精天堂| 亚洲精品久久一区二区三区777| 爱啪视频在线观看视频免费| 国产亚洲人成网站| 亚洲精品欧美日韩| 日韩欧美亚洲视频| 日韩伦理视频| 欧美r级电影在线观看| 亚洲一区二区三区四区精品| mm视频在线视频| 亚洲一区二区在线免费看| 欧美精品一区在线发布| 涩涩视频在线观看免费| 国产一区二区三区视频在线播放| 国产综合视频在线观看| 国产精品久久久午夜夜伦鲁鲁| 久久国产乱子精品免费女| 久久精品视频中文字幕| 中文字幕观看av| 同性恋视频一区| 91精品国产手机| 国内外成人激情视频| 精品孕妇一区二区三区| 亚洲精品美腿丝袜| 日韩欧美在线电影| 国产1区2区3区在线| 国产精品免费视频一区| 久久精品国产精品青草色艺 | 国产大尺度在线观看| 婷婷色在线视频| 激情五月婷婷综合网| 国产91精品青草社区| www.久久久久久久| 亚洲午夜视频| 日本国产精品视频| 久久午夜无码鲁丝片| 日本久久综合| 欧美裸身视频免费观看| 日韩黄色中文字幕| 欧美一区精品| 1769国内精品视频在线播放| 玖玖爱免费视频| 真实国产乱子伦精品一区二区三区| 亚洲日韩中文字幕| 精品中文字幕在线播放| 成人福利一区| 国产一区二区成人| 免费人成年激情视频在线观看| 亚洲在线日韩| 97高清免费视频| 在线免费一级片| 岛国精品在线观看| 俄罗斯精品一区二区三区| 亚洲最大成人av| av亚洲精华国产精华| 国产成人精品一区二区三区福利| 美国一级片在线免费观看视频 | 欧美极品视频| 欧美日韩精品在线视频| 极品粉嫩国产18尤物| 污污在线观看| 一区二区三区 在线观看视频| 熟妇人妻va精品中文字幕| 国产一区二区三区免费观看在线| 亚洲一二在线观看| 全部毛片永久免费看| 一本久久综合| 亚洲一区二区中文字幕| 精品电影在线| 国产女同互慰高潮91漫画| 视频二区一区| 成人精品一区二区三区免费| 精品露脸国产偷人在视频| 黄色动漫网站入口| 91成人精品在线| 久久高清视频免费| 久久婷婷综合国产| 国产在线乱码一区二区三区| 日韩欧美一区二区视频在线播放 | 国产精品永久免费视频| 91国内精品视频| 国产日韩欧美高清| 无码精品国产一区二区三区免费| 亚洲天堂一区二区| 欧美无砖砖区免费| a级大片免费看| 国产日韩三级| 亚洲色无码播放| 91av在线免费视频| 成人黄色一级视频| 欧美亚洲另类久久综合| 888av在线视频| 在线视频一区二区免费| 国产成人在线综合| 丁香婷婷成人| 欧美精品xxx| 波多野结衣黄色网址| 国产一区二区三区四区在线观看| 亚洲欧洲国产日韩精品| 欧美寡妇性猛交xxx免费| 欧美日韩国产限制| 日本免费福利视频| 仙踪林久久久久久久999| 国产做受69高潮| 亚洲中文字幕一区二区| 欧美国产精品专区| 97碰在线视频| youjizz欧美| 91禁外国网站| 国产在线你懂得| 欧美在线播放高清精品| av资源在线免费观看| 亚洲狼人精品一区二区三区| 成人久久精品视频| gogogogo高清视频在线| 精品粉嫩aⅴ一区二区三区四区| 日本理论中文字幕| av成人毛片| 欧美午夜精品久久久久免费视| 久久青草免费| 亚洲欧美在线第一页| 国产一级片免费视频| 国产精品国模大尺度视频| 免费不卡av在线| 蜜桃a∨噜噜一区二区三区| 欧美大片在线看| 国产精品福利电影| 亚洲国产一区二区在线播放| 亚洲国产无码精品| 久久91精品久久久久久秒播| 大西瓜av在线| 粉嫩一区二区三区在线观看| 欧美激情精品久久久久| 精品av中文字幕在线毛片| 91麻豆精品国产自产在线观看一区| 无码少妇精品一区二区免费动态| 国内精品伊人久久久久av影院| 日韩精品在线中文字幕| 欧美色网址大全| 国产精品一区免费观看| 欧美一级二级视频| 亚洲欧美日韩在线高清直播| 91精品国产乱码久久| 精品成人在线视频| 啪啪一区二区三区| 97成人超碰视| 污污视频在线免费| 日本不卡高清视频| 日韩精品xxxx| 人人精品亚洲| 欧洲精品毛片网站| a级影片在线| 国产一区二区三区网站| 国产成人三级在线观看视频| 亚洲在线观看免费视频| 毛片aaaaaa| 91蜜桃在线免费视频| 99国产精品免费视频| 美日韩一区二区| 亚洲国产精品久久久久爰色欲| 国产精品hd| 国产精品加勒比| 综合久草视频| 欧美成人午夜影院| 成年网站在线| 亚洲精品中文字幕女同| 草莓视频18免费观看| 亚洲午夜免费电影| 日韩在线视频网址| 成人一道本在线| 91精产国品一二三产区别沈先生| 日日摸夜夜添夜夜添亚洲女人| 丝袜美腿玉足3d专区一区| 欧美在线导航| 精品国产乱码久久久久| 欧美激情喷水| 午夜剧场成人观在线视频免费观看| www免费在线观看| 久久精品国产v日韩v亚洲| 狠狠色伊人亚洲综合网站l| 日韩电影免费在线观看中文字幕 | 色一情一交一乱一区二区三区| 日韩不卡一二三区| 三级4级全黄60分钟| 国产亚洲毛片| 亚洲欧美日韩精品在线| 日本不卡免费一区| 一区二区三区久久网| 99国产精品久久一区二区三区| 亚洲一区亚洲二区亚洲三区| 亚洲日韩中文字幕一区| 91九色国产社区在线观看| 51精品在线| 午夜欧美不卡精品aaaaa| a天堂资源在线| 欧美亚洲激情在线| 亚洲精品mv| 美女黄色丝袜一区| 2024短剧网剧在线观看| 日韩精品欧美激情| 色播色播色播色播色播在线| 亚洲欧美日韩精品久久奇米色影视 | 草草视频在线观看| 91av在线免费观看视频| 二区三区不卡| 欧美激情aaaa| 国产传媒在线观看| 国产成人极品视频| 欧美人与性动交α欧美精品图片| 欧美大片免费看| 亚洲黄色中文字幕| 国产精品视频yy9099| 五月天国产在线| 日本一区二区三区四区视频| 成人在线免费电影网站| 91wwwcom在线观看| 亚洲第一二三四区| 成人性生交大片免费看视频直播| 最新国产精品精品视频| 欧美精品七区| 亚洲91精品| av之家在线观看| 美女爽到高潮91| 久久久久久无码精品人妻一区二区| 成人av网站免费| 国产一区二区三区四区在线| 日韩毛片视频在线看| 国产一卡二卡在线| 日本韩国一区二区| 精品美女www爽爽爽视频| 欧美日韩精品一区视频| 成年人视频免费| 7777精品久久久大香线蕉 | 日韩精品在线视频观看| 夜级特黄日本大片_在线| 亚洲美腿欧美激情另类| 黄色免费在线观看| 欧美亚洲国产另类| 精品午夜av| 日本一区二区三区四区在线观看 | 性欧美videos| 国产精品久久久久久一区二区三区 | 一个色综合av| 中文在线观看免费高清| 91国产免费观看| 性一交一乱一色一视频麻豆| 欧美一区二区三区在线电影| 丝袜视频国产在线播放| 亚洲国产天堂久久综合| 日本视频不卡| 欧美重口另类videos人妖| 日韩最新av| 97碰碰视频| 日韩三级av高清片| 日韩国产在线一区| 亚洲国产精品一区| 在线a免费观看| 中国av一区二区三区| 国产无遮挡裸体免费视频| 欧美精品乱码久久久久久按摩| 中文av免费观看| 亚洲欧美国内爽妇网| 欧美草逼视频| 97超碰人人看人人| 91超碰成人| 香蕉视频999| 国产激情一区二区三区四区| 中文 日韩 欧美| 国产拍欧美日韩视频二区| 色网站在线播放| 精品国产乱码久久久久久老虎| 看黄网站在线观看| 国产精品无av码在线观看| 国产精品密蕾丝视频下载| 亚洲国产日韩欧美| 久久精品女人天堂| 国产精品嫩草av| 亚洲成av人片在线观看| jizz国产在线观看| 亚洲级视频在线观看免费1级| 日本动漫理论片在线观看网站 | 另类ts人妖一区二区三区| 免费日韩电影在线观看| 日韩国产欧美一区二区| 日本成人黄色网| 国产乱码精品一区二区三区忘忧草| 日本性生活一级片| 亚洲最大色网站| 亚洲a视频在线观看| 久久6免费高清热精品| 国色天香久久精品国产一区| 波多野结衣激情| 国产一区视频导航| 黄色片在线观看网站| 欧美成人精品福利| 波多野结衣久久| 国产精品久久久久91| 午夜久久av| 国产玉足脚交久久欧美| 成人国产精品免费网站| 影音先锋亚洲天堂| 亚洲欧美日韩在线一区| 欧美成人aaa| 91精品国产吴梦梦| 久久久久在线| 男人天堂av电影| 亚洲国产综合91精品麻豆| 蜜臀av在线观看| 久久好看免费视频| 国产一区二区三区精品在线观看 | 伦理在线一区| 九色视频成人porny| 久久久久久久欧美精品| 天天操天天摸天天舔| 91精品国产综合久久久久久 | 久久米奇亚洲| 国产精品主播视频| 一区久久精品| 中文字幕一区二区在线观看视频| 亚洲六月丁香色婷婷综合久久| 波多野结衣电车痴汉| 精品国产欧美一区二区五十路 | 一本到一区二区三区| а√天堂资源在线| 国产91精品青草社区| 欧美高清在线| 免费看污污网站| 亚洲精品免费电影| 国产在线一二| 99精品国产高清在线观看| 婷婷丁香综合| 艹b视频在线观看| 久久精品夜夜夜夜久久| 国产原创中文av| 欧美一级高清免费播放| 国产精品99视频| 在线精品一区二区三区|