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

Facebook的有序隊(duì)列服務(wù)設(shè)計(jì)原理和高性能淺析

開發(fā) 架構(gòu)
Facebook生態(tài)系統(tǒng)是由成千上萬的分布式系統(tǒng)和微服務(wù)驅(qū)動構(gòu)成的,其中許多服務(wù)都得益于異步作業(yè),特別是在在線流量的高峰時(shí)期。異步化提供了諸多好處:更有效地利用資源、提高系統(tǒng)可靠性、允許計(jì)劃執(zhí)行,以及微服務(wù)彼此間可靠通信。

[[394796]]  

 

前言

Facebook生態(tài)系統(tǒng)是由成千上萬的分布式系統(tǒng)和微服務(wù)驅(qū)動構(gòu)成的,其中許多服務(wù)都得益于異步作業(yè),特別是在在線流量的高峰時(shí)期。異步化提供了諸多好處:更有效地利用資源、提高系統(tǒng)可靠性、允許計(jì)劃執(zhí)行,以及微服務(wù)彼此間可靠通信。實(shí)現(xiàn)這些優(yōu)勢都需要一個(gè)隊(duì)列——一個(gè)存儲作業(yè)的地方,允許其異步發(fā)生,或者從一個(gè)服務(wù)傳遞到另一個(gè)服務(wù)。facebook有序隊(duì)列服務(wù)FOQS應(yīng)運(yùn)而生。

FOQS在Facebook上支持?jǐn)?shù)百個(gè)服務(wù),包括:

- Async (Facebook的異步計(jì)算平臺),是Facebook上廣泛使用的通用異步計(jì)算平臺。它提供了各種功能,從通知到完整性檢查,再到為任務(wù)計(jì)劃執(zhí)行,利用FOQS的能力來存儲大量作業(yè)的積壓,推遲作業(yè)運(yùn)行,從而達(dá)到削峰填谷。
- 視頻編碼服務(wù),支持異步視頻編碼服務(wù)。當(dāng)視頻被上傳時(shí),它們被分解成多個(gè)組件,每個(gè)組件存儲在FOQS中,然后進(jìn)行處理。
- 語言翻譯技術(shù),為語言間的帖子翻譯提供了支持。這種工作在計(jì)算上可能非常昂貴,通過將其分解為多個(gè)作業(yè),存儲在FOQS中,并由workers并行運(yùn)行而從并行化中獲益。 

facebook engineering[1]

構(gòu)建分布式優(yōu)先隊(duì)列

FOQS的主要能力是存儲位于namespace中的topic中的item。它公開了一個(gè)Thrift API,包含以下操作:

  • Enqueue
  • Dequeue
  • Ack
  • Nack
  • GetActiveTopics

FOQS通過內(nèi)部服務(wù)Shard Manager來管理對主機(jī)的分片分配。每個(gè)分片分配給一臺主機(jī)。為了更容易地與其他后端服務(wù)通信,F(xiàn)OQS實(shí)現(xiàn)了Thrift接口。下面來分別介紹各部分的原理和設(shè)計(jì):

Item

item是FOQS中優(yōu)先隊(duì)列的消息,其中包含用戶指定的數(shù)據(jù)。一般來說,它由以下字段組成:

  • Namespace  FOQS的多租戶單元
  • Topic 即一個(gè)優(yōu)先隊(duì)列;  一個(gè) namespace可以包含許多(數(shù)千個(gè)) topics.
  • Priority (用戶指定的32位整數(shù)), 數(shù)值越小優(yōu)先級越高。
  • Payload 不可變二進(jìn)制大對象,大小可以到10kb。開發(fā)人員可以自由地在這里放置他們想要的任何東西。
  • Metadata 可變二進(jìn)制對象。開發(fā)人員可以自由地在這里放置他們想要的任何東西。通常,元數(shù)據(jù)應(yīng)該只有幾百字節(jié)。
  • Dequeue delay — Item應(yīng)該從隊(duì)列中退出的時(shí)間戳。這也稱為deliver_after.
  • Lease duration 一個(gè)Item需要被消費(fèi)者ACK或者NACK而出隊(duì)列的持續(xù)時(shí)間,如果消費(fèi)者什么都沒有做,則FOQS可以根據(jù)客戶指定的重試策略(至少一次、最多一次和最大重試計(jì)數(shù))重新投遞Item。
  • FOQS-assigned unique ID 用于通過API標(biāo)識一個(gè)Item.
  • TTL 限制Item在隊(duì)列中的駐留時(shí)間。一旦一個(gè)Item的生存時(shí)間(TTL)被命中,它將被刪除。

「FOQS中的每個(gè)Item對應(yīng)于MySQL表中的一行。在進(jìn)入隊(duì)列時(shí),會給一個(gè)Item分配一個(gè)ID。」

topic

一個(gè)topic就是一個(gè)邏輯優(yōu)先隊(duì)列,一般是一個(gè)字符串,由用戶指定。它包含item,并按它們的優(yōu)先級和deliver_after值對它們進(jìn)行排序。主題是廉價(jià)且而且是動態(tài)變動的,只需將item排隊(duì)并指定topic標(biāo)識就可以創(chuàng)建topic。

由于topic是動態(tài)的,F(xiàn)OQS為開發(fā)人員提供了一個(gè)API,通過查詢活動topic(至少包含一個(gè)item)來發(fā)現(xiàn)topic。當(dāng)一個(gè)topic沒有更多的item時(shí),它就不再存在。

namespace

一個(gè)namespace和一個(gè)隊(duì)列用例相匹配。它是FOQS的多租戶單位。每個(gè)namespace都有一定的容量保證,以每分鐘的隊(duì)列數(shù)量衡量。命名空間可以共享同一列(一列是FOQS主機(jī)和MySQL分片的集合,為一組命名空間提供服務(wù)),且不相互影響。命名空間只映射到一個(gè)列。

Enqueue

Enqueues是item進(jìn)入FOQS的入口。如果成功進(jìn)入隊(duì)列,則會執(zhí)行持久化,最終出隊(duì)列。

當(dāng)一個(gè)入隊(duì)請求到達(dá)FOQS主機(jī)時(shí),請求被緩沖下來并返回一個(gè)promise。每個(gè)MySQL分片都有一個(gè)對應(yīng)的worker,它從緩沖區(qū)中讀取item并將它們插入到MySQL中。一個(gè)數(shù)據(jù)庫行對應(yīng)一個(gè)item。一旦插入完成(成功或失敗),promise就會完成實(shí)現(xiàn),并將隊(duì)列響應(yīng)發(fā)送回客戶機(jī)。如下圖所示:

FOQS使用熔斷設(shè)計(jì)模式來標(biāo)記不健康的分片。其健康狀況由慢查詢(滾動窗口上平均毫秒數(shù)大于 x ms)或錯誤率(滾動窗口上平均錯誤數(shù)大于x%)定義。如果分片被判定為不健康,worker將停止工作,直到分片健康。這樣,F(xiàn)OQS就不會繼續(xù)向已經(jīng)不健康的分片添加新item了。

如果插入成功,enqueue API返回一個(gè)項(xiàng)目的唯一ID。該ID是一個(gè)字符串,包含分片 ID和分片中的64位主鍵。這種組合唯一地標(biāo)識了FOQS中的每一項(xiàng)。

Dequeue

dequeue API的入?yún)⑹?topic, count)的參數(shù)對的集合。對于每個(gè)topic,F(xiàn)OQS最多會返回對該topic的count個(gè)item。這些item是按優(yōu)先級和deliver_after排序的,因此優(yōu)先級較低的物品將首先被交付。如果多個(gè)item的優(yōu)先級最低,較低的deliver_after(即較老的)item將首先交付。

隊(duì)列API允許指定項(xiàng)目的過期期限。當(dāng)一個(gè)item出隊(duì)列時(shí),它的過期判定也會開始。如果item沒有在期限內(nèi)被ack或被nack,它可以被重投。這是為了避免下游消費(fèi)者在ack或nack item之前崩潰時(shí)丟失item。FOQS支持至少一次和最多一次的投遞。如果一個(gè)item最多投遞一次,則在過期時(shí)間到期后將其刪除;如果至少一次,將嘗試重新投遞。

由于FOQS支持優(yōu)先級,每臺主機(jī)需要在它關(guān)聯(lián)的分片上做一個(gè)reduce操作,以找到優(yōu)先級最高的item。為了優(yōu)化,F(xiàn)OQS維護(hù)了一個(gè)叫做預(yù)取緩沖區(qū)(Prefetch Buffer)的數(shù)據(jù)結(jié)構(gòu),它在后臺運(yùn)行,從所有分片中取優(yōu)先級最高的item,然后進(jìn)行緩存,以便客戶端從隊(duì)列中取出。

每個(gè)分片維護(hù)一個(gè)按優(yōu)先級排序的,準(zhǔn)備投遞的item主鍵的 內(nèi)存索引。該索引被所有可能標(biāo)記一個(gè)item已經(jīng)準(zhǔn)備好投遞的操作(如enqueues)進(jìn)行更新。并允許預(yù)取緩沖區(qū)通過k-way merge和select查詢來高效地找到優(yōu)先級最高的主鍵。這些item的狀態(tài)在數(shù)據(jù)庫中也被更新為“已投遞”,避免重復(fù)投遞。

預(yù)取緩沖區(qū)(Prefetch Buffer)通過存儲每個(gè)topic的客戶端請求(出隊(duì)率)來補(bǔ)充自身。預(yù)取緩沖區(qū)(Prefetch Buffer)將以與客戶端請求成比例的速率請求item。快速出隊(duì)的topic將獲得更多的item放入預(yù)取緩沖區(qū)。

dequeue API只是從預(yù)取緩沖區(qū)讀取項(xiàng)目并將它們返回給客戶機(jī):  

 

   

 

Ack/Nack

ack表示該item已退出隊(duì)列并已成功處理,不需要再次發(fā)送。

nack表示一個(gè)item應(yīng)該被重新投遞,因?yàn)榭蛻舳诵枰俅翁幚怼.?dāng)一個(gè)項(xiàng)被NACK時(shí),是可以延遲處理的,允許客戶端在處理失敗的item時(shí)利用指數(shù)后退。此外,客戶端可以在nack上更新該item的元數(shù)據(jù),以便在該item中存儲部分結(jié)果。

因?yàn)槊總€(gè)MySQL分片最多屬于一個(gè)FOQS主機(jī),一個(gè)ack/nack請求需要落在分片對應(yīng)的主機(jī)上。由于shard ID編碼在每個(gè)item ID中,F(xiàn)OQS客戶端使用shard來定位主機(jī)。這個(gè)映射通過Shard Manager查找。

一旦ack/nack被路由到正確的主機(jī),它就會被發(fā)送到特定分片的內(nèi)存緩沖區(qū)。worker從ack緩沖區(qū)中取出item,然后從MySQL分片中刪除這些行; 類似地,worker從nack緩沖區(qū)中提取item。但不是刪除,而是使用新的deliver_after時(shí)間和元數(shù)據(jù)(如果客戶端更新了它)更新item。如果ack或nack操作因?yàn)槿魏卧騺G失,例如MySQL不可用或FOQS節(jié)點(diǎn)崩潰,這些item將被考慮在租約到期后重新投遞。 

 

Push vs. Pull

FOQS提供了一個(gè)基于拉的接口,消費(fèi)者使用dequeue API來獲取可用數(shù)據(jù)。為了理解在FOQS API中提供拉模型背后的動機(jī),我們看看使用FOQS的作業(yè)的多樣性。它包括以下特征:

  • 端到端延遲處理的需要:端到端處理延遲,是指item從準(zhǔn)備好到被消費(fèi)者從隊(duì)列中拉取消費(fèi)所經(jīng)歷的時(shí)間。快速消費(fèi)和緩慢消費(fèi)的作業(yè)混在一起。有的可以被毫秒級消費(fèi),而有的會延遲好幾天。
  • 處理速率 :  topic對于item的消費(fèi)速率可能是不同的(每分鐘10個(gè)item到每分鐘1000多個(gè)item)。但是,根據(jù)下游資源在特定時(shí)間的可用性,可能有別于它們?nèi)粘5奶幚硭俣取?/span>
  • 優(yōu)先級: topic級別或topic內(nèi)單個(gè)item級別的處理優(yōu)先級不同。
  • 處理的位置 : 某些topic和item需要在特定的區(qū)域進(jìn)行處理,以確保它們與正在處理的數(shù)據(jù)的關(guān)聯(lián)性。

FOQS的大規(guī)模實(shí)踐

FOQS在過去幾年中經(jīng)歷了指數(shù)級的增長,現(xiàn)在每天處理近一萬億件產(chǎn)品。而處理的積壓訂單已經(jīng)達(dá)到數(shù)千億項(xiàng),反映了系統(tǒng)處理能力普遍欠缺。為了處理這種規(guī)模,我們必須實(shí)現(xiàn)一些優(yōu)化。

檢查點(diǎn) CheckPointing

FOQS專門設(shè)置有后臺線程,來運(yùn)行比如延遲的item準(zhǔn)備投遞、租約過期和清除過期的item,這些操作依賴于記錄行中的時(shí)間戳字段。

比如,如果我們想更新所有準(zhǔn)備交付的item的狀態(tài),來標(biāo)識它們已經(jīng)準(zhǔn)備好投遞,則需要一個(gè)查詢:

  1. where timestamp_column <= UNIX_TIMESTAMP() for update 

對所有行進(jìn)行更新。

這種查詢的問題是MySQL需要用時(shí)間戳≲now 鎖定對所有行更新(不僅僅是符合條件的那些記錄)。、歷史越長,讀取查詢就越慢。

通過checkpoinging,F(xiàn)OQS在查詢上維護(hù)了一個(gè)下界(最后處理的已知時(shí)間戳),它限定了where子句。where子句變成:

  1. WHERE <checkpoint> <= timestamp_column AND timestamp_column <= UNIX_TIMESTAMP() 

通過在兩邊綁定查詢,表示歷史記錄的行數(shù)就會更少,從而使讀取(和更新)的總體性能更好。

災(zāi)備

Facebook的基礎(chǔ)設(shè)施需要能夠承受一整個(gè)數(shù)據(jù)中心發(fā)生異常。所以,每個(gè)FOQS MySQL分片被復(fù)制到兩個(gè)冗余的災(zāi)備集群。跨區(qū)復(fù)制是異步的,但是MySQL binlog以同步的方式持久化到同一區(qū)域的另一個(gè)災(zāi)備集群中。

如果數(shù)據(jù)中心需要被清空(或者M(jìn)ySQL數(shù)據(jù)庫正在進(jìn)行維護(hù)),MySQL主數(shù)據(jù)庫將暫時(shí)處于只讀模式,直到副本能夠和主節(jié)點(diǎn)同步。

這通常需要幾毫秒。一旦副本和主節(jié)點(diǎn)數(shù)據(jù)達(dá)到一致,副本就被提升為主節(jié)點(diǎn)。

而這時(shí)會變成MySQL的主節(jié)點(diǎn)在另一個(gè)區(qū)域,而分區(qū)被分配給該區(qū)域的FOQS主機(jī)。這將最大限度地減少跨區(qū)域的網(wǎng)絡(luò)流量,但相對來說比較昂貴。推動MySQL副本成為主節(jié)點(diǎn)的事件會導(dǎo)致跨地區(qū)的流量不平衡(一般來說,F(xiàn)OQS不能假設(shè)哪里有多少流量)。為了處理這些場景,F(xiàn)OQS不得不改進(jìn)它的路由,使入隊(duì)列路由到有足夠容量的主機(jī),而出隊(duì)列路由到具有高優(yōu)先級item的主機(jī)。

FOQS本身使用的一些災(zāi)難可靠性優(yōu)化:

  • 入隊(duì)轉(zhuǎn)發(fā): 如果入隊(duì)請求落在一個(gè)負(fù)載過重的主機(jī)上,F(xiàn)OQS將它轉(zhuǎn)發(fā)給另一個(gè)有處理能力的主機(jī)。
  • 全局速率限制:  由于namespace是foqs的多租戶單元,所以每個(gè)namespace都有一個(gè)速率限制(計(jì)算為每分鐘排隊(duì)數(shù))。FOQS在全局(所有地區(qū))強(qiáng)制執(zhí)行這個(gè)速率限制。在一個(gè)特定的區(qū)域內(nèi)保證速率限制是不可能的,但是FOQS確實(shí)使用流量模式來嘗試將處理能力與流量配置在一起,以減少跨區(qū)域的流量。

Reference 

 

 

[1]

facebook engineering: facebook工程師技術(shù)博客

 

 

 

責(zé)任編輯:龐桂玉 來源: Coder的技術(shù)之路
相關(guān)推薦

2017-07-07 16:36:28

BIOIO模型 NIO

2020-12-09 09:21:41

微服務(wù)架構(gòu)數(shù)據(jù)

2015-04-27 14:42:24

技術(shù)架構(gòu)服務(wù)器性能

2025-08-14 07:42:21

2024-07-05 09:41:42

2019-01-08 13:32:38

Nginx服務(wù)器IO復(fù)用

2022-12-09 08:40:56

高性能內(nèi)存隊(duì)列

2024-07-31 08:31:13

2020-07-16 08:06:53

網(wǎng)關(guān)高性能計(jì)

2024-09-03 09:15:37

2018-03-14 08:39:40

2024-09-02 18:10:20

2025-09-28 04:00:00

2021-10-18 08:28:03

Kafka架構(gòu)主從架構(gòu)

2021-08-30 09:30:29

Kafka高性能設(shè)計(jì)

2022-09-14 22:58:58

Push 推薦Java 開發(fā)vivo

2023-01-11 15:17:01

gRPC.NET 7

2024-08-15 06:51:31

2024-02-26 07:43:10

大語言模型LLM推理框架

2023-02-02 08:18:41

點(diǎn)贊
收藏

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

国产欧美在线一区| 久久精品国产精品国产精品污| 狂野欧美性猛交| 久久久久毛片免费观看| 婷婷成人激情在线网| 日韩一二三区不卡在线视频| 99久久亚洲精品日本无码| 激情文学一区| 色小说视频一区| 国产激情第一页| 日本电影久久久| 欧美日韩国产一区中文午夜| 亚洲国产高清国产精品| 可以免费观看的毛片| 秋霞影院一区二区| 久久青草精品视频免费观看| 影音先锋男人看片资源| 午夜精品福利影院| 日韩欧美一二区| 少妇一级淫免费放| 日韩电影免费看| 一区二区三区欧美激情| 欧洲在线视频一区| 婷婷五月综合激情| 国产一区二区三区免费观看 | 不卡一本毛片| 国产精品国产三级国产三级人妇 | 亚洲一卡二卡三卡四卡五卡| 午夜一区二区三区| 亚洲欧美一区二区三| 国产精品自拍av| 国产精品视频自拍| 东京热一区二区三区四区| 国内精品美女在线观看| 日韩一区二区精品视频| 中文字幕在线观看免费高清| 久久香蕉精品香蕉| 日韩欧美国产小视频| 91av视频免费观看| 国产精品第一| 欧美性色综合网| 欧美激情精品久久久久久小说| 三级中文字幕在线观看| 国产乱码精品一区二区三区四区| 欧美中文在线| 老司机久久99久久精品播放免费| 97碰在线观看| 日韩欧美三级在线观看| 欧美日韩第一区| 免费91在线视频| 2025国产精品自拍| 亚洲欧美综合久久久| www.亚洲天堂| 午夜少妇久久久久久久久| 先锋资源久久| 久久天天躁狠狠躁夜夜躁2014| youjizz亚洲女人| 日韩影院二区| 久久精品成人欧美大片古装| 日本视频在线免费| 亚洲一区二区| 久久久久国色av免费观看性色| 欧美在线视频第一页| 中文在线日韩| 欧美激情中文字幕乱码免费| 日韩欧美大片在线观看| 男女av一区三区二区色多| 日韩美女在线看| 精品黑人一区二区三区| 久久精品国产一区二区三区免费看 | 亚洲aa中文字幕| 亚洲av综合色区无码一二三区 | 91亚洲精品丁香在线观看| 国产麻豆精品一区| 成人aaaa免费全部观看| 久久伦理网站| 免费a级在线播放| 亚洲精品大片www| 国产综合中文字幕| 成人做爰免费视频免费看| 91精品国产综合久久精品麻豆| 91人妻一区二区| 日韩一级电影| 日韩在线视频导航| 欧美成人精品欧美一级乱黄| 日韩影院免费视频| 亚洲v日韩v综合v精品v| 婷婷色在线观看| 欧美国产乱子伦| www.亚洲视频.com| 成人免费av电影| 欧美一级高清大全免费观看| 美国黄色a级片| 久久婷婷蜜乳一本欲蜜臀| 久久综合免费视频影院| 日本一区二区三区精品| 激情五月激情综合网| 精品国产乱码久久久久久108| 福利视频在线看| 一区二区三区精品在线观看| 少妇激情一区二区三区| 伊色综合久久之综合久久| 一本色道久久88综合亚洲精品ⅰ| 欧美日韩免费一区二区| 欧美a级一区二区| 国产精品有限公司| 激情在线小视频| 一本大道av一区二区在线播放 | 一级特黄aaa| 99免费精品视频| 99久re热视频精品98| 欧美片第一页| 亚洲精品在线网站| 久久国产高清视频| 免费看欧美美女黄的网站| 国产在线精品日韩| 在线播放蜜桃麻豆| 欧美日韩久久一区二区| 91网站免费视频| av不卡在线| 99精彩视频在线观看免费| 成人av毛片| 欧美视频国产精品| 国产欧美视频一区| 影音先锋日韩在线| 国产美女精品视频免费观看| 日韩av高清在线| 午夜电影网一区| 日本少妇xxxx软件| 自拍偷拍欧美专区| 川上优av一区二区线观看| yiren22亚洲综合伊人22| 日韩欧美有码在线| 91玉足脚交白嫩脚丫| 国内精品久久久久久久影视蜜臀| 91中文字幕一区| 大片免费在线观看| 7777精品伊人久久久大香线蕉完整版 | 中国av一区| 91av视频在线免费观看| 天堂网2014av| 夜夜揉揉日日人人青青一国产精品 | 水蜜桃在线视频| 亚洲精品久久久一区二区三区| 久久久精品一区二区涩爱| 国产精品99久久久久| 久久久无码中文字幕久...| 精品一区二区三区免费看| 久久久精品一区| japanese国产| 亚洲一区二区三区自拍| 在线观看免费视频黄| 亚洲日本激情| 久久久免费看| 亚洲欧美在线成人| 日韩视频第一页| av av片在线看| 亚洲午夜久久久久久久久久久 | 人人香蕉久久| 国产97在线|亚洲| chinese偷拍一区二区三区| 欧美日韩国产综合草草| 欧美黄色aaa| 国产成人免费视频网站| www.日本在线播放| 精品一区av| 91欧美精品成人综合在线观看| 中文字幕资源网在线观看| 亚洲国产成人精品久久久国产成人一区 | 久久久久成人精品无码中文字幕| 一本色道久久综合亚洲精品不卡| 欧美国产综合视频| 久久免费资源| 欧美日韩国产成人在线| 偷拍25位美女撒尿视频在线观看| 色老头久久综合| 永久免费看mv网站入口| 成人毛片老司机大片| 久草综合在线观看| 亚洲乱码免费伦视频| 国产精品一区二区三区在线| 日韩一区二区三区免费视频| 欧美成人免费在线观看| 青青草免费在线| 91精品国产综合久久精品麻豆| 日韩欧美一区二区一幕| 国产精品情趣视频| caopor在线| 免费精品视频最新在线| 国产真实老熟女无套内射| 欧美日韩在线播放视频| 成人av播放| 久久久久久久性潮| 欧美性视频网站| 午夜dj在线观看高清视频完整版| 亚洲乱码国产乱码精品精| 99在线观看免费| 色婷婷综合久久久| 九九免费精品视频| 国产精品青草久久| 粉嫩av蜜桃av蜜臀av| 国产伦精品一区二区三区免费 | 中文字幕69页| 亚洲一区视频在线| 手机av在线不卡| 91片在线免费观看| 性生活一级大片| 日韩一区精品视频| 黄色www网站| 牛夜精品久久久久久久99黑人| 欧美一区1区三区3区公司| 哺乳一区二区三区中文视频| 国产原创欧美精品| 中文字幕av一区二区三区佐山爱| 欧美精品九九久久| a级网站在线播放| 在线视频亚洲欧美| 国产三级电影在线| 日韩毛片在线观看| 欧美在线精品一区二区三区| 欧美一区二区三区在| 中文字幕在线观看精品| 色婷婷久久久久swag精品| 国产一级淫片a| 夜夜爽夜夜爽精品视频| 国模无码国产精品视频| 中文字幕日韩欧美一区二区三区| 精品成人无码一区二区三区| 91麻豆精品视频| 国产草草浮力影院| 不卡一区中文字幕| 中文字幕人妻一区| 成人美女视频在线看| 欧美做受高潮中文字幕| 国产精品77777| xxx中文字幕| 国产精品一区在线观看乱码| 国产成人美女视频| 极品销魂美女一区二区三区| 奇米影视四色在线| 麻豆成人在线观看| 污污的网站免费| 久久福利视频一区二区| 涩多多在线观看| 韩国v欧美v亚洲v日本v| 久久久久亚洲av无码麻豆| 国产久卡久卡久卡久卡视频精品| 亚洲va综合va国产va中文| 久久av老司机精品网站导航| 亚洲精品综合在线观看| 国产精品一区二区在线观看不卡| 91精产国品一二三产区别沈先生| 国产一区二区三区免费在线观看| 中文字幕人妻无码系列第三区| 国产精品一二三区在线| 99久久久无码国产精品性波多| 成人小视频在线| 免费无码一区二区三区| 国产亚洲一本大道中文在线| 精品一区二区6| 亚洲色图另类专区| 久久精品欧美一区二区| 精品久久久久久电影| 国产亚洲欧美在线精品| 欧美日韩国产影片| 国产成a人亚洲精v品无码| 精品国产乱码久久| 婷婷亚洲一区二区三区| 中文字幕一区电影| 欧美亚洲系列| 国产成人精品视| 国产精品日韩精品在线播放| 国语精品免费视频| 国产在视频线精品视频www666| 欧美h视频在线观看| 激情久久婷婷| 人人爽人人av| 国产成人亚洲精品青草天美| 中文字幕一二三四区| 国产精品美女久久久久aⅴ| 国产在线观看成人| 在线观看日韩电影| 亚洲精选一区二区三区| 亚洲视频视频在线| 日本不卡影院| 国产精品久久久久久超碰 | 免费高清在线观看电视| 亚洲6080在线| 国产又粗又猛又爽又黄91| 精品动漫一区二区三区在线观看| 久久经典视频| 成人97在线观看视频| 在线看片福利| 操一操视频一区| 精品国产精品久久一区免费式| 国产情侣第一页| 日本怡春院一区二区| 特级特黄刘亦菲aaa级| 国产人久久人人人人爽| 日韩乱码一区二区| 欧美精品久久久久久久久老牛影院| 免费av网站观看| 久久精品国亚洲| 成人啊v在线| 国产日韩欧美一区二区| 久久久久久久久丰满| 国产成人精品无码播放| 99久久er热在这里只有精品15| 日韩欧美综合视频| 在线免费观看日本一区| 五月婷婷激情在线| 欧美大片网站在线观看| 成人影院网站ww555久久精品| 欧美日韩精品久久久免费观看| 欧美黄色大片网站| 污污网站免费看| 久久精品人人做人人综合 | 国产精品美女久久久浪潮软件| 日本美女久久久| 国产精品欧美精品| 中文字幕免费视频观看| 亚洲精品日韩丝袜精品| segui88久久综合| 亚洲自拍中文字幕| 欧美成人激情| 中文字幕在线综合| 国产女同互慰高潮91漫画| 成人精品在线看| 亚洲国产精品字幕| 77thz桃花论族在线观看| 成人av免费看| 国产精品二区影院| 亚洲精品一二三四| 亚洲欧美另类小说视频| 国产一区二区三区在线观看| 丝袜美腿亚洲一区二区| 国产精品.xx视频.xxtv| 天堂精品一区二区三区| 蜜桃一区二区三区四区| 丁香六月激情综合| 欧美日韩成人综合| 麻豆tv入口在线看| 成人做爰www免费看视频网站| 五月婷婷六月综合| 两女双腿交缠激烈磨豆腐| 亚洲欧美国产77777| 精品国产乱码久久久久久蜜臀网站| 久久影院资源网| 亚洲高清在线一区| 黄色一级视频在线播放| 99麻豆久久久国产精品免费优播| 国产精品xxxx喷水欧美| 亚洲伦理中文字幕| 日韩av免费| 精品国产无码在线| 国产成人小视频| 亚洲欧美在线观看视频| 亚洲天堂av在线免费| 成人亚洲视频| 青青在线免费视频| 不卡的av中国片| 色老头在线视频| 中文字幕亚洲欧美日韩在线不卡| 国产精品日本一区二区三区在线| 日韩极品视频在线观看| 91性感美女视频| 中文字幕在线视频免费| 欧美成人第一页| 婷婷综合电影| 国产探花在线看| 亚洲二区在线观看| 玖玖综合伊人| 成人激情视频在线| 伊人久久综合| 欧美人与性囗牲恔配| 日韩视频免费观看高清完整版 | 精品一区二区免费| 久青草免费视频| 亚洲天堂开心观看| 国产精品一区二区美女视频免费看 | 天堂v在线视频| youjizz国产精品| 亚洲天堂中文在线| 国内成人精品一区| 精品视频亚洲| 性色av蜜臀av浪潮av老女人| 欧美视频中文字幕| 国产网红女主播精品视频| 亚洲国产成人不卡| 成人福利视频在线看| 在线视频播放大全| 国模视频一区二区三区| 99精品全国免费观看视频软件| 丝袜熟女一区二区三区| 欧美三级韩国三级日本三斤 | 国产精品伦理久久久久久| 免费a v网站| 5566中文字幕一区二区电影| 伊人久久在线| cao在线观看|