欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

本篇文章給大家分享的是有關(guān)Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了站前免費(fèi)建站歡迎大家使用!

Reddit如何使用Go構(gòu)建其廣告服務(wù)系統(tǒng),以及從流程中汲取經(jīng)驗(yàn)教訓(xùn)。

概要

Reddit工程團(tuán)隊(duì)近段時(shí)間將Go引入其堆棧,以編寫新的廣告服務(wù)系統(tǒng)來取代第三方系統(tǒng)。 Deval Shah向我們介紹了這個(gè)新服務(wù)的架構(gòu)、Reddit團(tuán)隊(duì)第一次使用Go的經(jīng)驗(yàn),以及他們使用Go構(gòu)建這個(gè)廣告服務(wù)器所學(xué)到的所有課程。

Reddit簡(jiǎn)介

Reddit是互聯(lián)網(wǎng)的首頁(yè),它是一個(gè)擁有數(shù)萬(wàn)個(gè)興趣社區(qū)的社交網(wǎng)絡(luò),人們可以在那里討論對(duì)他們來說重要的事情。

Reddit的數(shù)字排名:

  • 第5/18(美國(guó)/世界)Alexa排名

  • 330M + MAU

  • 138K活躍社區(qū)

  • 每月1200w篇文章

  • 每月2B投票

而Reddit構(gòu)建的任何系統(tǒng)都必須能夠處理此級(jí)別的流量。

廣告架構(gòu)概述

廣告服務(wù)器需要處理整個(gè)廣告流程。廣告服務(wù)器處理從廣告顯示到廣告之后的任何后處理的所有內(nèi)容。

廣告服務(wù)@ Reddit

Reddit廣告服務(wù)器有幾個(gè)要求:

  • 擴(kuò)展:Reddit上的每個(gè)請(qǐng)求都會(huì)進(jìn)入廣告系統(tǒng),所以它必須應(yīng)對(duì)大規(guī)模的需求。

  • 速度:廣告服務(wù)器必須快速。他們不希望廣告成為降低用戶體驗(yàn)的性能瓶頸。他們要求在30毫秒內(nèi)回復(fù)廣告。

  • 拍賣:確保服務(wù)器能夠根據(jù)出價(jià)選擇最佳廣告。

  • 步調(diào):服務(wù)器必須能夠以最佳方式分配廣告。

之前的廣告服務(wù)@ Reddit:

之前,每當(dāng)用戶訪問reddit.com時(shí),reddit 的monolith后端都會(huì)向第三方廣告服務(wù)器發(fā)送請(qǐng)求。第三方服務(wù)器將使用其選擇的一個(gè)或多個(gè)廣告進(jìn)行響應(yīng),并將其返回給用戶。

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

過了一會(huì)兒,他們意識(shí)到繼續(xù)使用第三方廣告服務(wù)器對(duì)他們來說不會(huì)有用,因?yàn)樗?/p>

  • 可定制性較低:第三方不支持他們想要進(jìn)行的許多更改。

  • 操作上不透明:他們無法知道某些事情是如何實(shí)施的,無法控制廣告的質(zhì)量等。

我們決定建立一個(gè)廣告服務(wù)器,建立一個(gè)由3人組成的團(tuán)隊(duì)。從infra開始,編寫服務(wù),然后將其推廣到正在生產(chǎn)的系統(tǒng)。

廣告服務(wù)基礎(chǔ)設(shè)施:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

廣告服務(wù)器基礎(chǔ)架構(gòu)中使用的一些值得注意的工具:

  • 適用于所有RPC的Apache Thrift。 Thrift自2007年以來一直存在,Reddit從一開始就一直在使用它。

  • RocksDB用于數(shù)據(jù)存儲(chǔ)。它是由Facebook構(gòu)建的OSS鍵值存儲(chǔ)。它是一個(gè)可嵌入的數(shù)據(jù)存儲(chǔ),它避免了網(wǎng)絡(luò)跳變,并針對(duì)高讀取和寫入進(jìn)行了優(yōu)化。

  • 他們還決定使用Go作為主要的后端語(yǔ)言。這是Reddit第一次將Go用于生產(chǎn)。在此之前,Reddit主要使用Python和Java。該團(tuán)隊(duì)希望確保Go成為Reddit使用的語(yǔ)言集中的一等公民,并支持Reddit所需的一切。

廣告服務(wù)器架構(gòu):

這是新廣告服務(wù)器的架構(gòu):

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

簡(jiǎn)要概述它的工作原理:

  • Reddit.com調(diào)用了一個(gè)名為廣告選擇器的服務(wù)。這是廣告投放基礎(chǔ)架構(gòu)中的第一項(xiàng)服務(wù)。這是一種Thrift服務(wù),并接收來自reddit.com的請(qǐng)求。然后,它調(diào)用一個(gè)名為getAds的函數(shù),該函數(shù)處理獲取和返回要向用戶顯示的廣告。然后廣告選擇器調(diào)用充實(shí)服務(wù)。

  • 充實(shí)服務(wù)負(fù)責(zé)獲取有關(guān)查找和選擇最相關(guān)廣告所需的請(qǐng)求、用戶和其他信息的更多數(shù)據(jù)和信息。它會(huì)收集所有這些信息并將其返回給廣告選擇器。

  • 收到充實(shí)服務(wù)的響應(yīng)后,廣告選擇器會(huì)選擇添加,然后將廣告返回給reddit.com以顯示給用戶。它還將回復(fù)發(fā)送給Kafka。

  • 向用戶展示廣告后,需要進(jìn)行一些后期處理??蛻舳讼蚴录櫰鞣?wù)發(fā)送事件HTTP請(qǐng)求。此活動(dòng)可確認(rèn)廣告已投放。此事件通知也被帶到Kafka。

  • Kafka為兩個(gè)Apache Spark作業(yè)提供數(shù)據(jù):

  • 事件統(tǒng)計(jì)流作業(yè)始終在運(yùn)行,它會(huì)寫入增強(qiáng)服務(wù)以提供用于學(xué)習(xí)選擇更好的廣告信息。

  • 還有Pacing循環(huán),它涉及Pacing Spark工作。這涉及一個(gè)流媒體工作,計(jì)算每個(gè)廣告客戶展示的廣告數(shù)量,以及另一個(gè)確保廣告最佳展示的工作。

在這種架構(gòu)中,Go服務(wù)是:

  • 廣告選擇器:

  1. 有30ms的P99要求

  2. 涉及用于定位和選擇的復(fù)雜業(yè)務(wù)規(guī)則

  3. 進(jìn)行競(jìng)價(jià):所有的廣告,業(yè)務(wù)邏輯規(guī)則,是在競(jìng)爭(zhēng)得到廣告顯示,而廣告選擇器會(huì)處理此問題。

  • 事件追蹤:

  1. 1ms P99要求

  2. 確認(rèn)日志和事件

  3. 需要高度可靠

  • 充實(shí)服務(wù):

  1. 節(jié)儉服務(wù)

  2. 將數(shù)據(jù)返回到廣告選擇器

  3. 有一個(gè)嵌入的RocksDB數(shù)據(jù)庫(kù)

  4. 4毫米P99

  5. 對(duì)于每個(gè)請(qǐng)求,它在Go中進(jìn)行前綴掃描,并獲取一堆數(shù)據(jù)并進(jìn)行計(jì)算和聚合。我們的想法是避免網(wǎng)絡(luò)跳變獲取信息,以確保我們快速提供響應(yīng)。

Reddit的其他一些Go工具和服務(wù)則不會(huì)深入探討:

  • 報(bào)告服務(wù)

  • Vault管理工具

  • 廣告事件生成服務(wù)

我們的Go經(jīng)驗(yàn)

這是Reddit與Go的第一次體驗(yàn)。德瓦爾表示,到目前為止,這段經(jīng)驗(yàn)很棒。這項(xiàng)工作始于使用Go的兩到三名工程師,現(xiàn)在已經(jīng)發(fā)展到大約十幾名在Go方面工作的工程師。

他們?cè)贕o看到的主要優(yōu)勢(shì)是:

  • 提高開發(fā)人員的速度:新工程師可以加入并快速熟悉代碼。 Go強(qiáng)調(diào)簡(jiǎn)單性、快速部署和編譯時(shí)間意味著緊密的反饋循環(huán),這有很大幫助。

  • 開箱即用的出色表現(xiàn):除了遵循最佳實(shí)踐外,沒有太多的工具或優(yōu)化來快速運(yùn)行。與他過去調(diào)整JVM和處理垃圾收集的經(jīng)驗(yàn)相比,這對(duì)Deval來說是一次不錯(cuò)的體驗(yàn)。

  • 易于專注于業(yè)務(wù)邏輯:業(yè)務(wù)邏輯是困難的部分,Go的簡(jiǎn)單性和開箱即用的性能有助于團(tuán)隊(duì)專注于它。

  • 最后,廣告服務(wù)會(huì)延遲大幅下降:響應(yīng)時(shí)間從90毫秒降至10毫秒以下。

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

得到教訓(xùn)

這是一系列面臨的問題,Reddit如何處理這些問題,以及從這些挑戰(zhàn)中學(xué)到的知識(shí)。

問題1:如何構(gòu)建生產(chǎn)就緒的微服務(wù)?

Reddit以前有過為Python做過的經(jīng)驗(yàn),但不是Go。

最初的原型通過大量的StackOverflow讀取和谷歌搜索工作,但顯然不會(huì)與開發(fā)人員一起擴(kuò)展。

他們看到的一些問題是:

  • 記錄、指標(biāo)等都到處都是

  • 改變傳輸層很難

  • 我們需要可重復(fù)的模式

他們意識(shí)到Go社區(qū)已經(jīng)解決了這些問題,因此他們研究了解決這些問題的現(xiàn)有框架。他們遇到的一些選擇:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

他們認(rèn)為Go-Kit最有意義。 Reddit選擇Go-Kit的主要原因是:

  • 支持Thrift

  • 是靈活的,不是非常有描述性。如果Reddit想要轉(zhuǎn)移到gRPC,他們希望能夠輕松遷移。

  • 具有用于記錄、度量、速率限制、跟蹤、斷路等工具,這些是在生產(chǎn)中運(yùn)行微服務(wù)時(shí)的標(biāo)準(zhǔn)要求。

  • Go-Kit @ Reddit。這是使用Go-Kit的圖:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

這個(gè)架構(gòu)有一些值得注意的事情。中心服務(wù)有2個(gè)實(shí)現(xiàn):內(nèi)存實(shí)現(xiàn)(這很好并可以用于原型),以及用于生產(chǎn)實(shí)現(xiàn)的RocksDB實(shí)現(xiàn)。本地開發(fā)仍然存在內(nèi)存中實(shí)現(xiàn)。

有幾個(gè)中間件層:跟蹤、日志記錄和度量。最后,Thrift運(yùn)輸處于頂層。這種結(jié)構(gòu)使得更改變得容易。例如,如果他們想要將傳輸層從Thrift更改為gRPC,他們只需要更改頂層。

使用Go-Kit是有益的,因?yàn)樗鼮閳F(tuán)隊(duì)提供了如何構(gòu)建Go代碼的良好例證。他們以前沒有這方面的經(jīng)驗(yàn),因此使用Go-Kit有助于理解Go服務(wù)的典型結(jié)構(gòu)。

教訓(xùn)1:使用框架/工具包。對(duì)于您使用Go的所有內(nèi)容而言,并不是必需的,但對(duì)于需要度量、日志記錄等的生產(chǎn)服務(wù),請(qǐng)使用已解決問題的庫(kù)而不是嘗試自己完成。

問題2:如何安全快速地推出新系統(tǒng)?

最終目標(biāo)是推出新的廣告服務(wù)器,對(duì)Reddit用戶、支付廣告客戶、依賴廣告團(tuán)隊(duì)的其他內(nèi)部團(tuán)隊(duì)影響最小。第三方廣告服務(wù)器是一個(gè)黑盒子,Reddit需要一種快速迭代、學(xué)習(xí)和改進(jìn)的方法。

這就像在飛行途中改變飛機(jī)。他們慢慢地在他們的第三方服務(wù)周圍添加了新的基礎(chǔ)設(shè)施,當(dāng)它準(zhǔn)備就緒時(shí),他們會(huì)把它撕掉:

  • 他們首先將廣告選擇器注入請(qǐng)求路徑,將其純粹作為代理。系統(tǒng)執(zhí)行的操作與以前相同,但廣告選擇器就位。這使他們可以通過廣告選擇器擴(kuò)展請(qǐng)求,而無需實(shí)際執(zhí)行任何操作。

  • 然后,他們不僅僅是代理,而是在廣告選擇器服務(wù)中實(shí)施并推出了原生廣告選擇。現(xiàn)在,廣告選擇器將在內(nèi)部處理請(qǐng)求,但仍充當(dāng)代理并將請(qǐng)求傳遞給第三方,系統(tǒng)仍將使用第三方響應(yīng)。

  • 然后,他們添加了Event Logger來實(shí)現(xiàn)本機(jī)響應(yīng)的日志記錄,并設(shè)置Kafka。

  • 他們繼續(xù)構(gòu)建其余的服務(wù),從存根服務(wù)開始,并在此過程中添加邏輯。

  • 最終,一旦一切就緒,他們就會(huì)切斷第三方廣告服務(wù)器。

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

在這些Go特性的幫助下,Go允許他們安全輕松地遷移到新的廣告服務(wù)器:

  • Go編譯器很快

  • 支持跨平臺(tái)編譯

  • 自包含二進(jìn)制文件

  • 強(qiáng)并發(fā)原語(yǔ)

教訓(xùn)2:Go使快速迭代變得簡(jiǎn)單而安全。

問題3:如何調(diào)試延遲問題?

部署新廣告服務(wù)器后,他們確實(shí)看到了一些緩慢,網(wǎng)絡(luò)故障,部署不良等問題。

如果你確切知道哪個(gè)服務(wù)有問題,pprof就很棒。另一方面,分布式跟蹤使您可以查看服務(wù)。他們沒有支持廣告方面的分布式跟蹤,但他們確實(shí)在Reddit的堆棧上的其他地方支持它。

為什么跟蹤有用?

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

  • 識(shí)別導(dǎo)致高總體延遲的熱點(diǎn)

  • 幫助發(fā)現(xiàn)其他錯(cuò)誤/意外行為

跟蹤通常很容易,你有一個(gè)客戶端和服務(wù)器。在客戶端,您提取跟蹤標(biāo)識(shí)符,并將它們注入您發(fā)送的服務(wù)器的請(qǐng)求中。在服務(wù)器端,當(dāng)您獲得請(qǐng)求和標(biāo)識(shí)符時(shí),將它們放入上下文對(duì)象并傳遞它們。使用HTTP和gRPC非常簡(jiǎn)單,沒有理由不這樣做。

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

但是,reddit正在處理Thrift,所以他們遇到了一些問題。

他們看了一下Thrift替代品,F(xiàn)acebook Thrift和Apache Thrift。他們正在尋找的兩個(gè)關(guān)鍵功能是對(duì)標(biāo)題和上下文對(duì)象的支持:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

他們嘗試使用FB thrift,但是存在一些問題,主要是缺少上下文對(duì)象,導(dǎo)致代碼混亂和復(fù)雜化。在Apache thrift中,支持上下文對(duì)象,但它不支持頭文件。因此,解決方案是:向Apache Thrift添加標(biāo)頭。這已經(jīng)針對(duì)其他語(yǔ)言完成,但不適用于Go。因此,他們將THeader添加到Apache Thrift。這意味著現(xiàn)在支持上下文對(duì)象,并且頭文件可以存儲(chǔ)跟蹤標(biāo)識(shí)符。

如果您想查看這些更改,可以查看https://github.com/devalshah88/thrift。 Deval希望通過貢獻(xiàn)流程獲得更改并將其合并到上游。

這是一個(gè)跟蹤代碼??蛻舳税b器只從上下文對(duì)象中提取跟蹤信息,并將其添加到headers:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

服務(wù)器包裝器從頭部獲取信息并將其注入上下文對(duì)象,以便它可以傳遞:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

此代碼來自https://github.com/devalshah88/thrift-tracing。

完成所有這些工作后,分布式跟蹤被證明在調(diào)試延遲問題方面非常有用。然而,我們得到的結(jié)論是第三課:使用節(jié)儉和Go進(jìn)行分布式跟蹤是很困難的。

問題4:如何處理緩慢/超時(shí)?

在Reddit,他們希望系統(tǒng)能夠優(yōu)雅地處理緩慢。他們從不希望用戶受到影響,因此如果速度緩慢,Reddit寧愿不展示廣告也不愿降低用戶體驗(yàn)。

他們的兩個(gè)目標(biāo)是:

  • 不要讓用戶等待太久

  • 不要浪費(fèi)資源做不必要的工作

使用上下文對(duì)象來強(qiáng)制服務(wù)中的超時(shí):這是來自充實(shí)服務(wù)的代碼,用于向上下文對(duì)象添加截止日期,傳遞它,并在截止日期到期時(shí)提前退出。

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

這樣的結(jié)果是好的,但還不夠:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

第一張圖顯示了從充實(shí)服務(wù)獲得響應(yīng)所需的時(shí)間。這個(gè)特定的時(shí)間框架有一些緩慢,但它沒有讓用戶等待超過25毫秒。

第二個(gè)圖表顯示,在服務(wù)器端,增強(qiáng)服務(wù)正在處理最長(zhǎng)70毫秒的請(qǐng)求,因此服務(wù)器在客戶端已經(jīng)超時(shí)并且在不再需要響應(yīng)之后,有些浪費(fèi)資源。

通常要做的是使用HTTP傳播截止日期。此代碼添加了一個(gè)超時(shí),它通過上下文對(duì)象傳遞給服務(wù)器:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

Thrift使這很難。這里沒有使用上下文對(duì)象。如果客戶端超時(shí),goroutine不知道并且不退出:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

這個(gè)方法不是特別好,但有辦法來解決這個(gè)問題:

一種選擇是為請(qǐng)求有效負(fù)載添加截止時(shí)間??蛻粜枰谡?qǐng)求中包含截止日期。服務(wù)器會(huì)將截止日期注入上下文對(duì)象,并使用它。這并不是很好,因?yàn)楸仨氃谒卸它c(diǎn)進(jìn)行此更改。

相反,他們通過截止日期作為節(jié)儉標(biāo)題。這與它們傳遞跟蹤標(biāo)識(shí)符的方式類似。在此更改之后,在服務(wù)器端,他們看到類似于客戶端的延遲:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

教訓(xùn)4:在服務(wù)內(nèi)部和服務(wù)之間使用截止日期。

問題5:如何確保新功能不會(huì)降低性能?

快速迭代和復(fù)雜的業(yè)務(wù)邏輯可能導(dǎo)致性能問題。廣告服務(wù)團(tuán)隊(duì)需要流程和工具,以確保他們能夠快速移動(dòng)而不會(huì)違反延遲SLA。為此,他們使用了負(fù)載測(cè)試和基準(zhǔn)測(cè)試。

使用彎曲器進(jìn)行負(fù)載測(cè)試:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

這就是你從Bender那里得到的回應(yīng):

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

負(fù)載測(cè)試對(duì)于在重負(fù)載下測(cè)試更改非常有用,并且允許開發(fā)人員再推送到生產(chǎn)之前優(yōu)化新功能以實(shí)現(xiàn)高負(fù)載。

他們還利用所有關(guān)鍵系統(tǒng)的基準(zhǔn)測(cè)試。此基準(zhǔn)測(cè)試代碼:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

獲取此輸出:

Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的

基準(zhǔn)測(cè)試有助于:

  • 通過改變減慢速度來防止降級(jí)

  • 讓您了解事情隨時(shí)間的變化情況

  • 告知開發(fā)人員有關(guān)不同實(shí)現(xiàn)存在的權(quán)衡

教訓(xùn)5:基準(zhǔn)測(cè)試和負(fù)載測(cè)試很容易。做吧!

回顧:

  1. 使用框架/工具包

  2. Go使快速迭代變得簡(jiǎn)單而安全

  3. 使用Thrift和Go進(jìn)行分布式跟蹤很難

  4. 在服務(wù)內(nèi)部和跨服務(wù)使用截止日期

  5. 使用負(fù)載測(cè)試和基準(zhǔn)測(cè)試

結(jié)論:

  • Go幫助reddit構(gòu)建和擴(kuò)展新的廣告服務(wù)平臺(tái) - 易于構(gòu)建和快速

  • 我們分享了我們?cè)诖诉^程中學(xué)到的5個(gè)重要經(jīng)驗(yàn)教訓(xùn)

  • 嘗試在下一個(gè)Go項(xiàng)目中至少使用其中一個(gè)

以上就是Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:Reddit廣告服務(wù)系統(tǒng)是怎么構(gòu)建的
網(wǎng)頁(yè)路徑:http://aaarwkj.com/article0/jpooio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣做網(wǎng)站、虛擬主機(jī)、網(wǎng)站排名、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
成人性生交大片免费男同| 亚洲成av人片青草影院| 国产亚洲欧美日韩网站| 91欧美日韩国产在线观看 | 亚洲国产精品一区一区| 亚洲一区二区三区蜜桃av| 麻豆精品国产粉嫩av| 国产精品国产三级国产不卡| 久久精品国产视频在热| 天堂av一区二区三区| 国产又粗又长又大又长| 国产精品伦一区二区视频| 日韩欧美乱码一区二区| 国产精品久久一国产精品| 99国产精品的热久久| 亚洲成人午夜激情的三级网| 日日夜夜久久国产精品| 日韩黄片一区二区三区| 黑人巨大欧美一区二区| 精品久久久久久久久999| 91福利社区欧美大片| 亚洲国产视频中文字幕| 天堂av一区二区三区| 91香蕉国产精品日韩| 亚洲少妇精品视频在线| 在线观看91高清视频| 亚洲一区二区三区久久伊人| 亚洲国产日韩精品自拍av| 午夜精品久久久免费视频| 在线中文字幕日韩精品| 亚洲日本精品一区二区三区| 国产精品果亚洲av无人区一区| 一区二区三区日韩专区| 欧美亚洲另类在线第一页| 国产老太婆精品久久久久| 日韩视频看看色网站| 欧美特黄大片在线观看| 国产伦理免费精品中文字幕| 四虎免费在线高清观看| 亚洲熟妇av乱码在线| 亚洲乱码国产乱码精品|