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

Redis如何輕松支撐萬億級日訪問量?

運維 數(shù)據(jù)庫運維 Redis
Redis 在微博內(nèi)部分布在各個應(yīng)用場景,比如像現(xiàn)在春晚必爭的“紅包飛”活動,還有像粉絲數(shù)、用戶數(shù)、閱讀數(shù)、轉(zhuǎn)評贊、評論蓋樓、廣告推薦、負(fù)反饋、音樂榜單等等都有用到 Redis。

Redis 在微博內(nèi)部分布在各個應(yīng)用場景,比如像現(xiàn)在春晚必爭的“紅包飛”活動,還有像粉絲數(shù)、用戶數(shù)、閱讀數(shù)、轉(zhuǎn)評贊、評論蓋樓、廣告推薦、負(fù)反饋、音樂榜單等等都有用到 Redis。

[[280870]]

圖片來自 Pexels

本人將分為如下三個方面分享:

  • Redis 在微博的應(yīng)用場景
  • Redis 在微博的優(yōu)化
  • 未來展望

Redis 在微博的應(yīng)用場景

業(yè)務(wù)&規(guī)模&挑戰(zhàn)

線上的業(yè)務(wù)有前面提到的信息流、廣告、用戶關(guān)系等等,還有現(xiàn)在大家可能比較感興趣的熱搜,用戶一般會去看發(fā)生了什么事情,還有引爆閱讀量的話題,以及現(xiàn)在兵家必爭之地的視頻,微博大大小小的業(yè)務(wù)都有用到 Redis。

線上規(guī)模方面,微博有 100T+ 存儲,1000+ 臺物理機(jī),10000+Redis 實例。

關(guān)于面臨的挑戰(zhàn),我們每天有萬億級的讀寫,線上的響應(yīng)時間要求也比較高。

舉一個簡單的例子,我們部署資源是跨機(jī)房部署,但是有一些業(yè)務(wù)部門連跨機(jī)房部署存在的多余 2 毫秒的延遲都要投訴反饋(真的是臣妾做不到啊,如果單機(jī)房故障了呢?有些業(yè)務(wù)方真是異想天開)。響應(yīng)時間基本上四個 9 是 20 毫秒。

成本的話因為我們線上有大量需求是上 T 的,所以成本壓力其實也特別大。

技術(shù)選型

上圖是微博數(shù)據(jù)庫的技術(shù)選型,可以看到這里面不僅僅包含 Redis 等 NoSQL,還有隊列、存儲。

優(yōu)化

從 2010 年開始,我們就基于官方的 2.0 版本引進(jìn) Redis,到現(xiàn)在已經(jīng)有 9 個年頭了。

我們主要做了以下這些方面的改進(jìn):

  • Redis 編碼格式,在特殊場景下可以節(jié)省 30% 的空間。
  • 主從庫方面有獨立的復(fù)制線程。
  • 我們定制化一些數(shù)據(jù)結(jié)構(gòu),比如:LongSet 數(shù)據(jù)結(jié)構(gòu),它是一個“固定長度開放尋址的 Hash 數(shù)組”,減少 Redis dict 很多額外的指針開銷。
  • 在主從復(fù)制方面,獨立復(fù)制線程+完全增量復(fù)制,這樣的話,如果網(wǎng)絡(luò)主從臨時斷了,只要從當(dāng)前的 Pos 點同步數(shù)據(jù)就行。
  • 在持久化方面,我們是全量的 RDB 加增量的 AOF 復(fù)制。
  • AOF 寫入/ 刷盤,主線程—>BIO,避免了因為寫入導(dǎo)致的阻塞。
  • 落地時間,不可控—>cronsave 可控。
  • 增加 aofnumber,設(shè)置 AOF 數(shù)量,避免因為寫入過快,磁盤寫滿。
  • 高可用,Redis 的 HA 我們并沒有用官方的或者社區(qū)開源的,用的是我們自己開發(fā)的一套 Redis HA,保障在故障的情況下,能快速進(jìn)行切換。

微博有大量的技術(shù)場景,比如轉(zhuǎn)評贊、閱讀數(shù)等,對于一些用戶來說,他們是很關(guān)心這些指標(biāo)的。

如果我們用原生的 Redis,會浪費大量的存儲空間,因為它的產(chǎn)品特別特殊,它的 Key 是一個用戶的 ID,Value 是數(shù)字。

我們自己內(nèi)部最早改了一版叫 Redis Counter,它相當(dāng)于只維持了一個哈希表,節(jié)省了大量的 Redis 內(nèi)存空間。

當(dāng)然它有一個缺點就是當(dāng)初是短平快地上線了,所以它只支持單個列和單個表,如果你要存轉(zhuǎn)發(fā),評論,贊 3 個計數(shù)的話需要部署 3 套資源,這樣一來大家訪問微博取這 3 個數(shù)的速度會變慢。

而且需要維護(hù) 3 套資源,為了應(yīng)對這種場景,我們支持了多列和多表的方式,如果一個表寫滿了,可以繼續(xù)寫下一個表,寫到最后一個表時,我們可以把前面的表滾到盤里面,但是這個時候是不可讀的。

為了解決不可讀的問題,我們想了一個辦法,把表都放在磁盤里面,維護(hù) ddb 的數(shù)據(jù)結(jié)構(gòu),在這樣的落地方式下,就可以把最近的熱數(shù)據(jù)放在內(nèi)存里面,把冷數(shù)據(jù)或者歷史數(shù)據(jù)放在磁盤里面。

之前統(tǒng)計了一下,在線上 90% 多的情況下,用戶只訪問幾個月的數(shù)據(jù),所以一些長尾數(shù)據(jù)可以靠從磁盤中讀取數(shù)據(jù)來解決,也不影響用戶體驗。

微博還有一些存在性判斷的行為,比如是否贊過、是否閱讀過,這些全量的數(shù)據(jù)特別大,如果用 Redis 的話對內(nèi)存成本花費特別大。

所以我們改造了一版服務(wù),它是一個兼容 Redis 協(xié)議,基于 BloomFilter,開發(fā)了一版 Phantom,高性能,單線程網(wǎng)絡(luò)處理機(jī)制,與 Redis 性能相當(dāng),低存儲空間,每條記錄占用 1.2*N 字節(jié)(1% 的誤判率,每增加 0.6*N 字節(jié)誤判率下降為原來的 1/10,N 為單個槽位占用的 bit 數(shù))。

當(dāng)然還有其他像我們最近用的隊列、MySQL 等等其他類型的數(shù)據(jù)庫,這邊就不展開了。

簡單做一下 Redis 第一階段優(yōu)化的小結(jié):

  • 無阻塞落地。
  • 增量復(fù)制->RDB+AOF。
  • 在線熱升級。
  • 關(guān)系 Graph 定制,內(nèi)存降為 1/10,性能相當(dāng)。
  • 計數(shù)定制化,內(nèi)存降為1/4,性能提升 3-5 倍。
  • BloomFilter。

但是我們做了這么多優(yōu)化還是跟不上業(yè)務(wù)的需求。

Redis 在微博的優(yōu)化

首先需要明白為什么要優(yōu)化,我們一般從三個方面進(jìn)行考慮:

首先是業(yè)務(wù)方。目前線上的業(yè)務(wù)方需要關(guān)心資源的分布、容量規(guī)劃等多方面,比如內(nèi)存是否滿了、磁盤是否滿了、如果用 MySQL 的話是否要提前分庫分表、QPS 是否能扛住。

我們希望把這些問題對業(yè)務(wù)方屏蔽,他們只管用,而不用關(guān)心太多涉及到資源細(xì)節(jié)的方面。

第二是 DBA。雖然現(xiàn)在微博已經(jīng)不是處于高速增長的狀態(tài)了,但實際上它也還是以一定的速度在增長,所以對 DBA 來說,需求還是特別多的。

加上我們部門是承接微博所有的數(shù)據(jù)庫的服務(wù),有微博最多的服務(wù)器,因此對于我們來說,需求多,變更多,挑戰(zhàn)大。

從設(shè)計的角度,我們要考慮如何設(shè)計 Redis 更合理。

總結(jié)了一下有三個方面:

  • 高性能,讀寫快、訪問快、響應(yīng)時間快。
  • 能夠支持大容量的需求。
  • 可擴(kuò)展,因為接觸的業(yè)務(wù)方比較多,就會發(fā)現(xiàn)一個問題,基本上沒有幾個業(yè)務(wù)方能把自己的需求描述得特別清楚,經(jīng)常上線之后才發(fā)現(xiàn)內(nèi)存不夠了,或者寫入扛不住了,所以這個時候我們需要在可擴(kuò)展性方面提供一個強(qiáng)有力的支持。

我們可以把這三個方面解釋為三座大山。

Cache Service 服務(wù)化

為了解決三座大山,首先要把 Cache 服務(wù)化,它是一個多級緩存的服務(wù),能夠解決高訪問、高并發(fā)的問題以及實現(xiàn)高可用。

基于這套系統(tǒng),也設(shè)計了一套后臺程序,根據(jù)微博的流量進(jìn)行自動監(jiān)測、能夠支持自動擴(kuò)縮容,這樣能快速扛過峰值,峰值過去之后又回收機(jī)器,實現(xiàn)了對資源的充分利用。

當(dāng)然這套系統(tǒng)還在持續(xù)完善中,希望未來能做到更智能。Config Service 就是我們把配置放在配置中心里面,Client 再從配置中心里面拉取配置。

一共有兩種訪問方式,第一種是 SDK,第二種是支持多語言的,通過 Proxy 把請求路由到后端的 Cache 里面。DBA 只要通過管理平臺就可以對資源進(jìn)行快速擴(kuò)縮容。

現(xiàn)在講一下多級的 Cache,實際上這里面有四個角色:

  • Master
  • Maste-l1
  • Slave
  • Slave-l1

Master 跟 Slave 沒有同步關(guān)系,只是按角色作用的方式命名的,Master-l1 有多組數(shù)據(jù)來扛熱點,Master 是基準(zhǔn)數(shù)據(jù)保存全量數(shù)據(jù)。

Slave 一般是做多機(jī)房的容災(zāi),Slave-l1 做多機(jī)房的數(shù)據(jù)同步,這個同步只保證最終數(shù)據(jù)的一致性。

以讀取作為例子來說一下流程,讀取是先訪問 Master-l1,如果沒有命中會訪問 Master,如果又沒有命中會訪問到 Slave,通過這 3 層,大部分情況下能把 99% 的熱點給扛住,然后還有 1% 的流量才會落到 MySQL 里面。

假如是 100 萬的讀,穿透到 MySQL 只有一萬 QPS,如果 100 萬的讀全部都打到 MySQL 的話,對于 MySQL 而言成本特別高。

而且大家知道,MySQL 在高并發(fā)讀寫情況下,很容易被打死,且在短時間內(nèi)是恢復(fù)不了。

Cache Service 目前支持 MC 和 Redis 協(xié)議 2 種協(xié)議。

上圖是我們 DBA 操作的擴(kuò)縮容的界面,這個業(yè)務(wù)總共有 20 組,每組有 5 個 IP,5×20=100 個實例。

實際上就是一百個實例在里面提供服務(wù),線上有好多個單個集群服務(wù),可以支撐百萬甚至千萬 QPS 的高并發(fā)訪問,而且可以支持快速的擴(kuò)縮容。

分享一下我們之前的成功案例,我們已經(jīng)實現(xiàn)好幾年的春晚 1000+ 臺阿里云 ECS 彈性擴(kuò)縮容,多次實現(xiàn)無降級平滑過渡,高峰期支持微博 50% 的春晚核心流量。

上圖是我們內(nèi)部為了支持系統(tǒng)而進(jìn)行的系統(tǒng)整合,在這邊就不展開了。

MCQ 服務(wù)化

基于前面的 Cache 服務(wù)化,我們在 2018 上半年跟業(yè)務(wù)方一起合作,把隊列也給服務(wù)化了。

為什么要把隊列單獨提出來呢?是因為經(jīng)常有內(nèi)部或外部的人問,你們發(fā)微博是什么樣的流程?你們發(fā)評論是什么樣的流程?數(shù)據(jù)怎么解決?

這些問題很關(guān)鍵的一環(huán)就是在隊列里面,發(fā)微博的時候?qū)嶋H上是先寫到隊列,然后隊列再寫到后端的 MySQL 里面。

如果這個時候 MySQL 宕機(jī)了,我們會有一個修復(fù)隊列,專門有一個 Key 來存這部分的數(shù)據(jù),等 MySQL 恢復(fù)以后再把這部分?jǐn)?shù)據(jù)寫入到 MySQL 里面。

上面還有一個 BCP,是因為當(dāng)初我們在做這一套的時候,實際上是想在整個微博推廣。

去年比特幣特別火,我們也想通過購買比特幣的方式,在內(nèi)部通過機(jī)器的資源或者內(nèi)部開源的一些東西來做等價物質(zhì)的轉(zhuǎn)換,然后來應(yīng)用這個服務(wù),但是最終這個計劃沒有具體落地。

上圖是一鍵告警以及操作的監(jiān)控圖。前面提到我們把 Cache 服務(wù)化了,但是實際上并沒有很好地解決容量過大的問題,雖然現(xiàn)在內(nèi)存的價格一直在下降,但相對硬盤來說價格還是太高。

如果我們經(jīng)常有像 5T 或者 10T 的業(yè)務(wù),并且全放內(nèi)存里面的話,對于我們成本的壓力實際上是特別大的。

而且我們需要向?qū)iT的成本委員會申領(lǐng)資源,只有成本委員會同意了我們才能拿到這些機(jī)器,整個周期時間長。

如何解決 Redis 容量過大?

為了解決容量過大的問題,我們想把容量從內(nèi)存放到磁盤里面。

我們當(dāng)時考慮了一些特性,比如支持冷熱數(shù)據(jù)的分離,比如把歷史的數(shù)據(jù)或者全量的數(shù)據(jù)全部存在磁盤,然后支持持久化、支持?jǐn)?shù)據(jù)主從復(fù)制、支持在線熱升級,需要兼容 Redis 數(shù)據(jù)類型,還要兼容與 Redis 的復(fù)制。

基于前面的場景,像微博這種屬性特別適合用這種方法,就算冷熱數(shù)據(jù)不明顯,比如上 T,每秒幾 K 訪問的情況,用這個方法也特別合適。

下面講一下處理模塊,里面有主線程和后臺線程。

主線程主要處理連接的請求、協(xié)議的解析以及命令的請求,后臺線程主要是復(fù)制線程,還有像 BIO 線程,我們把像刷盤操作是寫 AOF 都是放在這個線程,這樣可以盡可能減少寫入所造成的對 Redis 的阻塞。

還有一個 BloomFilter,是基于布谷鳥算法來優(yōu)化,初始化的時候指定 Filter 的容量,新增雙向鏈表管理 Hash 沖突。

從這個名字大家可以猜到,是 Redis+RocksDB 的結(jié)合,為什么這個時候我們不像前面提到的類似設(shè)計 CounterserviceSSD 那樣自己設(shè)計,其實主要原因是當(dāng)初我們在設(shè)計時 RocksDB 還沒有非常多大規(guī)模的應(yīng)用。

現(xiàn)在 RocksDB 已經(jīng)特別成熟,而且有非常多成功的案例。

我們還有一個不自己開發(fā)的原因,就是如果自己開發(fā)的話,可能適用性或者性能,以及代碼健壯性反而沒有那么好,所以為了節(jié)省時間我們采用了 RocksDB 來做存儲,避免重復(fù)造輪子。

LRU 是為了加快訪問速度的,如果第一次訪問的時候沒有在內(nèi)存里面讀取到,就從磁盤里面讀取,它實際上會放在內(nèi)存,下次你再讀取的時候會從 LRU 里面讀取出來。

這邊還涉及到數(shù)據(jù)從內(nèi)存到磁盤換入換出,如果 Key 或者 Value 特別大的話,性能會有影響。

這就是前面提到的為什么我們不推薦那種特別大的 Key 或者 Value 用 RedRocks。

把前面的處理模塊和后端整合一下就形成了以下這樣的架構(gòu)圖:

對其做一下小結(jié):

簡單易用:完全兼容 Redis,業(yè)務(wù)方不用做任何改動就可以遷移上。

成本優(yōu)勢:把熱點數(shù)據(jù)或者頻繁訪問數(shù)據(jù)放在內(nèi)存,全量的數(shù)據(jù)全部放磁盤,這是一個特別大的優(yōu)勢,可以突破內(nèi)存容量限制。

高性能:熱點數(shù)據(jù)在內(nèi)存,熱點數(shù)據(jù)訪問性能和 Redis 相當(dāng)。

下圖是性能壓測報告,我們對比了 Set 的隨機(jī)對寫:

仍滿足不了新需求?

我們前面已經(jīng)解決了大容量的問題,但還是有很多困難并沒有得到很好的解決。

因此,我們借鑒了開源經(jīng)驗,也調(diào)研了 Twemproxy、Codis、Corvus、Redis-Cluser 這些功能:

實際上我們在 2015 年就已經(jīng)存在基于 Twemproxy 的業(yè)務(wù),在線上的話像微博音樂、微博健康、通行證這 3 個業(yè)務(wù)已經(jīng)上線。

但是我們沒有在內(nèi)部大范圍推廣開來,其中涉及到 2 個主要的原因:

  • 第一就是遷移還是比較費時間。
  • 第二是無法比較完美的動態(tài)增加節(jié)點,還有內(nèi)部一些其他原因等等的約束。

以上是我們的設(shè)計思路:

  • 一是能支持在線擴(kuò)縮容。
  • 二是支持多語言的訪問,因為我們是要對整個公司進(jìn)行推廣的,而不是說只對一個部門,所以為了推廣方便我們必須有這種功能。
  • 三是對服務(wù)化特性的需求。

下面簡單講一下 Proxy 里面各模塊的功能:

Port 自動增刪和監(jiān)聽:根據(jù) Vintage 對本 Proxy 節(jié)點的配置,自動增加監(jiān)聽的端口或者刪除移除的端口,監(jiān)聽客戶端的連接。

Redis 協(xié)議解析:解析 Redis 協(xié)議,確定需要路由的請求,非法和不支持的請求直接返回錯誤。

路由:需要獲取和監(jiān)聽端口對應(yīng)的 Backend 以及它們的 Slot, 根據(jù)端口、Key 和 Redis 命令選擇一個 Backend, 將請求路由到對應(yīng)的 Backend,并將結(jié)果返回給客戶端。

配置監(jiān)控:監(jiān)控 Vintage 中本 Proxy 的配置,包括端口的變動、端口和 Backend 的變動以及 Slot 的變化等,通知端口監(jiān)聽模塊和路由模塊。

指標(biāo)監(jiān)控:需要將 Metrics 發(fā)送到 Graphite 中進(jìn)行監(jiān)控。

日志記錄:生成日志文件以便跟蹤。

Redis 存儲方面:還是沿用我們內(nèi)部改造的 Redis 版本,相對之前線上的版本,這次我們新增了官方比如 Mememory,內(nèi)存編碼的優(yōu)化,以及內(nèi)部新增的一些新的功能。

關(guān)于集群管理方面,無論是 Redis 也好,MySQL 也好,對資源的任何管理都可以用這個來總結(jié),包括五個部分:

  • 資源申請
  • 資源分配
  • 業(yè)務(wù)上線
  • 資源查詢
  • 資源變更

對于業(yè)務(wù)申請這一方面需要有一個業(yè)務(wù)唯一的標(biāo)識,QPS、數(shù)據(jù)類型是怎樣的,基于這些考察我們再對它進(jìn)行分配、配置、部署。

基于前面我們做了那么多的優(yōu)化以及平臺服務(wù)化,用下圖作為總結(jié)比較合適,就相當(dāng)于服務(wù)的高可用、高性能以及可擴(kuò)展這些方面,我們基本上都用前面這一套方案解決了。

未來展望

無論是最開始的 MySQL 也好還是到后面的 Oracle 也好,這些都離不開 SQL。如果我們能把數(shù)據(jù)一致性解決好的話,Redis 的應(yīng)用場景會更廣。

現(xiàn)在有很多公司對 Raft 做了二次開發(fā),后續(xù)我們也會投入到在這方面中。

借用兩句話結(jié)束今天的演講:“數(shù)據(jù)庫實際上是需要你用最快的速度把數(shù)據(jù)存儲下來,然后以最方便的方式把數(shù)據(jù)給回憶起來。”

作者:蘭將州

簡介:新浪微博核心 Feed 流、廣告數(shù)據(jù)庫業(yè)務(wù)線負(fù)責(zé)人,主要負(fù)責(zé) MySQL、NoSQL、TiDB 相關(guān)的自動化開發(fā)和運維,參與 Redis、counteservice_ssd、Memcacheq 相關(guān)代碼的開發(fā),目前關(guān)注分布式系統(tǒng)。

 

責(zé)任編輯:武曉燕 來源: DBAplus 社群
相關(guān)推薦

2018-05-21 09:15:06

Redis美團(tuán)點評數(shù)據(jù)庫運維

2019-10-28 11:00:37

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

2018-05-28 08:20:12

服務(wù)器Redis優(yōu)化

2018-06-08 09:48:52

緩存架構(gòu)設(shè)計

2018-06-05 09:31:01

微博緩存架構(gòu)設(shè)計

2018-01-30 14:26:49

監(jiān)控應(yīng)用性能管理運維管理

2020-06-15 21:08:42

機(jī)器Redis微博6

2022-07-17 06:54:51

Eureka架構(gòu)

2019-12-06 15:20:58

Redis獨立用戶數(shù)據(jù)庫

2020-01-13 08:43:20

Elasticsear分布式搜索

2023-06-05 08:17:03

2009-07-30 15:50:49

ASP.NET中網(wǎng)站訪

2013-12-30 10:33:43

訪問量12306癱瘓

2011-06-19 12:12:12

網(wǎng)站瀏覽量訪問量

2017-04-01 09:04:54

docker自動化

2012-05-08 14:26:05

交換機(jī)銳捷

2011-07-29 15:00:10

ServiceStacRedis

2009-08-26 11:33:28

Twitter

2009-01-12 10:39:55

Twitter訪問量SNS

2019-07-24 08:55:09

APP重設(shè)計界面
點贊
收藏

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

日韩黄色a级片| 久久久国产欧美| 天天操天天干天天爽| 亚洲一区日本| www.日韩.com| www.com日本| 吉吉日韩欧美| 亚洲精品国产视频| 日韩啊v在线| www.成人免费视频| 天堂精品中文字幕在线| 久久综合国产精品台湾中文娱乐网| 国产精品嫩草69影院| 日韩在线免费| 亚洲综合成人网| 天堂一区二区三区| 少妇人妻偷人精品一区二区| 久久精品国产99久久6 | 日本高清一二三区| 色先锋久久影院av| 日韩一区二区在线播放| 在线看的黄色网址| 亚洲欧美韩国| 亚洲国产日日夜夜| 超碰在线免费观看97| 国产中文在线| 不卡av在线网| 91视频在线免费观看| 久久久久久av无码免费看大片| 亚洲黄色成人| 久久久久久久久久国产| 神马午夜精品91| 人人狠狠综合久久亚洲婷| 欧美成人免费网站| 手机在线免费毛片| 国产精品麻豆| 欧美久久高跟鞋激| 波多野结衣天堂| 成人免费看黄| 欧美日韩中国免费专区在线看| 中国丰满熟妇xxxx性| 在线观看中文| 亚洲精品国产成人久久av盗摄| 在线视频不卡一区二区| 9191在线观看| 国产精品护士白丝一区av| 欧洲成人一区二区| 国产在线日本| 欧美国产亚洲另类动漫| 日本一区免费观看| 欧美新色视频| 国产丝袜欧美中文另类| 欧美一区二区三区在线免费观看| 爽爽视频在线观看| 91视视频在线直接观看在线看网页在线看 | 激情五月少妇a| 一本到12不卡视频在线dvd| 日韩有码在线电影| 99久久婷婷国产综合| 亚洲欧美日韩高清在线| 乱亲女秽乱长久久久| 成人免费黄色小视频| 久久精品亚洲欧美日韩精品中文字幕| zzjj国产精品一区二区| 波多野结衣家庭教师| 欧美在线亚洲| 国产91精品久久久| www.日韩一区| 精品一区二区三区视频在线观看 | 国产厕拍一区| 精品视频在线观看日韩| 91成人在线免费视频| 日本在线电影一区二区三区| 深夜福利国产精品| 国产精品视频一区二区三 | 午夜精品久久久99热福利| 懂色av.com| 新67194成人永久网站| 日韩免费视频在线观看| 国产精品久久久久久久成人午夜| 国产精品88av| 久久精品人成| 免费的黄网站在线观看| 亚洲综合999| 久久久久久久少妇| 精品视频成人| 亚洲欧美在线x视频| 国产jizz18女人高潮| 亚洲色图国产| 热re99久久精品国产66热| 91麻豆成人精品国产| 成人h版在线观看| 日韩欧美视频一区二区三区四区| a在线免费观看| 日韩欧美精品网站| 一区二区久久精品| 校花撩起jk露出白色内裤国产精品| 一区二区三区 在线观看视| 欧美人禽zoz0强交| 久久婷婷av| 成人在线资源网址| 亚洲免费视频一区二区三区| 亚洲一区二区欧美激情| 999精彩视频| 精品在线网站观看| 大量国产精品视频| 日韩不卡高清视频| caoporn国产精品| 色撸撸在线观看| 欧美性xxx| 欧美成人欧美edvon| 久久嫩草捆绑紧缚| 久久综合九色| 国外成人在线视频网站| 18av在线播放| 欧美日韩激情在线| 日本少妇高潮喷水xxxxxxx| 欧美日本不卡| 成人天堂噜噜噜| 波多野结衣在线影院| 黄色一区二区三区| 妖精视频在线观看| 99久久视频| 国产精品久久久久久搜索| 五月天婷婷在线播放| 一区二区视频免费在线观看| 天天综合网日韩| 精品一二三区| 国产精品久久久久9999| 三级av在线播放| 午夜不卡av免费| 中文字幕天堂av| 欧美另类综合| 超碰97国产在线| 操你啦视频在线| 3d成人动漫网站| 日本午夜精品视频| 免费一级片91| 日韩视频在线播放| 黄瓜视频成人app免费| 亚洲欧美精品中文字幕在线| 亚洲国产成人精品激情在线| 成人一区二区三区视频| 屁屁影院ccyy国产第一页| 成人综合日日夜夜| 久久这里只有精品视频首页| 国产欧美熟妇另类久久久| 国产精品传媒入口麻豆| mm131亚洲精品| 91视频一区| 91视频九色网站| 亚洲wwwww| 精品日韩一区二区| 国产成人啪精品午夜在线观看| 懂色av中文一区二区三区| 欧美a级免费视频| 最新国产一区二区| 性欧美办公室18xxxxhd| 青青草免费在线视频| 一本大道久久a久久综合婷婷| 日本黄色特级片| 日日欢夜夜爽一区| 亚洲一区二区三区涩| 四虎精品永久免费| 久99九色视频在线观看| 成人小说亚洲一区二区三区 | 亚洲精品毛片一区二区三区| 国产欧美精品一区aⅴ影院| jizzzz日本| 午夜日本精品| 久久一区免费| 成人交换视频| 欧美激情videoshd| 视频国产一区二区三区| 欧美性受极品xxxx喷水| 极品魔鬼身材女神啪啪精品| 丁香婷婷综合网| 女人另类性混交zo| 91精品国产福利在线观看麻豆| 99在线视频播放| 都市激情亚洲综合| 日韩亚洲欧美中文高清在线| 亚洲av永久无码国产精品久久| 精品福利在线看| 刘亦菲国产毛片bd| 成人黄色在线网站| 五月婷婷激情久久| 韩国av一区| 先锋影音欧美| 免费看成人人体视频| 国产日本欧美视频| 理论片午夜视频在线观看| 色婷婷av一区二区三区在线观看 | 91网站在线播放| 天天色天天综合网| 国产视频久久| 色香蕉在线观看| 欧美一区 二区| 成人国产精品日本在线| 在线观看网站免费入口在线观看国内 | www.四虎在线| 另类调教123区| 日韩国产欧美亚洲| 久久久久久久久国产一区| 久久精品人人做人人爽电影| 国产日韩一区二区三免费高清| 51午夜精品视频| 超碰公开在线| 自拍偷拍亚洲一区| 日韩美女一级视频| 欧美va亚洲va香蕉在线| 在线观看视频二区| 一本色道久久综合亚洲aⅴ蜜桃| 全程偷拍露脸中年夫妇| 欧美极品少妇xxxxⅹ高跟鞋| 黄色免费视频网站| 国产黄人亚洲片| 91高清国产视频| 久久精品在线| 六月丁香激情网| 欧美日韩影院| 色婷婷777777仙踪林| 久久福利综合| 五月天色一区| 国产亚洲精品美女久久久久久久久久| 国产精品国产精品| 91蝌蚪精品视频| 91理论片午午论夜理片久久| 91精品国产66| 国产精品99久久久久久www| 蜜桃av在线| 91精品国产91久久久久福利| 亚洲图区一区| 九九热r在线视频精品| 国产理论在线观看| 欧美精品免费看| 99福利在线| 欧美成人午夜影院| 18网站在线观看| 欧美乱妇40p| 在线欧美三级| 久久久久久久999精品视频| 青青在线视频| 视频一区二区三区在线看免费看| 欧美性猛交xxxxx水多| 国产小视频在线看| 亚洲综合免费观看高清在线观看| 人与动物性xxxx| 国产精品国产精品国产专区不蜜 | 国产成人无码专区| 色欧美日韩亚洲| 色老头在线视频| 欧美色倩网站大全免费| 中文字幕无码乱码人妻日韩精品| 色94色欧美sute亚洲线路一ni | 日韩精品在在线一区二区中文| 欧美**字幕| 五月天色一区| 91精品蜜臀一区二区三区在线| 欧美少妇在线观看| 亚洲午夜久久久久久尤物| 青青草精品视频在线| 国产精品女主播一区二区三区| 色综合久久久久无码专区| 久久精品动漫| 欧美在线aaa| 国产激情偷乱视频一区二区三区| 日本在线不卡一区二区| 久久午夜国产精品| 国产真人真事毛片视频| 亚洲免费观看高清完整| 日韩av在线电影| 欧美视频在线一区二区三区| 国产情侣在线播放| 亚洲精品99久久久久| 成人免费视频| 欧美高清在线视频观看不卡| 欧美男男激情videos| 国产精品情侣自拍| 日韩欧美一级| 欧美精品123| 欧美+日本+国产+在线a∨观看| 日韩精品视频在线观看视频| 日韩激情中文字幕| 国产高清av片| 91免费观看国产| 午夜爽爽爽男女免费观看| 舔着乳尖日韩一区| 伊人久久成人网| 精品播放一区二区| 国产高清视频免费最新在线| 久久6免费高清热精品| 黄色亚洲网站| 国产精品二区二区三区| 清纯唯美综合亚洲| 久久免费视频3| 国产一区二区三区国产| 亚洲熟妇一区二区三区| 亚洲老妇xxxxxx| 国产精品第6页| 亚洲国内精品视频| 麻豆免费在线视频| 欧美在线激情网| 亚洲视频国产精品| 亚洲欧洲日本国产| 亚洲专区免费| 亚洲午夜精品在线观看| 国产精品视频一二三区| 亚欧视频在线观看| 91精品国产91久久综合桃花| 福利在线观看| 日本在线观看天堂男亚洲| jazzjazz国产精品久久| 中国成人亚色综合网站| 久久高清一区| 日韩综合第一页| 一区二区三区欧美日| 在线观看中文字幕网站| 亚洲图片欧美午夜| 涩涩视频网站在线观看| 国产传媒一区二区三区| 一区二区免费不卡在线| 在线免费av播放| 国产欧美精品在线观看| 欧美一区二区三区不卡视频| 亚洲精品97久久| 国产免费拔擦拔擦8x高清在线人| 亚洲mm色国产网站| 国产精品久久久久久麻豆一区软件| 男人女人黄一级| 久久久久久麻豆| 国产一级免费视频| 日韩麻豆第一页| 周于希免费高清在线观看| 精品视频在线观看| 亚洲黄网站黄| 黄色性生活一级片| 欧美日韩国产一区二区| 日本人妻丰满熟妇久久久久久| 欧美激情精品久久久久久久变态 | 欧洲亚洲一区二区| 久久久久网站| 亚洲区免费视频| 色94色欧美sute亚洲线路一久| 久久久久久久久亚洲精品| 人人做人人澡人人爽欧美| 国产成人1区| 免费黄色一级网站| 国产精品久久久久四虎| 国产一区二区女内射| 久久资源免费视频| 一区二区三区自拍视频| 免费网站永久免费观看| 成人av综合一区| 天天综合天天干| 国产亚洲欧美日韩美女| 亚洲精品三区| 男人c女人视频| 99re在线视频这里只有精品| 欧美特黄aaaaaa| 中文字幕亚洲一区二区三区五十路| www.国产精品| 超碰97在线看| av网站免费线看精品| 狠狠人妻久久久久久| 亚洲午夜未删减在线观看| 国产精品66| 久久久久久久久久久综合| gogogo免费视频观看亚洲一| 亚洲国产成人精品女人久久| 自拍偷拍亚洲精品| 在线综合色站| 精品国产成人av在线免| 国产精品传媒视频| 日本黄色大片视频| 国产精品情侣自拍| 国产精品观看| www在线观看免费视频| 欧美精品日韩精品| segui88久久综合9999| 神马影院午夜我不卡影院| 国产一区91精品张津瑜| 国产成人精品一区二三区| 一区二区三区日韩在线| 在线视频亚洲欧美中文| 天天干天天干天天干天天干天天干| 亚洲欧美国产毛片在线| 国产精品污www在线观看| 亚洲中文字幕无码爆乳av| 日韩在线观看你懂的| 2020国产精品极品色在线观看| 欧美日韩亚洲第一| 亚洲日本韩国一区| 天堂中文在线8| 亚洲一区二区久久久久久久| 夜夜嗨网站十八久久| 国产午夜精品理论片在线| 亚洲激情视频在线播放| 日韩综合久久| 国产免费一区二区三区视频|