日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

Meta如何將其緩存一致性提高至99.99999999

來(lái)源: 責(zé)編: 時(shí)間:2024-04-23 09:13:33 228觀看
導(dǎo)讀簡(jiǎn)介緩存是計(jì)算機(jī)系統(tǒng)中的一種強(qiáng)大技術(shù),從硬件緩存到操作系統(tǒng)、Web瀏覽器,尤其是后端開(kāi)發(fā)中都有廣泛應(yīng)用。對(duì)于像Meta這樣的公司,緩存非常重要,它有助于降低延遲、處理大量工作負(fù)載,并節(jié)省成本。由于Meta的應(yīng)用場(chǎng)景非常緩

簡(jiǎn)介

緩存是計(jì)算機(jī)系統(tǒng)中的一種強(qiáng)大技術(shù),從硬件緩存到操作系統(tǒng)、Web瀏覽器,尤其是后端開(kāi)發(fā)中都有廣泛應(yīng)用。對(duì)于像Meta這樣的公司,緩存非常重要,它有助于降低延遲、處理大量工作負(fù)載,并節(jié)省成本。由于Meta的應(yīng)用場(chǎng)景非常緩存密集,這給他們帶來(lái)了另一組問(wèn)題,即緩存失效。U2428資訊網(wǎng)——每日最新資訊28at.com

多年來(lái),Meta已將其緩存一致性水平從99.9999(六個(gè)九)提高到99.99999999(十個(gè)九),這意味著他們的緩存集群中不到十億次寫(xiě)入中只有不到1次會(huì)導(dǎo)致不一致。U2428資訊網(wǎng)——每日最新資訊28at.com

本文將重點(diǎn)討論以下幾個(gè)主要部分:U2428資訊網(wǎng)——每日最新資訊28at.com

  • 緩存失效和緩存一致性是什么?
  • Meta為什么如此深刻關(guān)注緩存一致性,即使六個(gè)九還不夠?
  • Meta的監(jiān)控系統(tǒng)如何幫助他們改善緩存失效和緩存一致性,并解決Bug。

U2428資訊網(wǎng)——每日最新資訊28at.com

緩存失效和緩存一致性

根據(jù)定義,緩存不保存數(shù)據(jù)的真實(shí)來(lái)源,因此在源數(shù)據(jù)發(fā)生更改時(shí),應(yīng)主動(dòng)使過(guò)期的緩存條目失效。如果在失效過(guò)程中出現(xiàn)問(wèn)題,會(huì)導(dǎo)致緩存中的值與源數(shù)據(jù)不一致。U2428資訊網(wǎng)——每日最新資訊28at.com

那么我們?nèi)绾问咕彺媸?U2428資訊網(wǎng)——每日最新資訊28at.com

我們可以使用TTL(生存時(shí)間)來(lái)保持?jǐn)?shù)據(jù)的新鮮度,以確保沒(méi)有其他系統(tǒng)引起的緩存失效。但在本文中,我們將假設(shè)失效操作是由緩存之外的某個(gè)組件執(zhí)行的。U2428資訊網(wǎng)——每日最新資訊28at.com

首先讓我們看看如何引入緩存不一致性:U2428資訊網(wǎng)——每日最新資訊28at.com

U2428資訊網(wǎng)——每日最新資訊28at.com

請(qǐng)假設(shè)1、2、3、4是遞增序列中的時(shí)間戳。U2428資訊網(wǎng)——每日最新資訊28at.com

  • 緩存首先嘗試從數(shù)據(jù)庫(kù)獲取值。
  • 但在值 x=42 到達(dá)緩存之前,某個(gè)操作更新了數(shù)據(jù)庫(kù)中的值為 x=43。
  • 數(shù)據(jù)庫(kù)發(fā)送了 x=43 的緩存失效事件,并在 x=42 到達(dá)之前到達(dá)緩存,將緩存值設(shè)置為43。
  • 現(xiàn)在事件 x=42 到達(dá)緩存,將緩存設(shè)置為42,從而引入了不一致性。

為了解決這個(gè)問(wèn)題,我們可以使用版本字段來(lái)執(zhí)行沖突解決,使舊版本永遠(yuǎn)不會(huì)覆蓋當(dāng)前版本。這種解決方案對(duì)于互聯(lián)網(wǎng)上幾乎99%的公司都有效,但是Meta操作的規(guī)模可能使其不足以解決問(wèn)題,因?yàn)槠湎到y(tǒng)的復(fù)雜性。U2428資訊網(wǎng)——每日最新資訊28at.com

為什么Meta如此關(guān)注緩存一致性?

從Meta的角度來(lái)看,緩存不一致性幾乎與數(shù)據(jù)庫(kù)數(shù)據(jù)丟失一樣嚴(yán)重,而從用戶的角度來(lái)看,可能會(huì)導(dǎo)致非常糟糕的用戶體驗(yàn)。U2428資訊網(wǎng)——每日最新資訊28at.com

當(dāng)您在Instagram上向用戶發(fā)送私信時(shí),在幕后,存在著將用戶映射到存儲(chǔ)其消息的主要存儲(chǔ)的過(guò)程。U2428資訊網(wǎng)——每日最新資訊28at.com

在這里假設(shè)有三個(gè)用戶:Bob、Mary和Alice。這些用戶都向Alice發(fā)送消息。Bob在美國(guó),Alice在歐洲,Mary在日本。因此,系統(tǒng)將在接近用戶所在地區(qū)的最近區(qū)域進(jìn)行查詢,以將消息發(fā)送到Alice的數(shù)據(jù)存儲(chǔ)區(qū)域。在這種情況下,當(dāng)TAO副本在BOB和Mary所在的區(qū)域查詢時(shí),它們都有不一致的數(shù)據(jù),因此它將消息發(fā)送到區(qū)域,該區(qū)域沒(méi)有Alice的消息。U2428資訊網(wǎng)——每日最新資訊28at.com

U2428資訊網(wǎng)——每日最新資訊28at.com

在上述情況下,可能會(huì)導(dǎo)致消息丟失和糟糕的用戶體驗(yàn),因此這是Meta需要解決的重要問(wèn)題之一。U2428資訊網(wǎng)——每日最新資訊28at.com

監(jiān)控

為了解決緩存失效和緩存一致性問(wèn)題,第一步是進(jìn)行測(cè)量。如果我們能夠準(zhǔn)確測(cè)量緩存的一致性,并在緩存中出現(xiàn)不一致的條目時(shí)發(fā)出警報(bào),Meta確保他們的測(cè)量不包含任何誤報(bào),因?yàn)橹蛋喙こ處煏?huì)學(xué)會(huì)忽略它,這個(gè)指標(biāo)將失去信任并變得無(wú)用。U2428資訊網(wǎng)——每日最新資訊28at.com

在深入探討Meta實(shí)施的實(shí)際解決方案之前,最簡(jiǎn)單的解決方案可能是記錄和跟蹤每個(gè)緩存狀態(tài)的變化。但是,對(duì)于大型工作負(fù)載的情況,Meta的系統(tǒng)每天處理超過(guò)10萬(wàn)億次的緩存填充。記錄和跟蹤所有緩存狀態(tài)將會(huì)使本來(lái)已經(jīng)很重的緩存工作負(fù)載變得極其繁重,更不用說(shuō)調(diào)試了。U2428資訊網(wǎng)——每日最新資訊28at.com

Polaris

Polaris在非常高的層面上,作為客戶端與一個(gè)有狀態(tài)服務(wù)進(jìn)行交互,并且假設(shè)沒(méi)有對(duì)服務(wù)內(nèi)部的了解。Polaris的工作原理是“緩存應(yīng)該最終與數(shù)據(jù)庫(kù)一致”。Polaris接收失效事件并查詢所有副本,以驗(yàn)證是否存在任何其他違反約束的情況。例如:U2428資訊網(wǎng)——每日最新資訊28at.com

如果Polaris接收到一個(gè)失效事件,表示 x=4,版本為4,它會(huì)作為客戶端檢查所有緩存副本,以驗(yàn)證是否存在任何不變量的違反情況。如果一個(gè)副本返回 x=3 @ 版本3,Polaris會(huì)將其標(biāo)記為不一致,并重新排隊(duì)以稍后對(duì)其進(jìn)行相同目標(biāo)緩存主機(jī)的檢查。Polaris會(huì)在一分鐘、五分鐘或十分鐘的時(shí)間范圍內(nèi)報(bào)告不一致性。U2428資訊網(wǎng)——每日最新資訊28at.com

U2428資訊網(wǎng)——每日最新資訊28at.com

這種多時(shí)間尺度設(shè)計(jì)不僅允許Polaris在內(nèi)部具有多個(gè)隊(duì)列來(lái)有效地實(shí)現(xiàn)退避和重試,而且對(duì)于防止產(chǎn)生誤報(bào)至關(guān)重要。U2428資訊網(wǎng)——每日最新資訊28at.com

讓我們通過(guò)一個(gè)例子來(lái)理解:U2428資訊網(wǎng)——每日最新資訊28at.com

假設(shè)Polaris接收到一個(gè)失效事件,表示 x=4,版本為4。但是當(dāng)Polaris檢查緩存時(shí),找不到鍵 x 的條目,這應(yīng)該被標(biāo)記為不一致。在這種情況下,有兩種可能性:U2428資訊網(wǎng)——每日最新資訊28at.com

  • 在版本3時(shí) x 是不可見(jiàn)的,但版本4的寫(xiě)入是密鑰的最新寫(xiě)入,并且確實(shí)存在緩存不一致性。
  • 可能存在版本5的寫(xiě)入刪除了鍵 x,也許Polaris只是看到了比失效事件中的更近期的數(shù)據(jù)視圖。

現(xiàn)在,我們?nèi)绾未_保這兩種情況中的哪一種是正確的?U2428資訊網(wǎng)——每日最新資訊28at.com

為了驗(yàn)證,在這兩種情況中,Polaris需要通過(guò)查詢數(shù)據(jù)庫(kù)來(lái)檢查。繞過(guò)緩存的查詢可能需要大量計(jì)算資源,并且可能會(huì)使數(shù)據(jù)庫(kù)面臨風(fēng)險(xiǎn),因?yàn)楸Wo(hù)數(shù)據(jù)庫(kù)和擴(kuò)展讀取重負(fù)載是緩存的兩個(gè)最常見(jiàn)用例。因此,我們不能向系統(tǒng)發(fā)送太多查詢。U2428資訊網(wǎng)——每日最新資訊28at.com

Polaris通過(guò)延遲執(zhí)行此類檢查并直到不一致樣本超過(guò)設(shè)置的閾值(例如1分鐘或5分鐘)時(shí)才對(duì)數(shù)據(jù)庫(kù)進(jìn)行調(diào)用來(lái)解決此問(wèn)題。Polaris生成的指標(biāo)是“M分鐘內(nèi)緩存寫(xiě)入的 N 個(gè)九的一致性”。因此,目前Polaris提供了一個(gè)指標(biāo),即緩存在五分鐘的時(shí)間尺度上的一致性達(dá)到99.99999999。U2428資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在讓我們看看Polaris如何幫助Meta使用編碼示例解決Bug。U2428資訊網(wǎng)——每日最新資訊28at.com

讓我們通過(guò)一個(gè)編碼示例來(lái)理解流程:U2428資訊網(wǎng)——每日最新資訊28at.com

假設(shè)一個(gè)緩存維護(hù)一個(gè)鍵到元數(shù)據(jù)映射和鍵到版本映射。U2428資訊網(wǎng)——每日最新資訊28at.com

U2428資訊網(wǎng)——每日最新資訊28at.com

cache_data = {}cache_version = {}meta_data_table = {"1": 42}version_table = {"1": 4}def read_value(key):    value = read_value_from_cache(key)    if value is not None:        return value    else:        return meta_data_table[key]def read_value_from_cache(key):    if key in cache_data:        return cache_data[key]    else:        fill_cache_thread = threading.Thread(target=fill_cache(key))        fill_cache_thread.start()        return Nonedef fill_cache(key):    fill_cache_metadata(key)    fill_cache_version(key)def fill_cache_metadata(key):    meta_data = meta_data_table[key]    print("Filling cache meta data for", meta_data)    cache_data[key] = meta_datadef fill_cache_version(key):    time.sleep(2)    version = version_table[key]    print("Filling cache version data for", version)    cache_version[key] = versiondef write_value(key, value):    version = 1    if key in version_table:        version = version_table[key]    version = version + 1    write_in_databse_transactionally(key, value, version)    time.sleep(3)    invalidate_cache(key, value, version)def write_in_databse_transactionally(key, data, version):    meta_data_table[key] = data    version_table[key] = versiondef invalidate_cache(key, metadata, version):    try:        cache_data = cache_data[key][value]  ## To produce error    except:        drop_cache(key, version)def drop_cache(key, version):    cache_version_value = cache_version[key]    if version > cache_version_value:        cache_data.pop(key)        cache_version.pop(key)read_thread = threading.Thread(target=read_value, args=("1"))write_thread = threading.Thread(target=write_value, args=("1",43))print_thread = threading.Thread(target=print_values)

在緩存失效過(guò)程中,如果由于某種原因?qū)е率Р僮魇。⑶耶惓L幚沓绦蚓哂性谶@種情況下刪除緩存的條件。U2428資訊網(wǎng)——每日最新資訊28at.com

請(qǐng)記住,這只是可能觸發(fā)Bug的非常簡(jiǎn)化的示例,實(shí)際的Bug還涉及數(shù)據(jù)庫(kù)復(fù)制和跨區(qū)域通信。該Bug只有在以上所有步驟按特定順序發(fā)生時(shí)才會(huì)觸發(fā)。該Bug隱藏在交錯(cuò)操作和瞬態(tài)錯(cuò)誤背后的錯(cuò)誤處理代碼中。U2428資訊網(wǎng)——每日最新資訊28at.com

一致性追蹤

現(xiàn)在您是值班工程師,收到了Polaris的緩存不一致性警報(bào),最重要的是檢查日志以確定問(wèn)題可能出現(xiàn)在哪里。正如之前討論的,記錄每個(gè)緩存數(shù)據(jù)更改幾乎是不可能的,但是如果我們只記錄有可能導(dǎo)致更改的數(shù)據(jù)呢?U2428資訊網(wǎng)——每日最新資訊28at.com

U2428資訊網(wǎng)——每日最新資訊28at.com

  • 如果我們看一下上面實(shí)現(xiàn)的代碼,問(wèn)題可能在于如果緩存未收到失效事件或失效操作未生效。從值班工程師的角度來(lái)看,我們需要檢查以下內(nèi)容:
  • 緩存服務(wù)器是否接收到了失效操作?
  • 服務(wù)器是否正確處理了失效操作?
  • 項(xiàng)目是否在此后變

得不一致?U2428資訊網(wǎng)——每日最新資訊28at.com

Meta構(gòu)建了一個(gè)有狀態(tài)追蹤庫(kù),在這個(gè)小窗口中記錄和跟蹤緩存變異,所有有趣和復(fù)雜的交互觸發(fā)導(dǎo)致緩存不一致性的Bug。U2428資訊網(wǎng)——每日最新資訊28at.com

結(jié)論

對(duì)于任何分布式系統(tǒng)來(lái)說(shuō),可靠的監(jiān)控和日志系統(tǒng)至關(guān)重要,以確保我們能夠捕獲Bug,一旦捕獲到Bug,我們就能夠快速找到根本原因,從而減輕問(wèn)題。借鑒Meta的例子,Polaris識(shí)別出了異常并立即觸發(fā)了警報(bào)。有了一致性追蹤的信息,值班工程師們不到30分鐘就找到了Bug的位置。U2428資訊網(wǎng)——每日最新資訊28at.com

參考鏈接:https://engineering.fb.com/2022/06/08/core-infra/cache-made-consistent/U2428資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-84717-0.htmlMeta如何將其緩存一致性提高至99.99999999

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 關(guān)于TypeScript中的泛型,希望這篇文章能讓你徹底理解泛型

下一篇: C# 12 中新增的幾大功能你都知道嗎?

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
  • 一加Ace2 Pro官宣:普及16G內(nèi)存 引領(lǐng)24G

    一加官方今天繼續(xù)為本月發(fā)布的新機(jī)一加Ace2 Pro帶來(lái)預(yù)熱,公布了內(nèi)存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領(lǐng),還有呢?#一加Ace2Pro#,2023 年 8 月,敬請(qǐng)期待。”同時(shí)
  • Redmi Pad評(píng)測(cè):紅米充滿野心的一次嘗試

    從Note系列到K系列,從藍(lán)牙耳機(jī)到筆記本電腦,紅米不知不覺(jué)之間也已經(jīng)形成了自己頗有競(jìng)爭(zhēng)力的產(chǎn)品體系,在中端和次旗艦市場(chǎng)上甚至要比小米新機(jī)的表現(xiàn)來(lái)得更好,正所謂“大丈夫生居
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現(xiàn)已正式出爐,冠軍是來(lái)自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從“最美JK”起到“最美女星&r
  • 2023 年的 Node.js 生態(tài)系統(tǒng)

    隨著技術(shù)的不斷演進(jìn)和創(chuàng)新,Node.js 在 2023 年達(dá)到了一個(gè)新的高度。Node.js 擁有一個(gè)龐大的生態(tài)系統(tǒng),可以幫助開(kāi)發(fā)人員更快地實(shí)現(xiàn)復(fù)雜的應(yīng)用。本文就來(lái)看看 Node.js 最新的生
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對(duì)Reader和Writer接口的組合,
  • 2天漲粉255萬(wàn),又一賽道在抖音爆火

    來(lái)源:運(yùn)營(yíng)研究社作者 | 張知白編輯 | 楊佩汶設(shè)計(jì) | 晏談夢(mèng)潔這個(gè)暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個(gè)月超過(guò) 12 億;有的「博主」火了&m
  • 微博大門(mén)常打開(kāi),迎接海外畫(huà)師漂洋東渡

    作者:互聯(lián)網(wǎng)那些事“起猛了,我能看得懂日語(yǔ)了”。“為什么日本人說(shuō)話我能聽(tīng)懂?”“中文不像中文,日語(yǔ)不像日語(yǔ),但是我竟然看懂了”…&hell
  • iQOO 11S屏幕細(xì)節(jié)公布:首發(fā)三星2K E6全感屏 安卓最好的直屏手機(jī)

    日前iQOO手機(jī)官方宣布,新一代電競(jìng)旗艦iQOO 11S將會(huì)在7月4日19:00正式與大家見(jiàn)面。隨著發(fā)布時(shí)間的日益臨近,官方關(guān)于該機(jī)的預(yù)熱也更加密集,截至目前已
  • iQOO Neo8 Pro評(píng)測(cè):旗艦雙芯加持 最強(qiáng)性能游戲旗艦

    【Techweb評(píng)測(cè)】去年10月,iQOO推出了一款Neo7手機(jī),該機(jī)搭載了聯(lián)發(fā)科天璣9000+,配備獨(dú)顯芯片Pro+,帶來(lái)了同價(jià)位段最佳的游戲體驗(yàn),一經(jīng)上市便受到了諸多用
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产日本欧洲亚洲| 久久精品人人做人人综合 | 国产欧美va欧美不卡在线| 国产精品久久国产三级国电话系列| 国产欧美在线播放| 亚洲国产欧洲综合997久久| av成人国产| 久久国产精品99久久久久久老狼| 牛夜精品久久久久久久99黑人| 欧美日韩一区二区视频在线| 国产精品一页| 亚洲精品在线二区| 欧美一级理论性理论a| 模特精品在线| 国产精品人成在线观看免费| 在线看国产一区| 亚洲一区二区黄色| 裸体一区二区三区| 国产精品嫩草影院av蜜臀| 伊人激情综合| 亚洲小视频在线观看| 久久久久久穴| 欧美性开放视频| 在线观看日韩av| 亚洲综合色自拍一区| 免费亚洲电影在线| 国产欧美日韩中文字幕在线| 亚洲精品国产日韩| 久久国产加勒比精品无码| 欧美日本高清一区| 国内免费精品永久在线视频| 一区二区高清在线观看| 久久天天狠狠| 国产精品视频九色porn| 亚洲精品乱码久久久久久黑人 | 欧美午夜精品久久久久久孕妇| 在线观看久久av| 亚洲欧美综合网| 欧美人与性动交cc0o| 在线精品亚洲| 久久成人精品电影| 国产精品久久久久高潮| 亚洲激情精品| 久久久天天操| 国产麻豆日韩| 中文精品视频一区二区在线观看| 麻豆精品视频在线| 国产一区免费视频| 亚洲免费一区二区| 欧美日韩一区二区在线观看| 亚洲福利视频专区| 久久视频一区二区| 国产婷婷色一区二区三区在线 | 欧美一区影院| 国产精品久久久久久久久久三级 | 国产精品综合| 亚洲色无码播放| 欧美区国产区| 亚洲精品精选| 欧美成在线视频| 亚洲电影免费在线观看| 久久精选视频| 国产一区二区三区久久精品| 亚洲影视在线| 国产精品久久久久久一区二区三区| 亚洲乱码国产乱码精品精98午夜| 免费视频亚洲| 亚洲福利免费| 女女同性精品视频| 亚洲国产精品小视频| 久久久久久黄| 精品51国产黑色丝袜高跟鞋| 久久精品国产综合精品| 国产午夜亚洲精品不卡| 欧美亚洲在线视频| 国产麻豆日韩欧美久久| 性做久久久久久免费观看欧美| 国产精品视频大全| 午夜欧美电影在线观看| 国产免费成人| 欧美在线网址| 娇妻被交换粗又大又硬视频欧美| 久久久夜精品| 91久久精品www人人做人人爽| 欧美国产精品v| 日韩一级在线| 国产精品成人免费视频| 亚洲已满18点击进入久久| 国产精品一区二区久久精品| 欧美一级二区| 精品成人一区二区三区| 麻豆成人小视频| 亚洲精品一区二区三区樱花 | 亚洲日本成人| 欧美日产国产成人免费图片| 一本色道久久综合精品竹菊 | 国产精品免费一区二区三区观看| 亚洲在线免费观看| 国产人成精品一区二区三| 久久久久久亚洲精品中文字幕| 影音先锋日韩资源| 欧美高清影院| 亚洲中字黄色| 国产一区二区丝袜高跟鞋图片| 老司机午夜精品视频在线观看| 亚洲日本黄色| 国产精品国色综合久久| 欧美一区免费| 亚洲高清视频中文字幕| 欧美日韩精品免费观看视频| 亚洲欧美成人网| 国外成人性视频| 欧美激情精品久久久久久黑人| 在线视频欧美日韩| 国产亚洲毛片在线| 欧美承认网站| 亚洲综合社区| 亚洲第一毛片| 欧美系列电影免费观看| 久久www成人_看片免费不卡| 亚洲国产一区二区在线| 国产精品v欧美精品∨日韩| 久久激五月天综合精品| 亚洲激情网站| 国产精品一区二区你懂的| 久久色中文字幕| 亚洲无线观看| 在线观看福利一区| 国产精品成人在线观看| 久久视频这里只有精品| 亚洲视频在线一区| 一区在线影院| 国产精品久久久久久久久久直播 | 亚洲欧美日韩国产一区| 亚洲高清电影| 国产精品欧美在线| 欧美不卡一卡二卡免费版| 亚洲在线免费| 亚洲国产毛片完整版 | 亚洲人午夜精品免费| 国产日本欧洲亚洲| 欧美日韩精品一区二区三区四区| 久久精品二区亚洲w码| 99综合视频| 亚洲成色www久久网站| 国产精品在线看| 欧美日韩国产成人在线观看| 久久精品一区蜜桃臀影院| 中文网丁香综合网| 1024日韩| 国产午夜精品美女视频明星a级| 欧美精品自拍| 久久中文久久字幕| 午夜欧美不卡精品aaaaa| 亚洲精品欧美激情| 激情丁香综合| 国产麻豆91精品| 欧美视频福利| 欧美理论电影网| 麻豆精品在线观看| 久久成人18免费网站| 亚洲一区二区不卡免费| 亚洲精品国偷自产在线99热| 国内精品久久久久影院色| 国产精品久久久久久久久久免费| 欧美区日韩区| 欧美成人视屏| 老牛国产精品一区的观看方式| 欧美一区三区三区高中清蜜桃| 亚洲婷婷综合久久一本伊一区| 亚洲精品国产精品国自产观看 | 久久精品国产第一区二区三区| 亚洲在线观看视频网站| 一区二区三区欧美| 亚洲乱码国产乱码精品精98午夜| 亚洲国产精品va在线看黑人| 国内精品国语自产拍在线观看| 国产美女一区二区| 国产精品麻豆欧美日韩ww | 伊人久久大香线蕉av超碰演员| 国产亚洲在线观看| 国产精品一级二级三级| 国产精品va| 欧美日韩精品系列| 欧美久久久久| 欧美精品二区| 欧美激情免费在线| 欧美国产日韩a欧美在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久亚洲高清| 久久精品一本久久99精品| 欧美在线视频观看| 欧美亚洲免费电影| 欧美一进一出视频| 久久精品99国产精品日本| 久久aⅴ乱码一区二区三区| 欧美一级网站| 欧美在线视频观看| 久久精品水蜜桃av综合天堂| 久久福利视频导航| 久久久噜噜噜久噜久久 | 国产精品欧美精品| 国产女人aaa级久久久级| 国产精品影片在线观看|