99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Kafka面試八股文:從高吞吐原理到可靠性機(jī)制與積壓排查

Kafka面試八股文:從高吞吐原理到可靠性機(jī)制與積壓排查 去年面了個(gè)候選人提到Kafka為什么快對(duì)方張口就是“分區(qū)、順序?qū)?、零拷貝”我順著追?wèn)了一句“零拷貝具體省了哪幾步拷貝”他愣了幾秒然后告訴我“就是省了拷貝”。這種回答其實(shí)挺常見(jiàn)的名詞都聽(tīng)過(guò)但再往下一層就空了?!睹嬖嚢斯晌摹废盗袑懙浆F(xiàn)在是第21卷這一期專門聊Kafka。市面上的Kafka面試題匯總一抓一大把但大多數(shù)只是把題目和答案列出來(lái)你背完還是會(huì)覺(jué)得心里沒(méi)底。因?yàn)槊嬖嚬僬嬲肼?tīng)的從來(lái)不是那個(gè)名詞而是名詞背后的取舍邏輯。這篇文章不打算給你堆題目而是把Kafka面試?yán)镒罡哳l的幾組考點(diǎn)拆開(kāi)揉碎底層定位、高吞吐原理、可靠性機(jī)制、消費(fèi)者端三大問(wèn)題、消費(fèi)組與Rebalance、線上積壓排查最后再給一套可以直接上口的表述模板。無(wú)論你是準(zhǔn)備面試還是想系統(tǒng)補(bǔ)一下Kafka原理這篇都適用。1. 先把底層定位說(shuō)清楚Kafka不是“消息隊(duì)列”這么簡(jiǎn)單1.1 面試官為什么開(kāi)口就問(wèn)“你怎么理解Kafka”面試問(wèn)“你怎么理解Kafka”其實(shí)是在試探你有沒(méi)有自己的知識(shí)框架。你要是張嘴就說(shuō)“Kafka是分布式消息隊(duì)列”不能算錯(cuò)但等于沒(méi)說(shuō)。這個(gè)答案太淺面試官接下來(lái)會(huì)連著追問(wèn)它和RabbitMQ有什么區(qū)別它為什么吞吐量高它適合什么場(chǎng)景一個(gè)“消息隊(duì)列”的標(biāo)簽根本撐不住這些追問(wèn)。我更推薦按三層來(lái)理解Kafka第一層是消息系統(tǒng)基于發(fā)布訂閱模型負(fù)責(zé)異步解耦、削峰填谷第二層是存儲(chǔ)系統(tǒng)消息持久化到磁盤保留一段時(shí)間可以回溯消費(fèi)第三層是流處理平臺(tái)借助Kafka Streams或者對(duì)接Flink做實(shí)時(shí)計(jì)算。面試時(shí)能講到這個(gè)層面面試官至少知道你不是只會(huì)背概念。這里面還有一個(gè)比較容易忽略的點(diǎn)Kafka和JMS規(guī)范其實(shí)沒(méi)什么關(guān)系它并不遵守JMS那套API標(biāo)準(zhǔn)而是自己定義了一套基于分區(qū)和offset的消費(fèi)模型。很多人拿RabbitMQ那套exchange、queue的邏輯去套Kafka結(jié)果越套越亂。記住一點(diǎn)Kafka的設(shè)計(jì)核心是“分布式日志”不是“消息隊(duì)列”這個(gè)定位直接影響你對(duì)后面所有機(jī)制的理解。1.2 從topic、partition到segment一條消息到底存在哪面試官的第二個(gè)追問(wèn)往往是“消息存到哪里了”。如果你答“存在磁盤上”還不夠他會(huì)繼續(xù)問(wèn)“磁盤上的結(jié)構(gòu)長(zhǎng)什么樣”。一條消息從生產(chǎn)到存儲(chǔ)的路徑是這樣的生產(chǎn)者指定topic消息按照分區(qū)策略落入某個(gè)partitionpartition內(nèi)文件按大小切分為多個(gè)segment消息真正寫進(jìn)當(dāng)前活躍segment的.log文件末尾。為了更好地查找消息每個(gè)segment還對(duì)應(yīng).index和.timeindex兩個(gè)索引文件。整體結(jié)構(gòu)可以看作一個(gè)“分區(qū)目錄 - segment文件”的樹(shù)形布局。這里有個(gè)關(guān)鍵點(diǎn)Kafka不是按topic物理隔離存儲(chǔ)數(shù)據(jù)而是以partition為單位。也就是說(shuō)一個(gè)topic的多個(gè)分區(qū)是散落在不同broker上的。這是Kafka水平擴(kuò)展的基礎(chǔ)——假設(shè)一個(gè)broker磁盤滿了你加機(jī)器、做分區(qū)遷移就能把壓力分?jǐn)偝鋈?。面試官可能?huì)追問(wèn)“為什么要有分區(qū)”。我習(xí)慣從兩個(gè)角度答從存儲(chǔ)角度看一個(gè)分區(qū)的數(shù)據(jù)文件如果無(wú)限增長(zhǎng)后續(xù)清理和查詢都是災(zāi)難segment切分機(jī)制恰好解決了這個(gè)問(wèn)題從計(jì)算角度看分區(qū)是并行度的基礎(chǔ)多個(gè)分區(qū)可以被多個(gè)消費(fèi)者線程同時(shí)消費(fèi)消費(fèi)者的擴(kuò)展性本質(zhì)上是分區(qū)的擴(kuò)展性。1.3 一個(gè)能背下來(lái)也能講出來(lái)的“Kafka是什么”標(biāo)準(zhǔn)回答我整理了一套自己面試時(shí)常用的回答口徑你可以參考也可以按自己的語(yǔ)言習(xí)慣改先說(shuō)定位Kafka是一個(gè)基于發(fā)布訂閱模式的分布式流處理平臺(tái)核心能力是消息系統(tǒng)、存儲(chǔ)系統(tǒng)和流處理。再說(shuō)高吞吐的底層支撐分區(qū)并行、順序?qū)懕P、頁(yè)緩存、零拷貝、批量發(fā)送和壓縮。接著說(shuō)可靠性持久化到磁盤、多副本機(jī)制、ISR列表、ack確認(rèn)、HW高水位。最后說(shuō)落地場(chǎng)景日志收集、埋點(diǎn)數(shù)據(jù)管道、異步削峰、事件驅(qū)動(dòng)架構(gòu)。這套口徑的好處是“總-分”結(jié)構(gòu)清楚面試官無(wú)論從哪個(gè)點(diǎn)深入追問(wèn)你都有一條線可以順下去。背它是不難的難的是每個(gè)節(jié)點(diǎn)都能展開(kāi)。后面幾節(jié)就是把這條線上最核心的幾個(gè)節(jié)點(diǎn)一個(gè)個(gè)拆開(kāi)講透。2. 百萬(wàn)級(jí)并發(fā)的底氣順序?qū)憽⒘憧截?、批量、?yè)緩存2.1 順序?qū)憺槭裁幢入S機(jī)寫快那么多面試題里最熱門的問(wèn)法就是“Kafka為什么能支撐百萬(wàn)并發(fā)”。你要真去答先想明白一個(gè)問(wèn)題Kafka的高吞吐第一功臣是什么答案是順序?qū)懘疟P。很多人以為Kafka是依賴內(nèi)存才能快起來(lái)的實(shí)際上它敢把數(shù)據(jù)全量落盤靠的就是順序IO。普通機(jī)械硬盤順序?qū)懙乃俣却蟾旁?00MB/s以上但隨機(jī)寫由于磁頭頻繁尋道速度可能掉到幾MB/s甚至更低。SSD雖然隨機(jī)寫比HDD快不少但和順序?qū)懴啾纫踩杂胁罹?。Kafka把每條消息追加到分區(qū)文件的末尾不修改任何歷史數(shù)據(jù)天然就是順序IO這就能讓磁盤吞吐逼近硬件上限。僅靠單分區(qū)順序?qū)戇€不夠每個(gè)topic有多個(gè)分區(qū)一個(gè)broker上多個(gè)分區(qū)的日志文件可以并行追加相當(dāng)于把一條磁盤隊(duì)列變成多條隊(duì)列交替寫入。底層是多分區(qū)的并行疊加整體吞吐自然就上去了。面試時(shí)有個(gè)點(diǎn)值得主動(dòng)補(bǔ)充順序?qū)懖⒉淮怼安宦浔P”Kafka默認(rèn)先把數(shù)據(jù)寫進(jìn)頁(yè)緩存再異步刷盤。這和“為保證可靠性每條都fsync”是兩種設(shè)計(jì)思路前者為了吞吐后者為了絕對(duì)安全。Kafka的取舍是用副本機(jī)制兜底而不是靠每一條都刷盤。2.2 零拷貝在消費(fèi)鏈路里省了什么零拷貝這道題90%的人只記住了“省拷貝”但你要能說(shuō)清“省了幾次、在哪省的”才算真正過(guò)關(guān)。先看傳統(tǒng)的文件傳輸路徑磁盤數(shù)據(jù)先讀入內(nèi)核空間的頁(yè)緩存再?gòu)膬?nèi)核拷貝到用戶態(tài)程序緩沖區(qū)程序處理后再拷到內(nèi)核Socket緩沖區(qū)最后通過(guò)網(wǎng)卡發(fā)出。這一趟下來(lái)至少4次拷貝、4次用戶態(tài)與內(nèi)核態(tài)切換。Kafka消費(fèi)消息時(shí)走的是sendfile系統(tǒng)調(diào)用底層對(duì)應(yīng)Java NIO里的FileChannel.transferTo()。數(shù)據(jù)路徑變?yōu)榇疟P - 頁(yè)緩存 - Socket緩沖區(qū) - 網(wǎng)卡中間省掉了用戶態(tài)那一次拷貝。所以Kafka的零拷貝準(zhǔn)確說(shuō)是“內(nèi)核態(tài)內(nèi)的DMA拷貝和CPU拷貝配合”比傳統(tǒng)的“內(nèi)核到用戶、用戶到內(nèi)核”至少少兩次拷貝。面試官如果追問(wèn)“為什么零拷貝能提升吞吐”你可以從兩個(gè)角度看一是CPU利用率顯著上升因?yàn)槭〉袅擞脩魬B(tài)和內(nèi)核態(tài)的反復(fù)切換二是內(nèi)存帶寬壓力變小消費(fèi)者拉取高頻大消息時(shí)差距更明顯。一個(gè)容易被忽略的細(xì)節(jié)是零拷貝要求數(shù)據(jù)在頁(yè)緩存里命中才能走通這條路徑。如果數(shù)據(jù)不在頁(yè)緩存而必須從磁盤先加載性能就會(huì)打折這也是Kafka強(qiáng)調(diào)給OS留足夠內(nèi)存做頁(yè)緩存的原因之一。2.3 批量與壓縮性能的倍增器順序?qū)懡鉀Q的是存儲(chǔ)吞吐網(wǎng)絡(luò)開(kāi)銷則要靠批量和壓縮來(lái)解決。生產(chǎn)者默認(rèn)并不是一條消息就發(fā)一次請(qǐng)求而是攢一批再發(fā)。batch.size控制每批消息的最大字節(jié)數(shù)默認(rèn)16KBlinger.ms控制等待時(shí)間默認(rèn)0。如果消息量不夠而一直等不到湊滿一塊linger.ms就是兜底保證消息不會(huì)無(wú)限積壓在發(fā)送端。為什么批量能提升吞吐本質(zhì)上是把多次網(wǎng)絡(luò)往返合并成一次服務(wù)端也只需要解析一次請(qǐng)求體。對(duì)Kafka這種海量小消息的場(chǎng)景網(wǎng)絡(luò)往返次數(shù)往往是瓶頸批量直接砍掉了大量RTT開(kāi)銷。壓縮就更直接了。Kafka支持gzip、snappy、lz4、zstd幾種壓縮算法壓縮發(fā)生在生產(chǎn)者端數(shù)據(jù)在整條鏈路里保持壓縮狀態(tài)消費(fèi)者端解壓。對(duì)于JSON文本這類可壓縮性很高的消息體壓縮率經(jīng)常能達(dá)到60%以上。當(dāng)網(wǎng)卡帶寬成為瓶頸時(shí)開(kāi)壓縮比加機(jī)器性價(jià)比高得多。面試時(shí)可以提一句自己的經(jīng)驗(yàn)如果消息體已經(jīng)很小比如幾字節(jié)的埋點(diǎn)開(kāi)壓縮反而會(huì)浪費(fèi)CPU因?yàn)閴嚎s頭開(kāi)銷可能比消息本身還大。壓縮不是無(wú)腦開(kāi)的要看數(shù)據(jù)特征。2.4 頁(yè)緩存才是Kafka真正的緩存Kafka沒(méi)有像很多中間件那樣用堆內(nèi)存做緩存層而是直接依賴操作系統(tǒng)的Page Cache。生產(chǎn)者寫入時(shí)先寫頁(yè)緩存由OS決定什么時(shí)候刷盤消費(fèi)者讀取時(shí)優(yōu)先讀頁(yè)緩存命中就直接返回完全不走磁盤。這個(gè)設(shè)計(jì)有它的好處第一進(jìn)程自己不用管理緩存淘汰策略交給OS更省心第二JVM堆內(nèi)存壓力小不容易因?yàn)榫彺鎸?dǎo)致GC問(wèn)題第三進(jìn)程重啟后頁(yè)緩存還在不會(huì)像進(jìn)程內(nèi)緩存一樣重啟即失。Kafka在“用內(nèi)存”這個(gè)點(diǎn)上選了一條偷懶但特別聰明的路線。這里其實(shí)藏著一個(gè)面試加分點(diǎn)Kafka節(jié)點(diǎn)的可用內(nèi)存往往不是給JVM堆用的而是留給頁(yè)緩存用的。很多人調(diào)優(yōu)時(shí)只盯著堆大小其實(shí)生產(chǎn)環(huán)境里Kafka的堆內(nèi)存一般不需要設(shè)置得太大主機(jī)的大部分內(nèi)存應(yīng)該留給頁(yè)緩存。如果你能說(shuō)出這句話面試官會(huì)覺(jué)得你是有實(shí)操經(jīng)驗(yàn)的。把幾個(gè)點(diǎn)串起來(lái)總結(jié)一下順序?qū)懡鉀Q了磁盤瓶頸零拷貝解決了數(shù)據(jù)發(fā)送瓶頸批量壓縮解決了網(wǎng)絡(luò)開(kāi)銷頁(yè)緩存解決了讀寫路徑上的內(nèi)存效率問(wèn)題。這四件事加在一起才是“Kafka為什么能支撐百萬(wàn)并發(fā)”的完整答案。3. 可靠性四件套ack、ISR、HW、LEO的連環(huán)考3.1 生產(chǎn)者的acks參數(shù)每個(gè)選項(xiàng)背后的取舍可靠性這一塊面試官特別喜歡從生產(chǎn)者acks參數(shù)切入因?yàn)樗此坪?jiǎn)單卻能帶出一連串概念。acks有三個(gè)取值取值行為風(fēng)險(xiǎn)適用場(chǎng)景0生產(chǎn)者發(fā)完即返回不等待確認(rèn)丟消息概率最大日志、監(jiān)控、允許丟棄的指標(biāo)1leader副本寫入成功即返回leader宕機(jī)時(shí)已寫消息可能丟失大部分默認(rèn)業(yè)務(wù)場(chǎng)景all等待ISR內(nèi)所有副本都寫入成功最安全但延遲更高交易、訂單、對(duì)賬等關(guān)鍵鏈路面試時(shí)只說(shuō)“all更安全”不夠你要能說(shuō)清楚為什么。關(guān)鍵在另一個(gè)參數(shù)min.insync.replicas。如果集群只有一個(gè)副本你就算設(shè)了acksallISR里也就它一個(gè)領(lǐng)導(dǎo)者一宕機(jī)數(shù)據(jù)照樣丟。所以生產(chǎn)環(huán)境至少要配3副本再把min.insync.replicas設(shè)成2含義是“至少寫進(jìn)兩個(gè)副本才算成功”。acksall配合min.insync.replicas2才是真正意義上的高可靠寫入。面試官可能會(huì)繼續(xù)追問(wèn)“acksall會(huì)不會(huì)影響性能”。答案是“有影響但沒(méi)那么嚴(yán)重”。副本間的同步走的是內(nèi)網(wǎng)延遲通常很小遠(yuǎn)小于生產(chǎn)端和broker之間的網(wǎng)絡(luò)往返。關(guān)鍵鏈路用all非關(guān)鍵鏈路用1這是比較常見(jiàn)的生產(chǎn)策略。3.2 ISR機(jī)制判斷一個(gè)副本是否“跟得上”ISR全稱是in-sync replicas指的是和leader保持同步的副本集合。Kafka判斷一個(gè)follower是否跟得上靠的不是精確比較offset而是看它能否在replica.lag.time.max.ms這個(gè)時(shí)間窗口內(nèi)持續(xù)拉取消息默認(rèn)是30秒。超過(guò)這個(gè)時(shí)間沒(méi)拉取就把這個(gè)follower移出ISR。為什么用時(shí)間而不是用offset差距來(lái)判斷這是Kafka的一個(gè)設(shè)計(jì)細(xì)節(jié)。早期版本用“落后多少條”來(lái)判定結(jié)果在消息流量峰值時(shí)落后的follower很容易被誤踢出ISR導(dǎo)致副本頻繁進(jìn)出ISR穩(wěn)定性很差。后來(lái)改成時(shí)間窗口容忍短時(shí)間內(nèi)的領(lǐng)先更平滑。ISR在面試中經(jīng)常和選舉一起考。Kafka的leader選舉只允許ISR里的副本參與目的是保證新leader不會(huì)丟失已經(jīng)提交過(guò)的消息。你可以在回答里點(diǎn)一句“ISR就是Kafka在一致性和可用性之間做的動(dòng)態(tài)平衡”這會(huì)顯得你的認(rèn)知更系統(tǒng)。3.3 HW和LEO定義了消費(fèi)者能看見(jiàn)什么HWHigh Watermark和LEOLog End Offset是Kafka面試?yán)飪蓚€(gè)繞不開(kāi)的縮寫。LEO是每個(gè)副本日志的最后一條offset位置。HW是ISR中所有副本都同步到的最新位置也叫高水位。消費(fèi)者只能讀到HW之前的消息HW之后的數(shù)據(jù)即使leader上已經(jīng)有了也不能算“已提交”。這個(gè)機(jī)制解決的核心問(wèn)題是萬(wàn)一leader掛掉換了一個(gè)新的leader消費(fèi)者之前讀到的消息仍然能對(duì)齊。如果消費(fèi)者提前讀了leader上還沒(méi)同步到follower的數(shù)據(jù)新leader切換后這些數(shù)據(jù)可能就沒(méi)了消費(fèi)者就會(huì)看到消息“回滾”。HW就是一道保險(xiǎn)。面試時(shí)可以打一個(gè)比方HW就像多人協(xié)作文檔里的“已同步版本號(hào)”大家都在這個(gè)版本號(hào)上達(dá)成共識(shí)后其他人才能引用這份內(nèi)容。這個(gè)類比面試官通常能秒懂。想再深入一點(diǎn)的話可以提一下Kafka 0.11之后對(duì)HW更新機(jī)制的改進(jìn)以及“Leader Epoch”這個(gè)概念。早期版本HW更新依賴follower的第二次fetch請(qǐng)求極端情況下會(huì)出現(xiàn)“數(shù)據(jù)丟失但offset不回退”的腦裂問(wèn)題引入Leader Epoch后徹底解決了。面試中能講到這個(gè)層面差不多就是Kafka可靠性的進(jìn)階水平了。3.4 Leader選舉不是所有副本都能當(dāng)新leader當(dāng)leader宕機(jī)Kafka會(huì)從ISR里挑一個(gè)副本頂上。這里的核心參數(shù)是unclean.leader.election.enable默認(rèn)false意思是“不允許ISR之外的副本參與leader選舉”。如果把該參數(shù)設(shè)為true意味著哪怕一個(gè)副本落后得非常遠(yuǎn)它也可能成為新leader這就會(huì)導(dǎo)致大量已提交消息丟失。什么時(shí)候會(huì)有人舍得開(kāi)一般是可用性優(yōu)先于一致性的極端場(chǎng)景——比如整個(gè)ISR全部宕機(jī)服務(wù)已經(jīng)不可用你寧愿快速恢復(fù)服務(wù)、接受丟一部分?jǐn)?shù)據(jù)也不愿意一直等ISR里的副本恢復(fù)。但絕大多數(shù)線上場(chǎng)景建議保持false。面試官如果問(wèn)“Kafka是CP還是AP”你就可以用這個(gè)參數(shù)來(lái)回應(yīng)默認(rèn)情況下Kafka在極端故障時(shí)會(huì)犧牲可用性、保證數(shù)據(jù)不丟如果改了配置它又偏向可用性。Kafka本身不是簡(jiǎn)單的CP或AP它是一套可配置的“最終一致多副本”模型。這一節(jié)如果能把a(bǔ)cks、ISR、HW、LEO四個(gè)概念串成一條線講清楚“生產(chǎn)者寫入 - 副本同步 - 消費(fèi)者可見(jiàn) - leader切換”的全過(guò)程那面試?yán)锟煽啃韵嚓P(guān)的擴(kuò)展題基本都能接住。4. 不丟不重不亂消費(fèi)者端三個(gè)靈魂拷問(wèn)4.1 消息不丟失要分三端看消費(fèi)端最容易翻車“Kafka消息會(huì)不會(huì)丟”是一道必考題。但很多人答的時(shí)候只談生產(chǎn)端和broker忘了消費(fèi)者這一側(cè)才是最容易丟消息的地方。完整答法一定要分三段生產(chǎn)者端開(kāi)啟acksall配合retries重試、開(kāi)啟冪等enable.idempotencetrue。冪等可以解決生產(chǎn)者重試導(dǎo)致的重復(fù)消息但它只保證單分區(qū)內(nèi)不重不保證跨分區(qū)事務(wù)。Broker端設(shè)置副本數(shù)大于等于2min.insync.replicas設(shè)置為2unclean.leader.election.enable保持false。這些配置配合起來(lái)broker層面基本能扛住單節(jié)點(diǎn)故障。消費(fèi)者端核心是“先處理業(yè)務(wù)邏輯再手動(dòng)提交offset”。如果你用自動(dòng)提交enable.auto.committrue消費(fèi)者拉取消息后立即提交offset但業(yè)務(wù)沒(méi)處理完進(jìn)程就掛了重啟后offset已經(jīng)提交那批消息就再也讀不到了。面試時(shí)可以直接給一個(gè)踩坑案例某個(gè)消費(fèi)任務(wù)在拉消息后調(diào)外部接口外部接口超時(shí)導(dǎo)致處理時(shí)間很長(zhǎng)自動(dòng)提交的offset已經(jīng)到了但消息實(shí)際沒(méi)處理成功。后來(lái)改成手動(dòng)提交等業(yè)務(wù)邏輯執(zhí)行完再提交offset才把這個(gè)問(wèn)題解決。這里有一個(gè)概念要澄清手動(dòng)提交offset后如果業(yè)務(wù)邏輯本身有bug導(dǎo)致消息處理失敗還是會(huì)“丟”——因?yàn)槟銢](méi)重試就提交了。所以“消費(fèi)者不丟消息”的正確姿勢(shì)是業(yè)務(wù)邏輯失敗要主動(dòng)重試或者進(jìn)死信隊(duì)列只有確認(rèn)處理成功才提交offset。這才是工程上的完整閉環(huán)。4.2 重復(fù)消費(fèi)是“必然”冪等才是解法Kafka的默認(rèn)語(yǔ)義是at-least-once也就是至少一次。這意味著消費(fèi)者可能收到重復(fù)消息這是由設(shè)計(jì)決定的不是bug。重復(fù)消費(fèi)的三個(gè)常見(jiàn)來(lái)源生產(chǎn)者重試發(fā)送網(wǎng)絡(luò)抖動(dòng)導(dǎo)致生產(chǎn)者重發(fā)同一批消息broker收到重復(fù)數(shù)據(jù)。消費(fèi)者處理成功但沒(méi)提交offset就宕機(jī)恢復(fù)后會(huì)從舊offset重新消費(fèi)導(dǎo)致重復(fù)。Rebalance觸發(fā)分區(qū)重新分配后新的消費(fèi)者可能重新拉取之前已處理的消息。既然重復(fù)無(wú)法從根源上杜絕那解法就在業(yè)務(wù)側(cè)做冪等。面試答這里要舉幾個(gè)具體方案利用數(shù)據(jù)庫(kù)唯一鍵訂單號(hào)作為唯一索引重復(fù)插入直接報(bào)錯(cuò)忽略。利用Redis去重用SETNX設(shè)置一個(gè)全局唯一ID處理前先判斷是否已處理。狀態(tài)機(jī)校驗(yàn)比如支付回調(diào)場(chǎng)景判斷訂單狀態(tài)是否已經(jīng)“已支付”是則跳過(guò)。能答到這里說(shuō)明你有生產(chǎn)意識(shí)。面試官要是再深挖可能會(huì)問(wèn)“Kafka事務(wù)能不能實(shí)現(xiàn)精確一次”。這時(shí)候可以回答Kafka的Transactions API能實(shí)現(xiàn)跨分區(qū)精確一次但使用門檻較高而且對(duì)吞吐有影響。大多數(shù)業(yè)務(wù)用“at-least-once 冪等”就夠了沒(méi)必要為了精確一次把架構(gòu)復(fù)雜度拉高。4.3 順序性為什么局部有序是常態(tài)全局有序是奢望順序性問(wèn)題在面試?yán)飵缀跏潜爻龅亩医?jīng)常以“怎么保證消息順序消費(fèi)”來(lái)問(wèn)。先講底層同一個(gè)分區(qū)內(nèi)消息按照追加順序存儲(chǔ)消費(fèi)者默認(rèn)也是按順序拉取所以單分區(qū)是有序的。但一個(gè)topic有多個(gè)分區(qū)不同分區(qū)之間沒(méi)有全局順序。不同key的消息進(jìn)不同分區(qū)自然也就沒(méi)有順序保障。所以保證順序性的思路就是“讓需要有序的消息進(jìn)同一個(gè)分區(qū)”按業(yè)務(wù)key進(jìn)行分區(qū)比如同一個(gè)訂單號(hào)的消息全發(fā)到同一個(gè)分區(qū)。如果業(yè)務(wù)對(duì)全局順序有強(qiáng)需求那就把分區(qū)數(shù)設(shè)為1但吞吐會(huì)嚴(yán)重受限。消費(fèi)端也要配合即使同一分區(qū)的消息如果消費(fèi)者用多個(gè)線程并行處理順序同樣會(huì)被打亂。多線程消費(fèi)時(shí)要么按key做內(nèi)存隊(duì)列分桶每個(gè)key對(duì)應(yīng)一個(gè)單線程worker要么干脆串行化。面試官經(jīng)常在此處設(shè)置陷阱“我用單分區(qū)又起了多個(gè)消費(fèi)線程為什么順序還是亂的”這正是上面說(shuō)的原因——broker里的消息有序但你的并發(fā)處理把順序弄沒(méi)了。分桶到內(nèi)存隊(duì)列是多數(shù)流處理框架的解法比如Flink里按key分組后就是并發(fā)處理但保證每個(gè)key內(nèi)部有序。再往深走一點(diǎn)你還可以提“順序性和性能天生沖突”。保序必然犧牲并發(fā)設(shè)計(jì)系統(tǒng)時(shí)要先搞清楚業(yè)務(wù)到底需不需要全局有序。大多數(shù)場(chǎng)景需要的只是“同一個(gè)用戶的動(dòng)作有序”這種級(jí)別按key分區(qū)就夠用了。5. 消費(fèi)組和Rebalance擴(kuò)展性的另一面5.1 消費(fèi)組Kafka能橫向擴(kuò)展消費(fèi)者的核心設(shè)計(jì)Kafka的消費(fèi)者是以“消費(fèi)組”為單位組織起來(lái)的。同一個(gè)組里的消費(fèi)者共同消費(fèi)一組topic一條消息只能被組內(nèi)的一個(gè)消費(fèi)者處理。不同消費(fèi)組之間互不影響各自維護(hù)自己的消費(fèi)進(jìn)度所以同一份數(shù)據(jù)可以被不同業(yè)務(wù)方消費(fèi)多次。這個(gè)設(shè)計(jì)解決了什么問(wèn)題舉個(gè)例子一個(gè)訂單系統(tǒng)產(chǎn)生消息訂單服務(wù)消費(fèi)它做庫(kù)存扣減風(fēng)控服務(wù)也消費(fèi)它做風(fēng)險(xiǎn)識(shí)別。這兩個(gè)業(yè)務(wù)不希望互相干擾就可以各自建一個(gè)消費(fèi)組。批量和獨(dú)立消費(fèi)互不干擾在RabbitMQ那套模型里要麻煩得多。面試還常問(wèn)“消費(fèi)者數(shù)量和分區(qū)數(shù)的關(guān)系”。答案是消費(fèi)組內(nèi)消費(fèi)者數(shù)量超過(guò)分區(qū)數(shù)時(shí)超出的消費(fèi)者會(huì)空閑。比如6個(gè)分區(qū)、10個(gè)消費(fèi)者只有6個(gè)能分到分區(qū)其余4個(gè)什么都不干。所以要提高消費(fèi)吞吐先看分區(qū)數(shù)夠不夠只加消費(fèi)者不加分區(qū)是沒(méi)用的。5.2 Rebalance的觸發(fā)機(jī)制為什么它常被詬病Rebalance可以說(shuō)是一把雙刃劍。它保證了消費(fèi)組能自動(dòng)感知成員變化和分區(qū)變化但也是線上故障的常見(jiàn)源頭。觸發(fā)Rebalance的幾種情況消費(fèi)者加入或退出消費(fèi)組。訂閱的topic新增或刪除了分區(qū)。消費(fèi)者心跳超時(shí)被協(xié)調(diào)者判定下線。訂閱關(guān)系發(fā)生變化比如正則訂閱的主題變了。Rebalance的流程涉及一個(gè)關(guān)鍵角色GroupCoordinator也就是協(xié)調(diào)者。所有消費(fèi)者啟動(dòng)后向協(xié)調(diào)者注冊(cè)組內(nèi)推選出一個(gè)消費(fèi)者作為L(zhǎng)eader由它根據(jù)分配策略生成分區(qū)分配方案再由協(xié)調(diào)者把方案廣播給全組。這個(gè)過(guò)程里整個(gè)消費(fèi)組會(huì)停止消費(fèi)看起來(lái)就是“消費(fèi)暫停、lag飆高”。面試官很可能追問(wèn)“怎么減少Rebalance對(duì)業(yè)務(wù)的影響”。你可以給三個(gè)方向一是把session.timeout.ms和heartbeat.interval.ms配置合理避免因?yàn)樘幚砺徽`判下線二是調(diào)大max.poll.interval.ms給消費(fèi)者更長(zhǎng)的處理窗口三是盡量把處理邏輯異步化讓poll線程保持活躍。真正線上出現(xiàn)“頻繁Rebalance”時(shí)十有八九是單條消息處理耗時(shí)超過(guò)了心跳閾值導(dǎo)致消費(fèi)者被踢出組。5.3 三種分區(qū)分配策略Range、RoundRobin、Sticky在Rebalance過(guò)程中具體怎么分配分區(qū)是由策略決定的這也是面試中常見(jiàn)的細(xì)節(jié)題。RangeAssignor按topic逐一分區(qū)。假設(shè)一個(gè)topic有10個(gè)分區(qū)、3個(gè)消費(fèi)者消費(fèi)者1分到0-3消費(fèi)者2分到4-6消費(fèi)者3分到7-9。如果多個(gè)topic都很大分配可能傾斜消費(fèi)者1總拿更多分區(qū)。RoundRobinAssignor把所有topic的分區(qū)拉平成一個(gè)環(huán)形隊(duì)列逐個(gè)輪詢分配給消費(fèi)者。多topic場(chǎng)景下更均衡。StickyAssignor在RoundRobin基礎(chǔ)上增加“粘性”盡量保留上一個(gè)分配周期中該消費(fèi)者已有的分區(qū)。這樣可以避免Rebalance時(shí)大范圍分區(qū)移動(dòng)降低不必要的消費(fèi)中斷和重復(fù)。Kafka 2.4之后默認(rèn)用的是StickyAssignor。它最核心的優(yōu)勢(shì)是“少移動(dòng)”尤其在消費(fèi)組成員頻繁變化的場(chǎng)景下能顯著減少遷移帶來(lái)的重復(fù)消費(fèi)。面試作答時(shí)可以補(bǔ)一句自己的判斷如果只有單個(gè)topicRange和RoundRobin差距不大多topic時(shí)RoundRobin更均衡Sticky更穩(wěn)定。實(shí)際團(tuán)隊(duì)都用Sticky因?yàn)樗染庥帜芸剡w移成本。6. 實(shí)戰(zhàn)追問(wèn)積壓、延遲、集群異常怎么答6.1 消息積壓的定位思路先看生產(chǎn)還是消費(fèi)線上消息積壓是Kafka最常出現(xiàn)的故障類型面試官問(wèn)“積壓了幾小時(shí)怎么排查”其實(shí)是在考察你有沒(méi)有一套可復(fù)用的排障方法。第一步先看有沒(méi)有l(wèi)ag。用kafka-consumer-groups.sh --describe --group 消費(fèi)組名可以直觀看到每個(gè)分區(qū)的current-offset和log-end-offset兩者差距就是積壓量。如果lag持續(xù)增長(zhǎng)優(yōu)先懷疑消費(fèi)端如果lag沒(méi)有增長(zhǎng)但消費(fèi)延遲很大再懷疑生產(chǎn)端寫入慢。第二步看消費(fèi)端是否出現(xiàn)了明顯瓶頸。常見(jiàn)的原因有單條消息處理太慢比如回調(diào)外部接口、慢SQL、加鎖競(jìng)爭(zhēng)。消費(fèi)者并行度不夠分區(qū)數(shù)小于消費(fèi)者數(shù)量部分消費(fèi)者沒(méi)活干。消費(fèi)者代碼拋異常導(dǎo)致消息反復(fù)重試消費(fèi)進(jìn)度卡住。下游存儲(chǔ)出現(xiàn)性能問(wèn)題比如數(shù)據(jù)庫(kù)連接池被打滿。第三步才是動(dòng)手解決。應(yīng)急方案不外乎四類加消費(fèi)者實(shí)例并保證消費(fèi)者數(shù)量不超過(guò)分區(qū)數(shù)臨時(shí)把積壓消息轉(zhuǎn)發(fā)到新的topic用多組消費(fèi)者并行分?jǐn)偤笤賹懟貎?yōu)化單條消息的處理邏輯批量寫入、異步化如果業(yè)務(wù)允許也可以直接跳過(guò)積壓只消費(fèi)最新消息。面試?yán)锬馨堰@些說(shuō)得有條理就算通過(guò)了。不用怕方案不完美面試官想看的是你有沒(méi)有排查鏈路意識(shí)而不是有沒(méi)有一個(gè)“一招鮮”的答案。6.2 消息延遲高的排查順序鏈路三段的檢索法“消息延遲高”和“消息積壓”經(jīng)?;煸谝黄饐?wèn)但它們不完全是一回事。積壓是存量問(wèn)題延遲是實(shí)時(shí)性問(wèn)題?;卮鹧舆t高的排查我更習(xí)慣按生產(chǎn)端、broker、消費(fèi)端三段來(lái)檢索生產(chǎn)端延遲看生產(chǎn)者send接口的返回耗時(shí)檢查網(wǎng)絡(luò)帶寬、bootstrap.servers配置、max.block.ms是否設(shè)置過(guò)小導(dǎo)致發(fā)送阻塞。Broker端延遲看磁盤IO是否飽和如果log.dirs所在盤IO使用率長(zhǎng)期在90%以上寫入就會(huì)變慢頁(yè)緩存壓力大時(shí)也可能拖慢leader副本的寫入。消費(fèi)端延遲看單次poll返回后到業(yè)務(wù)處理完成的耗時(shí)以及是否有等待鎖、外部接口慢等情況。網(wǎng)絡(luò)鏈路內(nèi)網(wǎng)跨可用區(qū)時(shí)網(wǎng)絡(luò)抖動(dòng)可能導(dǎo)致fetch請(qǐng)求變慢延遲升高。有一個(gè)容易忽略的坑如果消費(fèi)者拉取速度快但處理速度慢lag會(huì)持續(xù)上漲如果處理速度快但拉取請(qǐng)求頻率被拉長(zhǎng)延遲也會(huì)升高但lag不一定大。所以“消息延遲高”一定要先查是“拉得慢”還是“處理得慢”這兩條路的排查方向完全不一樣。補(bǔ)充一個(gè)實(shí)用命令Kafka自帶的kafka-consumer-groups.sh可以看到按分區(qū)細(xì)分的lag再結(jié)合消費(fèi)組日志里的poll耗時(shí)統(tǒng)計(jì)基本能定位到具體是哪個(gè)分區(qū)、哪段邏輯出了問(wèn)題。6.3 Kafka部署與集群配置聊起來(lái)像有經(jīng)驗(yàn)的人面試一般不直接考“怎么敲安裝命令”但會(huì)通過(guò)“你們生產(chǎn)環(huán)境怎么部署的”“集群怎么規(guī)劃的”這類問(wèn)題來(lái)驗(yàn)證你有沒(méi)有真實(shí)落地經(jīng)驗(yàn)。單機(jī)版部署很簡(jiǎn)單下載Kafka二進(jìn)制包改config/server.properties里broker.id、log.dirs、listeners這幾個(gè)核心配置啟動(dòng)ZooKeeper和Kafka就行。新版Kafka支持KRaft模式可以不依賴ZooKeeper直接跑適合新項(xiàng)目。用Docker部署則是面試和本地實(shí)驗(yàn)的高頻場(chǎng)景。用bitnami/kafka鏡像時(shí)關(guān)鍵是配置環(huán)境變量KAFKA_CFG_BROKER_ID、KAFKA_CFG_LISTENERS、KAFKA_CFG_ADVERTISED_LISTENERS這些。其中advertised.listeners是個(gè)大坑容器內(nèi)用PLAINTEXT://localhost:9092外部客戶端訪問(wèn)要用宿主機(jī)IP或者映射后的地址。很多人docker跑通了但外部連不上基本都是這個(gè)配置沒(méi)配對(duì)。集群部署要說(shuō)的點(diǎn)更多broker.id必須全局唯一。副本數(shù)不要超過(guò)broker數(shù)否則副本會(huì)分配失敗。多磁盤環(huán)境log.dirs可以配置成多個(gè)目錄Kafka會(huì)自動(dòng)把分區(qū)分散到不同磁盤。內(nèi)外網(wǎng)分離場(chǎng)景要區(qū)分listeners和advertised.listeners否則客戶端拿到錯(cuò)誤的broker地址。版本升級(jí)不能跳版本Kafka消息格式和磁盤格式有兼容性要求升級(jí)前建議先查官方遷移文檔。這些屬于“沒(méi)做過(guò)真不知道”的經(jīng)驗(yàn)面試?yán)镏鲃?dòng)講出來(lái)比背任何八股文都有說(shuō)服力。6.4 可視化工具與常用命令給回答加分的好東西面試聊到“排查問(wèn)題”時(shí)順帶提一下可視化工具有意外收獲。工具本身不復(fù)雜關(guān)鍵是能體現(xiàn)你的實(shí)際運(yùn)維經(jīng)驗(yàn)。Offset Explorer原Kafka Tool桌面客戶端可以瀏覽集群、topic、分區(qū)和消息內(nèi)容適合本地調(diào)試。KafdropWeb界面輕量能看topic和消息適合快速驗(yàn)證。Kafka UI功能更全的Web工具支持查看消費(fèi)組lag、管理topic。命令行的幾個(gè)常備命令也值得熟記kafka-topics.sh --bootstrap-server ... --list / --describekafka-console-producer.sh 和 kafka-console-consumer.sh 用于驗(yàn)證生產(chǎn)和消費(fèi)kafka-consumer-groups.sh --describe --group ... 查看lagkafka-configs.sh --describe --entity-type topics --entity-name ... 查看topic配置面試時(shí)你可以說(shuō)排查積壓我用kafka-consumer-groups.sh看lag快速驗(yàn)證消息格式用kafka-console-consumer.sh日??醇籂顟B(tài)用Kafka UI。這句話一出去面試官就知道你不只是紙上談兵。7. 最后再給一套能直接講的“口語(yǔ)化答案”與經(jīng)驗(yàn)收尾7.1 回答面試題時(shí)的節(jié)奏結(jié)論優(yōu)先分層展開(kāi)很多人面試Kafka時(shí)明明知道答案卻說(shuō)不好問(wèn)題大多出在“沒(méi)有取舍、沒(méi)有節(jié)奏”。一口氣把知道的全倒出來(lái)面試官反而覺(jué)得你沒(méi)重點(diǎn)。我建議的節(jié)奏是“結(jié)論優(yōu)先 分層展開(kāi)”。比如被問(wèn)到“Kafka為什么快”你可以直接說(shuō)“Kafka的高吞吐主要靠四個(gè)機(jī)制分別是順序?qū)?、零拷貝、批量壓縮和頁(yè)緩存?!比缓笾饌€(gè)機(jī)制一句話解釋如果面試官感興趣會(huì)自己對(duì)某個(gè)點(diǎn)繼續(xù)追問(wèn)。這樣既顯得有框架又給面試官留了互動(dòng)空間。面試本質(zhì)上是對(duì)話不是你一個(gè)人的背誦比賽。你再熟的知識(shí)點(diǎn)也要學(xué)會(huì)“拋出來(lái)等追問(wèn)”而不是一口氣講完然后冷場(chǎng)。7.2 一個(gè)能串起所有考點(diǎn)的完整場(chǎng)景日志數(shù)據(jù)管道如果面試官最后問(wèn)“有沒(méi)有完整的項(xiàng)目案例”或者讓你“設(shè)計(jì)一個(gè)基于Kafka的架構(gòu)”我給你一個(gè)很快能講清楚的場(chǎng)景應(yīng)用日志數(shù)據(jù)管道。具體是多個(gè)微服務(wù)應(yīng)用把運(yùn)行日志和用戶行為埋點(diǎn)發(fā)送到Kafka下游有幾個(gè)獨(dú)立的消費(fèi)組一個(gè)負(fù)責(zé)實(shí)時(shí)日志監(jiān)控告警一個(gè)負(fù)責(zé)把數(shù)據(jù)寫入數(shù)據(jù)倉(cāng)庫(kù)做離線分析還有一個(gè)對(duì)接Flink做實(shí)時(shí)大屏統(tǒng)計(jì)。這個(gè)場(chǎng)景能串起Kafka幾乎所有核心考點(diǎn)topic設(shè)計(jì)按業(yè)務(wù)域分topic比如app-log、user-event。分區(qū)與key日志按應(yīng)用名或用戶ID分區(qū)保證同一應(yīng)用或同一用戶的數(shù)據(jù)有序。生產(chǎn)端可靠性關(guān)鍵鏈路acksall普通日志acks1。消費(fèi)者組隔離多個(gè)消費(fèi)組各消費(fèi)各的互不影響。冪等消費(fèi)數(shù)倉(cāng)寫入用唯一鍵做冪等避免重復(fù)數(shù)據(jù)。積壓排查通過(guò)lag監(jiān)控及時(shí)發(fā)現(xiàn)消費(fèi)瓶頸并擴(kuò)容。能在面試現(xiàn)場(chǎng)拿出這樣一個(gè)完整場(chǎng)景和只能零散背題的人相比完全是兩個(gè)層次。7.3 個(gè)人實(shí)操中的幾點(diǎn)體會(huì)這節(jié)算是我自己踩坑之后的經(jīng)驗(yàn)總結(jié)分享幾個(gè)對(duì)面試和實(shí)戰(zhàn)都有用的體會(huì)一是不要一開(kāi)始就追完美配置。先用默認(rèn)配置把鏈路跑通觀察生產(chǎn)速率、消費(fèi)lag、磁盤IO這些指標(biāo)再根據(jù)實(shí)測(cè)結(jié)果去調(diào)batch.size、linger.ms、副本數(shù)這些參數(shù)。沒(méi)有數(shù)據(jù)支撐的調(diào)優(yōu)都是拍腦袋。二是lag監(jiān)控一定要做。對(duì)Kafka來(lái)說(shuō)消費(fèi)組的lag就是消息系統(tǒng)健康的晴雨表很多故障在lag持續(xù)增長(zhǎng)時(shí)就能被提前發(fā)現(xiàn)。哪怕不上監(jiān)控平臺(tái)定時(shí)腳本跑一遍kafka-consumer-groups.sh也強(qiáng)過(guò)完全不看。三是八股文里的原理和線上問(wèn)題一旦對(duì)照上記憶會(huì)非常牢。比如你遇到過(guò)消費(fèi)者處理慢導(dǎo)致Rebalance再回去看session.timeout.ms和max.poll.interval.ms這幾個(gè)參數(shù)就再也不會(huì)忘記它們的作用了。面試準(zhǔn)備Kafka能背的東西很多但真正值錢的是“能講清楚為什么”的能力。希望這份拆解能幫你把散落的知識(shí)點(diǎn)串成體系。第22卷見(jiàn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色八戒操婷婷| 天天夜天天色天天| www.开心激情| 色婷婷啪啪啪啪啪啪| 日本色久| 精品色色网| 97人人妻人人艹| 五月性色| 天天干天天干天天干天天干天天干天天| 天堂久久丁香| 激情五月天综合| 色婷婷五月天激情久久| 99碰视频| 丁香五月婷婷av影院| 色噜噜狠狠色综合日日| 色青青五月| 色都都狠狠色都都色综合色| 熟妇人妻中文字幕无码老熟妇| 人妻精品久久久久久久| 天天噜天天插| 激情综合色图| 婷婷亚洲在线| 777精品久无码人妻蜜桃| 日本激情五月天‘| 激情亚洲色图片丁香综合| 91美女被操| 久久精品无码一区| 日本综合久久| 在线另类视频| 五月丁香五月婷婷| 夜夜大香蕉婷婷丁香| 婷婷五月激情丁香激情| 亚洲五月六丁香激情| 免费婷婷| 99九九视频精彩在线| 五月天婷婷综合| 深爱五月婷| 久久久婷丁香五月| 日本人妻丁香婷婷久久寝取熟女五月| 18av天堂| 色综合色欲综合天天免费| 色色色99| 大香蕉久久久| 九九综舍久久| 婷婷色九月| 三级黄色大片视频| 开心五月色婷婷综合开心网| 久久婷婷亚洲| 色婷婷AV在线| 久久五月激情综合| 丁香五月成人社区| 成人精品一区日本无码网| 色色色综合| 99er视频在线| 偷拍五月丁香| 久久婷婷视频| 亚洲精品99| 久久天天| 日本婷婷五月天| 激情小说五月天中文字幕| 久久久久网站| 久久九九怡红院| 六月丁香激情综合网| www狠狠com| Www.se.久久| 国产精品人成A片一区二区| 高清无码入口| 99这里都是精品| 狠狠干综合| 99爱爱| 色综合久久久久| 丁香婷婷网| 日韩成人av在线| 色999;丁香五月| www.狠狠| 丁香六月婷| 亚洲婷婷五月天| 色婷婷亚洲婷婷| 亚洲精品午夜国产va久久成人| 久久久婷婷五月亚洲97号色| 99热9999| 色婷婷五月综合| 五月婷婷丁香| www狠狠爱com| 五月丁香六月综合基地| 国产成人网| 婷婷色情网| 99综合免费视频| 激情综合五月色在线| 婷婷基地五月色| w婷婷五月婷婷w| WWW五月| 婷婷免费视频| 黄网在线播放| 人人干人人操外国| 九九久久精品| 色日本网| 91玖玖| 99热碰碰热| 色综合99| 久久久jd| 天天日天天日天天搞| 五月婷婷六月丁香综合在线| 99热在线观看| 五月婷婷亚洲天堂97色婷婷| 婷婷丁香五月麻豆| 丁香婷婷五月基地| 色五月激情五月开心五月| 男人操女人高潮91视频| 九九AV| 六月综和久久| www.色五月.com| 少妇大叫太大太粗太爽了A片| 涩丁香| 黄色成人AV在线| 99综合一区| 五月天婷婷影院影院| 色五月欧美| 婷婷综合网站| 婷婷五月激情综合啪啪| 精品久久久久久久久久久久人妻| 婷婷情色五月天| 欧美成人猛片AAAAAAA| 天天久久九九| 色婷丨日丨天丨综合久久| 婷婷俺去也| 色色色综合网| 色婷婷导航| 操丝袜视频影院导航| 成人婷99最新| 五月天久久激情| 色五月婷婷av| 精品草原久久视频| av高清无码| 99久在线观看| 五月天社区| 最近中文字幕2019视频1| 亚洲另类av| 亚洲视频在线观看99| 五月婷婷说| 色婷婷69| 色婷婷影| 六月丁香色色| AV成人在线播放| 日日操,天天操| 久久机热/这里只有精品| 一二区成人电影| 丁香五月婷婷综合网| 日韩人妻在线观看| 碰碰人人漕| 这里只精品热在线18| 亚洲乱码日产精品BD| 国产激情av| 色播激情五月天| 中文字幕在线免费观看视频| 精品无码av丁香五月激情| 五月天六月婷婷电影| 六月丁香网| 91人人网| 日韩成人电影AV| 精品久久婷婷| 99激情在线| 成人视频在线免费播放| 深爱激清网| 1024操逼| 五月丁香婷婷激情在线| 久久9热好| 综合婷婷六月| 天天爱天天操| 五月天婷婷色小说| 日韩野外 无套| 婷婷狠狠五月综合| 91热久88| 色婷婷五月天在线观看| 综合大香蕉| 91九色中文字幕女在线观看| 97操碰| 97操操操| 另类专区在线观看| 中文av网站| 亚洲小视频免费播放| 五月天激情婷婷| 久久九⑨| 色呦呦美女| 色五月偷偷| 婷婷色操| 亚洲婷婷91丁香| 99干日本| 狠狠做六月爱婷婷综合aⅴ| 天天久久狠狠色综合| 91人人澡人人爽人人看| 激情丁香六月| 狠狠色综合网| 操人91| 再綫Av免费視品| 五月丁香综合网| 婷婷六月爽| 亚洲亚洲人成综合网络| 激情小说视频图片| 色五月综合网| 任我干视频在线观看| 天天色天天爱天天舔| 九九热视频这里只有精品| 欧美狠狠一在草| 日日夜夜狠狠| 五月丁香花婷婷玉莉AV| 国产精品色婷婷99久久精品| 99精品视频在线观看| 一级A片天天操夜夜操| 九九Y精品热播| 久久久精品AV| 亚洲VA在线| 91热久| 色噜噜五月天| 天天做综合| 99re8热精品免费视频| 色色射| 視频福利乱色| 天天色播| 婷婷六月花| 婷婷涩涩五月天| 久久婷五月天| www热久久yy9| 丁香五月六月欧美| 欧美色色色色色色| 欧美成人AAA片一区国产精品| cc精品国产性传播| 五月丁香色婷婷伊人| 精品9l九九九九九77777| www.91在线观看| 啪啪干伊人婷婷| 色色九九五月天 | 日本色道视频网站| 性色99| 黄网免费观看| 偷偷操九九| 六月丁香五月天| 99热超碰在线| 97五月天婷婷综合激情网| 色久综合| 成人AV免费观看| 日日射天天射| 九九视频这里只有精品在线播放 | 婷婷色香六月综合激情| 色站9/| 激情五月综合亚洲另类| 久久人人九九| 婷婷色五月在线视频| 久热这里只有精品3| 亚洲无码猫咪| 精品一二三区久久AAA片| 少妇性按摩无码中文A片| 亚洲色婷婷色| 天堂久久精品| 亚洲网站999| 丁香五月天大香蕉啪啪| 亚洲亚洲人成综合网络| 天天爱天天操| 色中色综合| 亚洲中文乱字字幕在线永久| 俺也高清无码高清视频| 99在线国| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 婷婷不卡基地| 久久婷婷五月| 丁香五月偷拍| 思思久久精品| 色狠狠婷婷| 久久婷婷五月草视频| 色999五月色| 9色在线视频精品观看| 丁香五月花| 任你草| 亚洲成人无码网站| 丁香五月开心亚洲| 婷婷六月亚洲综合| 欧美日韩aaa| 一区二区三区四区无码| 五月天影院婷婷在线观看| 思思99热这里只有精品| 国在线激情网| 99日逼视频| 色九九九综合| 99人人看| 99热高清在线| 色偷偷色婷婷| 色婷婷久久综合久色综| 狠狠综合久久| 久久色在线视频| 丁香六月婷婷综合| 婷婷五月丁香基地在线视频官网| 激情婷婷| 天天操夜夜啊| 丁香伊人激情| www.亭亭五月天| 26uuuavcom| 激情婷婷丁香色情五月天| 亚洲精品乱码久久久久99| 91九色中文字幕女在线观看| www激情| 久久久久久久综合狠狠综合| 色五月婷婷少妇人妻| www.av视频xx999.com| 97色婷婷| 99热这里只有精品69| 婷婷丁香五月天小说| 丁香六月高清视频| 色五月婷婷激情| 五月丁香六月婷婷中文版| 亚洲小说五月婷婷| 色色色色色色综合| 综合网亚洲| 激情五月天视频| 久热亚洲| 婷婷久久综合久| 精品久久久久成人码免费动漫 | 人人草成人视频| 国内裸舞二区| 涩婷婷五月天| 亚洲网视屏| 第五色婷婷| 丰满人妻妇伦又伦精品国产| 成人免费网站免费看| 色蜜婷婷| 久久五月丁香六月婷| 婷婷丁香五月天亚洲| 99国产视频网| 91热网址| 九月丁香五月婷婷| 色噜噜狠狠色综合成人99| 思思热99热| 日本黄色三级片内射| 色操综合| WWW,激情五月天,COM| 开心五月深爱五月婷| 日日天天干| 91精品丝袜久久久久久| 五月婷婷 婷婷五月 一区二区 久久久| 热久久婷婷| 丁香色色网| 婷婷五月开心中文字幕色| 九九视频这里有精品| 综合色色婷婷| 毛片新网地| 久久婷婷精品| 人人操操| 在线A色| 97丁香婷婷| 麻豆AV一区二区三区| 性爱网六月丁香| 丁香五月亚洲AV| 丁香五月天五码婷婷| 2025天天日爽| 久久五月婷婷综合网| 婷婷综合视频| 天天天天天天噜| 婷婷伊人綜合中文字幕小说| 中文字幕+中文在线| 六月婷婷五月丁香首页| 中文字幕成人影视| 天天操天天干天天射| 丁香婷婷五月激情| 精品人妻久久久久| 亚洲最大成人综合网720P| 婷婷五月色惰| 久久久久人妻中文| BBWCUCKOLD精品熟妇| 色天堂A| 五月丁香欧美在线| 亚洲视频一区| 狠狠香蕉| 棕合影院色色| 久久日九九| 99热情这里只有精品在线播放| 99在线观看视频| 图片区 小说区 区 亚洲五月| 五月天天综合| 99无码视频| 狼人伊人天堂| 五月婷婷co.m| 九九热精品| 性生活视频98791| 色色色.COM| 国自产拍偷拍精品啪啪一区二区| 99成人网一区| 丁香五月综合婷婷| 永久免费视频| 99热国产免费| 久草丁香婷婷五月天婷| 婷婷五月激情视频在线| 五月婷婷欧洲| 激情网婷婷婷| 久久五月婷综合| 欧美激情 日韩无码 婷婷 五月天| 色婷婷精品视频| 亚洲超碰青涩| 狠狠色综合五月| 99精品无码| 久热超碰| 婷婷五月色天| ay2区| 玖玖热视频| 亚洲综合网 665566| 天天干天天做| 97色在线观看视频| 久青操| 色婷婷91| 91人妻人人做人碰人人爽九色| 国洲夜色亚热在线久久| 色视频五月天| 青青草Avb在线| 亚洲热久久| 91日本在线免费| 99热成人在线观看| 免费AV在线网址| 五月天涩涩| 色444综合网| 这里只有精品1| 天色色综合网| 婷久久| 超碰91av| 99色在线视频| 涩涩婷婷五月| 国产婷婷色综合AV蜜臀AV| 日本a片网址| 色99在线| 婷婷丁香激情| 婷婷综合一二三| 伊人网碰碰| 欧美色色色色色| 五月天婷婷色| 五月天激情婷婷五月天久久| 九九久久污| 五月婷在线观看| 色婷婷丁香九月| 亚洲无码播放| 五月情综合| 九七色色六月丁香| 丁香五月成人网| 色婷婷888| 99热久| 欧美天天综合网站上去吧| 五月日韩中文字幕| 日本天天色| 激情婷婷五月天| 99精品成人无码A片观看金桔| 99爱免费在线视频| 四月婷婷五月丁香| 国产免费一区二区在线A片视频| 丁香久久五月天视频在线观看| 玖玖九九超碰| 九九99免费视频| www.精品99| 99色在线观看视频者| www五月| 色婷婷影院| 97很鲁在线视频| 欧美色婷婷| 成人丁香五月| www。五月,com| 久久9热| 五月花综合网| 美国不卡视频| 这里有精品| 五月丁香综合激情网| 99碰碰| 五月天丁香啪啪网| 久碰视频| 熟女激情五月天| 丁香五月激情宗合网| 欧美A片在线视频免费观看| 狠狠色噜噜狠狠狠狠综合| 天天粽合合合合| 91丨九色丨老农村| 夜夜嗨一区二区三区直播内容| 五月天综合在线观看视频| 这里只有精品免费在线视频| 狠狠色九月| 狠狠综合网| 深爱开心激情| 另类小说五月天综合网| 超碰av在线| 99久热在线精品99re6热| 91操碰| 99热这里只有是亚洲国产| 激情五月综合网| 中文字幕高清av| 激情五月天色播| 成年人丁香五月| 伊人天天色| 99人妻碰碰碰久久久久禁片| 啪精品| 超pen个人视频97| 激情五月天色色网| 五月天成人在线视频网站| 天天综合图片| 色情性爱视频网址| 人人澡玖玖一| 99热丁香| 888久久久| 91精品久久久久久久久久| 丁香五月婷婷影院| 天天操天天插| 丁香六月情| 26UUU精品一区二区c〇m| 激情丁香婷婷六月天| 婷婷九色| 射琪琪| 99操不停| avh片在线观看| 亚洲亚洲人成综合网络| 天天综合色| 色狠狠999综合| 俺也去在线视频| 丁香六月毛片| 伊人六月丁香婷婷| 国产日日夜夜操| 久鲁鲁色网| 五月天大香蕉| 国产伦理精品高清在线观看网站一区二区 | 精品人妻伦一二三区久久| 狠狠操综合| 丁香五月激情综合| 玖玖婷婷色五月| 婷婷五月天亚洲| 日日插日日干| 五月天婷婷在线播放| 97色婷婷五月天| 日日干日日s| 欧美激情丁香五月天久久婷婷一区| 67194国产| WWW久久久| 激情婷婷丁香五月天| 国产精典视频在线观看| 欧美97色| 丁香五月婷婷深五月| 九月婷婷| 五月丁香婷色| 人妻肉射免费观看| 99热这里只有精品最新网址| 五月深爱网| 婷婷五月天综合中文| 国产裸舞表演WWWW| 日日噜噜夜夜狠狠久久丁香五月| 国精产品一区一区三区有限公司杨 | 狠狠色综合网站久久久久| 91色噜噜狠狠狠狠色综合| 免费黄色AV| 婷婷的久久网站| 超碰人人在线| 久久综合五月天| 蜜桃五月天| 色五月丁香com| ztEJj| 9超碰在线| 先锋资源91| 色欲丁香| 婷婷综合网伊人| 噜噜噜噜噜色| 操操天堂| 大地资源色婷婷视频在线 | 久超超碰| 亚洲天堂久久| 婷婷九九色| 婷婷久久影院| 天天综合网、天天综合色| 婷婷婷色五月| 天天插插天天| 成人看片网站| 九九操屄| 99热在线精品观看| 丁香婷婷偷拍| 五月婷婷亚洲| 欧美25p| 婷婷五月天影院| 欧洲综合一区| 超碰人人干| www..com色爱| 色婷婷五月天偷拍| 亚洲激情AV| 婷婷五月丁香99| www.91.com黄| 天天干肏夜夜| 熟女激情网| 无码免费人妻A片AAA毛片西瓜 | 激情丁香五月| 久久丁香九| 亚洲精品视频在线| 五月成人综合| 99久热这里只有精品| 亚洲精品无人区| 97欧美在线| 婷婷五月天成人动漫 | 9久热| 丁香六月婷婷操逼网| 99精品一二三四视频| 天天色综合色色色色色。| cc精品国产性传播| 久久婷婷色| 9色在线视频精品观看| 色就是色婷婷五月亚洲激情| 五月激情六月宗合| 成人精品视频99在线观看免费 | 亚洲成av人影院| 五月久久网| 激情久久五月网| 婷婷综合97| 婷婷狠狠干| 久久婷婷精品| 女人天堂久久| 在线播放 精品| 99免费视频久久| 天天色天天操天天射| 色婷婷成人做爰A片免费看网站| 激情综合色婷婷啪啪六月天| 午夜无码精品色综合久久| 亚洲天堂99| 综合超碰熟| 夜夜操狠狠操天天操| 久久综合人妻| 91视频精品99| 天天插综合网| 九九爱精品网站| 激情精品久久| 五月婷婷啪啪| 91超碰在线观看| 丁香婷婷六月男男| 69久热| 小视频一区| 97五月天| 六月婷婷成人| 一起草性爱不卡视频| 久99精品视频| 激情五月色播五月| 伊大人久久| 无码毛片992367| 99热国产免费| 99热精品在线观看| 操碰91| 亚洲色夜| 九九在线视频| 91人人操人人看| 激情五月天无人视频在线| 91九色无码日韩| 婷婷五月丁香A∨| 亚洲欧美另类在线23p| AV大片在线播放| 天天摸,天天爽| 国产激情视频在线观看| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 婷婷爱综合| 久热大香蕉| 大香蕉久久伊人婷婷五月丁香| 婷婷久久99| 超碰免费大香蕉| WWW.桔色成人.COM| 五月婷婷色播| 婷婷五月天久久久| 性爱动图国产麻豆一区二区三区| 丁香五月天激情综合| 亚洲成人网无码| 激情第四色| 国产VA播放| 国内外色色色色色成人视频| 日本ww亚洲| 日韩人妻AV在线| 日韩小视频在线99| 婷婷六月丁综合| 婷婷五月天激情文学| 国产色香蕉精品五夜婷| 五月天激情婷婷| 久久伦乱| 亚洲无码色色| 97久久香草精品视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 婷婷色五月丁香六月欧美啪| 六月婷婷香蕉| 九九青青草成人| 婷婷丁香五月av| 嫩草AV久久伊人妇女超级A| 精品色色网| 禁片二区| 影音先锋一区二区三区| 天堂婷婷五月在线| 九九婷| 成年人丁香五月| 婷婷丁香五另类网站| 色色色综合网| 性色99| 97碰成超视频免费视频| 俺去也五月| 69激情小说| 99视频在线观看视频| 久久婷婷综合基地| 五月婷婷色播网| 丁香婷婷综合影院| 日韩成人无码人妻| 先锋资源 996| 日本免费91| 日日夜夜干| 狠狠色婷婷六月激情网| 中文色婷婷| 伊人在线视频| 色五月婷婷综合在线| 亚洲性天天| 丁香婷婷五月天成人| 丁香激情网| 丁香综合伊人AV| 久久久欧美精品sm网站| 北京熟妇搡BBBB搡BBBB| 狠狠操狠狠操| 久月丁香爱婷婷综合| www.激情五月天.com| 欧美va在线| 欧洲第一久色| 色色是色N一| 亚洲视频码| 丁香五月在线播放| 泰州成人视频| 情婷婷五月天在线| 91九色中文字幕女在线观看| 成人美女网| 激情综合在线观看| 先锋av性爱成人电影| 操久久网| 无码一级片| 五月婷婷色| 97色天堂| 国产裸舞表演WWWW| 婷婷久久五月| 色婷婷综合综合网| 激情婷婷五月丁香啪啪啪| 五夜婷婷| 五月激情婷婷国产精品久久久久久| 888精品福利地址| 影音先锋偷偷色男人站| 婷婷丁香九色| 六月天婷婷| 9有码中文| 99色最新在线视频网站| 亚洲激情99| 8区视频在线| 综合 蜜月 婷婷| 热思思九九| 日韩人妻无码专区| 91avse| 狠狠操狠狠操| 六月丁香成人网| 夜夜噜夜夜奇| 丁香五月AV在线| 大香蕉五月丁香| 夜色综合网| 夜色.cnm| 一本久久婷婷| 久久9热好| 人人爱操| 五月丁香激情综合| 久久99精品久久只有精品| 免费AV在线| 狠狠干在线| 999热成人在线综合网| 色婷婷色五月丁香| 五月天激情在线视频| 婷婷五月69| 久久久久激情| 亚洲无码成人| 91丨九色丨白浆秘| 99久扒热| 色婷婷色情| 色婷婷瘦婷婷日韩| 婷婷丁香91| 五月丁香趴趴| 色婷婷四色| 五月五月婷婷| 色五月婷婷五月天激情综合| 成人国产网站| 九九超碰人人| 成人毛片在线免费观看| www.色九月| 亚洲欧洲午夜成人精品av| 五月天婷婷久草丁香| 五月丁香婷婷啪啪网| 操逼国产91| 99精品国产在热久久婷婷| 五月天伊人久久久久| 天天综合久久| 秋霞A V毛片| 99久久婷| 五月婷婷新网站| 婷婷五月成人色综合| 激情五月深爱五月| 狠狠五月丁香色婷| 天天拍久久| 丁香综合网| 99免费热视频在线| 操逼六区| 九九在线精点品| 精品一区二区三区四区五区六区| 中文字幕丰满孑伦无码专区 | 五月丁香少妇网| 五月色婷婷综合丁香精品无遮挡| α久久| 99精品福利视频| 天天色天天爱天天爱天天爱y| 人人干人人看| 97婷婷狠狠| 99色综合| www.91av.com| 五月丁香久久丝袜啪啪| 大香蕉网站,大香蕉综合| 精品久色| 五月综合婷婷久久在线| 婷婷五月天激情电影小说| 91九色在线视频| 天天插天天爽| 久cao香蕉影院| 加勒比日本一区二区三区| 久9热在线视频| site:jszngf.com| 操熟女成人网| 久久免费操| 久热大香蕉| 婷婷情色五月| 午夜爱插插| 婷婷的五月天另类视频| 色色色色五月| 五月激情婷婷在线| 久777| 色你久久| 色宗合,宗合网| 99色性爰网络| 99精在线| 天天色凹凸| 久操人妻| 五月婷婷欲色| 久婷| 男人大jjc女人免费视频| 9精品视频在线| www.激情五月天.com| 综合一本道| 99热亚洲精品| 丁香五月 性爱| 伊人久久婷婷| 婷婷五月天六点丁香五月| AV大香蕉| 激情碰碰碰| 丁香六月AV| 五月婷婷69| 可以免费观看的av| 六月丁香婷婷色狠狠久久| 天天做天天爱天天爽在| 欧美色五月| 99精品国产乱码久久久人妻| 91久久综合| 五月婷婷精品视频| 久久曰曰| 色播五月丁香综合| caobi四区| 五月丁香 啪啪| 99九九这里有免费视频| 丁香婷婷六月激情文学| 婷婷五月丁香在线视频| 无码少妇高潮喷水A片免费| 久久精品91视频| 狠狠干五码| 色婷婷五月天在线观看| 九九热婷婷| 亚洲成人乱码av网站| 久久香蕉网| 免费看成人747474九号视频在线观看| 极品人妻videosss人妻| 五月婷综合| 91青娱乐青青草| 婷婷色5月激情网| 狠狠干狠狠干| a网站免费观看| 丁香激情五月| 99热人人操人人操| 五月丁香av在线| 丁香五月偷拍| 殴美激情综合网| 丁香五月天在线观看| 综合色色五月| 亚洲色五月天是什么| 任你艹| 激情五月婷| 色五月亚洲| 色播色丁香五月| 婷婷开心综合人妻小说网址| 桃色五月天| 激情五月天婷婷直播| 午夜爱爱网站| 久久 无毛。| 天天舔天天操| 色综合色综合色综合| 甈你aaaaa| 免费看欧美成人A片无码| 久久99这里只有精品| 亚洲成人一区| 五月丁香六月成人| 人人操人人干AV| 五月花激情网| 情趣视频66| 综合五月激情| 久久思思热视频| 久久全意婷婷| 婷婷久久六月费| www.91av.com| 激情五月天免费视频| 国产伦亲子伦亲子视频观看| 五月婷婷久久综合| 九九成人| 色噜噜狠狠色综合日日免费| 婷婷色导航| 秋霞三级影视资源| 夜夜爽77777妓女免费下载| 色七色九九| 噼里啪啦在线观看免费完整版视频| 激情综合自拍五月婷婷色五月| 亚洲综合色色| 婷婷五月成人有| 日日干日日| 深爱开心激情网| 人妻日日日| www.五月天社区| 久久天堂女人| 99久在线精品99re8| 99视频在线观看视频| 狠狠狠狠狠狠| 99riAV国产精品视频| 久久久五月天| Av性爱网站| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 婷婷操逼| 青青草性爱视频| 97操女视频| 无码激情AAAAA片-区区| 激情久久久| 狠狠丁香| 五月丁香六月婷婷激情视频在线观看免费| 9.1综合网| 久久免费操| WWW99热| 精品一二三区久久AAA片| 99热久久日本| 久久伦乱| 真实亲子乱子伦高清在线观看| 啪啪啪五月天| 亚洲视频色色| 五月色情婷婷| 亚洲综合视频网| 97碰在线免费观看| 天色色综合网| 久久5 9视频免费观看| 99热18| 五月婷婷啪啪| 99热超碰| 超碰成人免费| 九九九九综合| 久大香蕉| 婷婷九月综合| 五月丁香综合影院| 欧美Va日本Va| 丁香婷婷五月| 天天日天天爽夜夜爽| 丁香五月天在线| 丁香五月天的网址。| 丁香色情五月综合网站| 九九一综合精品| 五月色情婷婷开心五月色情| 伍月婷婷免费视频| 天天摸.天天mo| 色婷婷五月天av在线| 色九区| 性日本激情| 思思热闹这里只有精品| 久热只有这里有精品| 伊人五月天综合网| 综合婷婷| 99久久久国产大片区| 五月丁香久人妻中文| 五月天另类小说亚洲| 97五月天婷婷午夜| 综合狠狠五月婷婷| 婷婷色色播五月天| 狠狠狠五月婷婷六月丁香| 黄页大全十八禁| A久网| 五月天播播| 六月丁香婷婷综合狠狠爱夜夜爱| 玖玖婷婷色五月| 91婷婷在线| 婷婷五月天丁香| 五月天激情国产综合婷婷婷| 激情五月天色播| 一本色道久久88综合日韩精品| 亚洲12p| 婷婷综合玖玖五月| av在线观看网址| 欧洲S级在线观看| 91一起艹| 永久99免费视频网站| 五月丁香六月激情狠狠| 午夜婷婷六月天| 26uuu成人网| 97九色| 天天做天天爱| www.ywav| 天堂久久性| 色噜噜狠狠色综合无码久久欧美| 日本五月婷婷久久久六月丁香| 五月开心啪啪| 综合成人小说婷婷| 综合色图区| 精品夜夜澡人妻无码AV| 操精品9| 9精品视频在线| 无码四色色色| 丁香婷婷啪啪啪| AVDV久久| 婷婷中文字幕| 99久久婷婷国产综合精品| 久久精品日| av在线免费播放| www..com色爱| 五月丁香777| 在线日韩视频| 岛国在线观看91| 久久婷婷五月综合啪| 亚洲一个色| 五月婷婷六月奇米网丁香| 激情综合网五月激情网| 97操操操| 国产精品久久久久久喷浆| 强奸幻女毛片| 91ncom.色| 色五月五月天| 久久婷婷五月综合| 狠狠干狠狠干| 婷婷亚州综合| 九九热a| 色色色国产| 综合色图区| 九色在线五月婷婷网址| 久热黄色| 激情五月婷婷综合视频| 久久看婷婷| 97在线观看| 91成人电影| 天天插天天日天天爽| 66色在线日韩| 六月丁香啪啪| 99内射视频| 五月天播播综合| 五月激情婷婷播播开心| 五月婷婷六月天| 99碰碰中文| 午夜理论片最新午夜理论剧| 色五月AV| 国产精品A成V人在线播放| 亚洲无码黄色| 五月天婷婷青青| 91色逼| 99热在线极品极品| 丁香五月天导航| 精品无吗va视频免费观看| 色色婷婷五月天| 97在线干| 丁香五月激情综合网激情五月| 亚洲AV网站在线观看| 伊人婷婷福利网| 性爱动图国产麻豆一区二区三区| 五月婷婷香| 欧美日韩欧美| 爱操人妻| 天天狠狠夜夜狠狠2023| 嫩草AV久久伊人妇女超级A| 久久婷婷五月综合成人d啪| 在线综合婷婷| 一起草AV| 亚洲免费av观看| 色噜噜在线| 色综合色综合网| 五月丁香六月婷婷久久肏| 欧美丁香五月天| 激情丁香五月天| 婷婷七月丁香色色| 激情小说 五月天| 五月丁香综合| 玖玖爱伊人| 思思久久精品| 狠狠久久婷五月综合色| 99精品色色| 日本久热| 五月婷婷丁香网| www.俺去也com| 成人做爰A片免费看网站找不到了| 性爱网五月天| 婷婷九月丁香| 久久久亚洲成人无码A片| 激情综合网婷婷久久| Av大香蕉| 五月天三级久久| 日韩欧美一级大黄网站| 最近免费中文字幕大全高清大全1| 九九Av| 久久总和99| 丁香五月123| 99热这里只有精品免费观看| 先锋影音av色五月天资源站| 五月色婷婷综合色| 操一区| 激情婷婷久久| 99免费视频| 六月综合婷婷开心伊人| 成人五月天视频播放| 久久无码成人| 五月综合777| 成人做爰A片免费看网站找不到了| 九九热这里只有精品7| 婷婷伊人久久| 五月丁香六月婷婷啪啪| 五月天成人在线视频网站| 五月婷婷之综合激情在线| 天天爽夜夜爽| 玖玖婷婷免费| 狠色狠色综合久久| 亚洲综合五月天婷婷| 色五月丁香婷婷综合| 久久er99热精品一区二区| 丁香六月天AV| 综合色播| 色久在| 99精品成人无码A片观看金桔| 成人精品一区二区三区四区五区| 天天草天天爽| 激情久久四色| 激情丁香五月婷婷| 亚洲色婷婷99一9|| 国产精品第一国产精品| 日日操日日干| 五月丁香婷婷欧美色图视频五月丁香777电影 | 玖玖热视频| 久热伊人在91| 欧美精品18| 全高清无码视頻| 久久9视频| 婷婷五月天堂网| 日本99久久| 激情婷婷人妻| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | www.色综合| 人妻系列久久久久久久久久久| 午夜天堂一区人妻| 激情五月com| av一区免费看| 婷婷五月天天天| 久久99网址| 日韩成人免费电影| 5月色婷婷| 亚洲精品字幕| 亚洲激情97五月天| 超碰成人AV| 中文字幕在线不卡| 26UUU一区二区| 九九Y精品热播| 大香蕉九九| 日日夜夜婷婷| 国产亚洲精品AAAAAAA片| 中文成人在线| 加勒比久热| 丁香五月首页| 久久狠色噜噜狠狠狠狠97| 蜜臀嫩草| 久久超级碰碰| 色五月激情五月| 大大香蕉综合在线| 91视频一起草| 99这里精品| 五月天综合在线观看| 99ri视频在线播放| 五月天激情影院| 色综合99无码 | 人妻人人操| 成年人99热| 色五月天丁香婷婷| 婷婷五月色| 伊人天堂婷婷| 大香蕉啪啪网| 免费播放99性爱视频| 激情亚洲婷婷| 丰满人妻妇伦又伦精品国产| 色级婷婷| 激情另类综合| 色色射| 色999亚洲人成色| 碰碰碰91| 这里只有视频精品| 亚洲无码99| 国产精品扒开腿做爽爽爽A片唱戏| 色五月开心久久网| 久久婷婷成人视频| 五月丁香六月婷婷激情视频在线观看免费 | 亚洲成人AV电影在线| 天天综合五月| 深爱激情av| 久久久精品人妻| 91综合视频在线| 五月色情婷婷开心五月色情| 丁香五月婷婷激情尤物| 91操人人操| 久久五月婷婷电影| 5月丁香啪啪啪| 丰满老熟妇BBBBB搡BBB| 成人Av在线大片| 亚洲情a| 99精彩视频| AA久久| 色五月天综合网| 蜜乳av一级av| 综合激情五月四射婷婷| 国产毛片精品一区二区色欲黄A片| 97caop| 激情六月丁香综合| 丁香婷婷五月天激情四射| 无码人妻一区二区一牛影视| 丁香八月综合激情| 99热精品在线观看| 色五月激情综合| 天天综合天综合| 国产av一区二区三区| 亚洲色色色色色| 伊人激情综合网| 激情婷婷综合网| 思思久日精品视频| 中文中文在线| 六月色日韩| 婷婷五月天久久久| 殴美日韩成人| 婷婷色色婷婷| 日本久碰| 久久这里只有欧美| 97碰碰久久| 26uuu欧美亚洲日韩| 国产乱人偷精品人妻A片| 在线观看熟女少妇| 色色色色网站| 久99| 激情五月综合| 久久激情视频99| 色色99| 色婷婷手机在线| 精品久久人妻| www.粉嫩av.com| 亚洲色五月| 久久久97| 深爱激情六月天| 91狠狠综合久久| 99思思| 亚洲婷婷视频| 综合网色| 激情五月综合免费| 丰满少妇猛烈A片免费看观看| 思思99精品视频| 国产精产国品一二三在观看| 久久久99精品|