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

剛?cè)肼殻捅灰笤O(shè)計(jì)百萬(wàn)人抽獎(jiǎng)系統(tǒng)

開(kāi)發(fā) 架構(gòu) 開(kāi)發(fā)工具
今天分享一個(gè)美團(tuán)二面的面試題:如何設(shè)計(jì)一個(gè)百萬(wàn)人抽獎(jiǎng)系統(tǒng)?

[[429398]]

圖片來(lái)自 包圖網(wǎng)

架構(gòu)從來(lái)不是設(shè)計(jì)出來(lái)的,而是演進(jìn)而來(lái)的,從一個(gè)幾百人的抽獎(jiǎng)系統(tǒng)到幾萬(wàn)人,再到百萬(wàn)人,不斷增加新的東西。

最后總結(jié)歸納一套設(shè)計(jì)思想,也是萬(wàn)能模板,這樣面試官問(wèn)任何高并發(fā)系統(tǒng),只需從這幾個(gè)方向去考慮就可以了。

下面我將按照由淺入深的方式進(jìn)行講解:

V0:?jiǎn)误w架構(gòu)

如果現(xiàn)在讓你實(shí)現(xiàn)幾十人的抽獎(jiǎng)系統(tǒng),簡(jiǎn)單死了吧,直接重拳出擊!

兩貓一豚走江湖,中獎(jiǎng)入庫(kù),調(diào)通知服務(wù),查庫(kù)通知,完美!

相信大家學(xué) Java 時(shí)可能都做過(guò)這種案例,思考一下存在什么問(wèn)題?

  • 單體服務(wù),一著不慎滿盤(pán)皆輸
  • 抽了再抽,一個(gè)人就是一支軍隊(duì)
  • 惡意腳本,沒(méi)有程序員中不了的獎(jiǎng)

接下來(lái)就聊聊怎么解決這些問(wèn)題?

V1:負(fù)載均衡

當(dāng)一臺(tái)服務(wù)器的單位時(shí)間內(nèi)的訪問(wèn)量越大時(shí),服務(wù)器壓力就越大,大到超過(guò)自身承受能力時(shí),服務(wù)器就會(huì)崩潰。

為了避免服務(wù)器崩潰,讓用戶(hù)有更好的體驗(yàn),我們通過(guò)負(fù)載均衡的方式來(lái)分擔(dān)服務(wù)器壓力。

負(fù)載均衡就是建立很多很多服務(wù)器,組成一個(gè)服務(wù)器集群,當(dāng)用戶(hù)訪問(wèn)網(wǎng)站時(shí),先訪問(wèn)一個(gè)中間服務(wù)器,好比管家,由他在服務(wù)器集群中選擇一個(gè)壓力較小的服務(wù)器,然后將該訪問(wèn)請(qǐng)求引入該服務(wù)器。

如此一來(lái),用戶(hù)的每次訪問(wèn),都會(huì)保證服務(wù)器集群中的每個(gè)服務(wù)器壓力趨于平衡,分擔(dān)了服務(wù)器壓力,避免了服務(wù)器崩潰的情況。

負(fù)載均衡是用「反向代理」的原理實(shí)現(xiàn)的。具體負(fù)載均衡算法及其實(shí)現(xiàn)方式我們下文再續(xù)。

負(fù)載均衡雖然解決了單體架構(gòu)一著不慎滿盤(pán)皆輸?shù)膯?wèn)題,但服務(wù)器成本依然不能保護(hù)系統(tǒng)周全,我們必須想好一旦服務(wù)器宕機(jī),如何保證用戶(hù)的體驗(yàn)。

即如何緩解開(kāi)獎(jiǎng)一瞬間時(shí)的大量請(qǐng)求。

V2:服務(wù)限流

限流主要的作用是保護(hù)服務(wù)節(jié)點(diǎn)或者集群后面的數(shù)據(jù)節(jié)點(diǎn),防止瞬時(shí)流量過(guò)大使服務(wù)和數(shù)據(jù)崩潰(如前端緩存大量實(shí)效),造成不可用。還可用于平滑請(qǐng)求。

在上一小節(jié)我們做好了負(fù)載均衡來(lái)保證集群的可用性,但公司需要需要考慮服務(wù)器的成本,不可能無(wú)限制的增加服務(wù)器數(shù)量,一般會(huì)經(jīng)過(guò)計(jì)算保證日常的使用沒(méi)問(wèn)題。

限流的意義就在于我們無(wú)法預(yù)測(cè)未知流量,比如剛提到的抽獎(jiǎng)可能遇到的:

  • 重復(fù)抽獎(jiǎng)
  • 惡意腳本

其他一些場(chǎng)景:

  • 熱點(diǎn)事件(微博)
  • 大量爬蟲(chóng)

這些情況都是無(wú)法預(yù)知的,不知道什么時(shí)候會(huì)有 10 倍甚至 20 倍的流量打進(jìn)來(lái),如果真碰上這種情況,擴(kuò)容是根本來(lái)不及的(彈性擴(kuò)容都是虛談,一秒鐘你給我擴(kuò)一下試試)。

明確了限流的意義,我們?cè)賮?lái)看看如何實(shí)現(xiàn)限流。

①防止用戶(hù)重復(fù)抽獎(jiǎng)

重復(fù)抽獎(jiǎng)和惡意腳本可以歸在一起,同時(shí)幾十萬(wàn)的用戶(hù)可能發(fā)出幾百萬(wàn)的請(qǐng)求。

如果同一個(gè)用戶(hù)在 1 分鐘之內(nèi)多次發(fā)送請(qǐng)求來(lái)進(jìn)行抽獎(jiǎng),就認(rèn)為是惡意重復(fù)抽獎(jiǎng)或者是腳本在刷獎(jiǎng),這種流量是不應(yīng)該再繼續(xù)往下請(qǐng)求的,在負(fù)載均衡層給直接屏蔽掉。

可以通過(guò) Nginx 配置 ip 的訪問(wèn)頻率,或者在在網(wǎng)關(guān)層結(jié)合 Sentinel 配置限流策略。用戶(hù)的抽獎(jiǎng)狀態(tài)可以通過(guò) Redis 來(lái)存儲(chǔ),后面會(huì)說(shuō)。

②攔截?zé)o效流量

無(wú)論是抽獎(jiǎng)還是秒殺,獎(jiǎng)品和商品都是有限的,所以后面涌入的大量請(qǐng)求其實(shí)都是無(wú)用的。

舉個(gè)例子,假設(shè) 50 萬(wàn)人抽獎(jiǎng),就準(zhǔn)備了 100 臺(tái)手機(jī),那么 50 萬(wàn)請(qǐng)求瞬間涌入,其實(shí)前 500 個(gè)請(qǐng)求就把手機(jī)搶完了,后續(xù)的幾十萬(wàn)請(qǐng)求就沒(méi)必要讓他再執(zhí)行業(yè)務(wù)邏輯,直接暴力攔截返回抽獎(jiǎng)結(jié)束就可以了。

同時(shí)前端在按鈕置灰上也可以做一些文章。那么思考一下如何才能知道獎(jiǎng)品抽完了呢,也就是庫(kù)存和訂單之前的數(shù)據(jù)同步問(wèn)題。

③服務(wù)降級(jí)和服務(wù)熔斷

有了以上措施就萬(wàn)無(wú)一失了嗎,不可能的。所以在服務(wù)端還有降級(jí)和熔斷機(jī)制。

有好多人容易混淆這兩個(gè)概念,通過(guò)一個(gè)小例子讓大家明白(請(qǐng)?jiān)试S一條幻想一下??)。

假設(shè)現(xiàn)在一條粉絲數(shù)突破 100 萬(wàn),沖上微博熱搜,粉絲甲和粉絲乙都打開(kāi)微博觀看,但甲看到了一條新聞發(fā)布會(huì)的內(nèi)容,乙卻看到”系統(tǒng)繁忙“,過(guò)了一會(huì),乙也能看到內(nèi)容了。

在上述過(guò)程中,首先是熱點(diǎn)時(shí)間造成大量請(qǐng)求,發(fā)生了服務(wù)熔斷,為了保證整個(gè)系統(tǒng)可用,犧牲了部分用戶(hù)乙。

乙看到的“系統(tǒng)繁忙“就是服務(wù)降級(jí)(Fallback),過(guò)了一會(huì)又恢復(fù)訪問(wèn),這也是熔斷器的一個(gè)特性(Hystrix)。

V3:同步狀態(tài)

接著回到上一節(jié)的問(wèn)題,如何同步抽獎(jiǎng)狀態(tài)?這不得不提到 Redis,被廣泛用于高并發(fā)系統(tǒng)的緩存數(shù)據(jù)庫(kù)。

我們可以基于 Redis 來(lái)實(shí)現(xiàn)這種共享抽獎(jiǎng)狀態(tài),它非常輕量級(jí),很適合兩個(gè)層次的系統(tǒng)的共享訪問(wèn)。

當(dāng)然其實(shí)用 ZooKeeper 也是可以的,在負(fù)載均衡層可以基于 ZK 客戶(hù)端監(jiān)聽(tīng)某個(gè) Znode 節(jié)點(diǎn)狀態(tài)。

一旦抽獎(jiǎng)結(jié)束,抽獎(jiǎng)服務(wù)更新 ZK 狀態(tài),負(fù)載均衡層會(huì)感知到。

V4:線程優(yōu)化

對(duì)于線上環(huán)境,工作線程數(shù)量是一個(gè)至關(guān)重要的參數(shù),需要根據(jù)自己的情況調(diào)節(jié)。

眾所周知,對(duì)于進(jìn)入 Tomcat 的每個(gè)請(qǐng)求,其實(shí)都會(huì)交給一個(gè)獨(dú)立的工作線程來(lái)進(jìn)行處理,那么 Tomcat 有多少線程,就決定了并發(fā)請(qǐng)求處理的能力。

但是這個(gè)線程數(shù)量是需要經(jīng)過(guò)壓測(cè)來(lái)進(jìn)行判斷的,因?yàn)槊總€(gè)線程都會(huì)處理一個(gè)請(qǐng)求,這個(gè)請(qǐng)求又需要訪問(wèn)數(shù)據(jù)庫(kù)之類(lèi)的外部系統(tǒng),所以不是每個(gè)系統(tǒng)的參數(shù)都可以一樣的,需要自己對(duì)系統(tǒng)進(jìn)行壓測(cè)。

但是給一個(gè)經(jīng)驗(yàn)值的話,Tomcat 的線程數(shù)量不宜過(guò)多。因?yàn)榫€程過(guò)多,普通服務(wù)器的 CPU 是扛不住的,反而會(huì)導(dǎo)致機(jī)器 CPU 負(fù)載過(guò)高,最終崩潰。

同時(shí),Tomcat 的線程數(shù)量也不宜太少,因?yàn)槿绻?100 個(gè)線程,那么會(huì)導(dǎo)致無(wú)法充分利用 Tomcat 的線程資源和機(jī)器的 CPU 資源。

所以一般來(lái)說(shuō),Tomcat 線程數(shù)量在 200~500 之間都是可以的,但是具體多少需要自己壓測(cè)一下,不斷的調(diào)節(jié)參數(shù),看具體的 CPU 負(fù)載以及線程執(zhí)行請(qǐng)求的一個(gè)效率。

在 CPU 負(fù)載尚可,以及請(qǐng)求執(zhí)行性能正常的情況下,盡可能提高一些線程數(shù)量。

但是如果到一個(gè)臨界值,發(fā)現(xiàn)機(jī)器負(fù)載過(guò)高,而且線程處理請(qǐng)求的速度開(kāi)始下降,說(shuō)明這臺(tái)機(jī)扛不住這么多線程并發(fā)執(zhí)行處理請(qǐng)求了,此時(shí)就不能繼續(xù)上調(diào)線程數(shù)量了。

V5:業(yè)務(wù)邏輯

好了,現(xiàn)在該研究一下怎么做抽獎(jiǎng)了,抽獎(jiǎng)邏輯怎么做?

在負(fù)載均衡那個(gè)層面,已經(jīng)把比如 50 萬(wàn)流量中的 48 萬(wàn)都攔截掉了,但是可能還是會(huì)有 2 萬(wàn)流量進(jìn)入抽獎(jiǎng)服務(wù)。

因?yàn)槌楠?jiǎng)活動(dòng)都是臨時(shí)服務(wù),可以阿里云租一堆機(jī)器,也不是很貴,Tomcat 優(yōu)化完了,服務(wù)器的問(wèn)題也解決了,還剩啥呢?

MySQL,是的,你的 MySQL 能抗住 2 萬(wàn)的并發(fā)請(qǐng)求嗎?答案是很難,怎么辦呢?

把 MySQL給替換成 Redis,單機(jī)抗 2 萬(wàn)并發(fā)那是很輕松的一件事情。而且 Redis 的一種數(shù)據(jù)結(jié)構(gòu) set 很適合做抽獎(jiǎng),可以隨機(jī)選擇一個(gè)元素并剔除。

V6:流量削峰

由上至下,還剩中獎(jiǎng)通知部分沒(méi)有優(yōu)化。思考這個(gè)問(wèn)題:假設(shè)抽獎(jiǎng)服務(wù)在 2 萬(wàn)請(qǐng)求中有 1 萬(wàn)請(qǐng)求抽中了獎(jiǎng)品,那么勢(shì)必會(huì)造成抽獎(jiǎng)服務(wù)對(duì)禮品服務(wù)調(diào)用 1 萬(wàn)次。

那也要和抽獎(jiǎng)服務(wù)同樣處理嗎?其實(shí)并不用,因?yàn)榘l(fā)送通知不要求及時(shí)性,完全可以讓一萬(wàn)個(gè)請(qǐng)求慢慢發(fā)送,這時(shí)就要用到消息中間件,進(jìn)行限流削峰。

也就是說(shuō),抽獎(jiǎng)服務(wù)把中獎(jiǎng)信息發(fā)送到 MQ,然后通知服務(wù)慢慢的從 MQ 中消費(fèi)中獎(jiǎng)消息,最終完成完禮品的發(fā)放,這也是我們會(huì)延遲一些收到中獎(jiǎng)信息或者物流信息的原因。

假設(shè)兩個(gè)通知服務(wù)實(shí)例每秒可以完成 100 個(gè)通知的發(fā)送,那么 1 萬(wàn)條消息也就是延遲 100 秒發(fā)放完畢罷了。同樣對(duì) MySQL 的壓力也會(huì)降低,那么數(shù)據(jù)庫(kù)層面也是可以抗住的。

看一下最終結(jié)構(gòu)圖:

答題模板

所謂答題模板,就是高并發(fā)問(wèn)題的幾個(gè)思考方向和解決方案。

①單一職責(zé)

一個(gè)基本的設(shè)計(jì)思想,回想高中物理的串聯(lián)和并聯(lián),串聯(lián)一滅全滅,并聯(lián)各自有一個(gè)通路。

一樣的道理,高內(nèi)聚,低耦合。微服務(wù)之所以興起就是因?yàn)榘褟?fù)雜的功能進(jìn)行拆分,即使網(wǎng)站崩了,無(wú)法下單,但是瀏覽功能依然健康,而不是所有服務(wù)引起連鎖反應(yīng),像雪崩一樣,全面癱瘓。

②URL 動(dòng)態(tài)加密

這說(shuō)的是防止惡意訪問(wèn),有些爬蟲(chóng)或者刷量腳本會(huì)造成大量的請(qǐng)求訪問(wèn)你的接口,你更加不知道他會(huì)傳什么參數(shù)給你,所以我們定義接口時(shí)一定要多加驗(yàn)證,因?yàn)椴恢故悄愕呐笥颜{(diào)你的接口,敵人也有可能。

③靜態(tài)資源——CDN

CDN 全稱(chēng)內(nèi)容分發(fā)網(wǎng)絡(luò),是建立并覆蓋在承載網(wǎng)之上,由分布在不同區(qū)域的邊緣節(jié)點(diǎn)服務(wù)器群組成的分布式網(wǎng)絡(luò)。

通俗的講,就是把經(jīng)常訪問(wèn)又費(fèi)時(shí)的資源放在你附近的服務(wù)器上。淘寶的圖片訪問(wèn),有 98% 的流量都走了 CDN 緩存。只有 2% 會(huì)回源到源站,節(jié)省了大量的服務(wù)器資源。

但是,如果在用戶(hù)訪問(wèn)高峰期,圖片內(nèi)容大批量發(fā)生變化,大量用戶(hù)的訪問(wèn)就會(huì)穿透 CDN,對(duì)源站造成巨大的壓力。所以,對(duì)于圖片這種靜態(tài)資源,盡可能都放入 CDN。

④服務(wù)限流

在上面已有講解,可分為前端限流和后端限流:

  • 前端:按鈕禁用,ip 黑名單
  • 后端:服務(wù)熔斷,服務(wù)降級(jí),權(quán)限驗(yàn)證

⑤數(shù)據(jù)預(yù)熱

可以采用定時(shí)任務(wù)(elastic-job)實(shí)時(shí)查詢(xún) Druid,把熱點(diǎn)數(shù)據(jù)放入 Redis 緩存中。

思考一個(gè)問(wèn)題:比如現(xiàn)在庫(kù)存只剩下 1 個(gè)了,我們高并發(fā)嘛,4 個(gè)服務(wù)器一起查詢(xún)了發(fā)現(xiàn)都是還有 1 個(gè),那大家都覺(jué)得是自己搶到了,就都去扣庫(kù)存,那結(jié)果就變成了 -3,是的只有一個(gè)是真的搶到了,別的都是超賣(mài)的。咋辦?

回答:可以用 CAS+LUA 腳本實(shí)現(xiàn)。Lua 腳本是類(lèi)似 Redis 事務(wù),有一定的原子性,不會(huì)被其他命令插隊(duì),可以完成一些 Redis 事務(wù)性的操作。這點(diǎn)是關(guān)鍵。

寫(xiě)一個(gè)腳本把判斷庫(kù)存扣減庫(kù)存的操作都寫(xiě)在一個(gè)腳本丟給 Redis 去做,那到 0 了后面的都 Return False 了是吧,一個(gè)失敗了你修改一個(gè)開(kāi)關(guān),直接擋住所有的請(qǐng)求。

⑥削峰填谷

精通一個(gè)中間件會(huì)給你加分很多,消息隊(duì)列已經(jīng)逐漸成為企業(yè) IT 系統(tǒng)內(nèi)部通信的核心手段。

它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能,成為異步 RPC 的主要手段之一。

當(dāng)今市面上有很多主流的消息中間件,如老牌的 ActiveMQ、RabbitMQ,炙手可熱的 Kafka,阿里巴巴自主開(kāi)發(fā) RocketMQ 等。

最原始的 MQ,生產(chǎn)者先將消息投遞一個(gè)叫做「隊(duì)列」的容器中,然后再?gòu)倪@個(gè)容器中取出消息,最后再轉(zhuǎn)發(fā)給消費(fèi)者,僅此而已。

今天就學(xué)這么多,相信大家都對(duì)高并發(fā)系統(tǒng)有了初步的認(rèn)識(shí),面試官問(wèn)起來(lái)也不至于無(wú)話可說(shuō),但是想要學(xué)好任重而道遠(yuǎn)!

作者:一條 IT

編輯:陶家龍

出處:轉(zhuǎn)載自公眾號(hào)一條 coding(ID:a18741865729)

 

責(zé)任編輯:武曉燕 來(lái)源: 一條 coding
相關(guān)推薦

2019-06-19 10:57:48

新人入職代碼

2025-10-16 09:03:08

2024-07-29 08:01:32

2021-07-19 08:41:49

藍(lán)屏用戶(hù)Bug

2023-04-03 07:12:07

2019-11-25 21:53:48

代碼算法BUG

2011-12-14 20:01:39

蘋(píng)果

2023-11-03 12:05:43

2020-11-03 07:48:47

當(dāng)AI入職FBI

2022-05-11 11:37:21

跳槽保密協(xié)議字節(jié)

2022-03-16 09:27:29

ICT

2022-05-10 09:38:46

加密貨幣詐騙網(wǎng)絡(luò)安全

2023-07-06 09:01:33

2016-11-18 13:15:02

廣電電視推流網(wǎng)

2015-12-14 15:30:45

銳捷網(wǎng)絡(luò)

2018-09-07 22:36:20

2024-07-24 20:01:03

2015-08-17 11:46:50

2025-06-06 14:23:48

谷歌模型AI

2017-07-17 09:54:43

代碼C語(yǔ)言功能
點(diǎn)贊
收藏

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

国产精品99精品一区二区三区∴| 人妻精品一区二区三区| 欧美亚洲激情| 欧美一区二区在线视频| 99热亚洲精品| av天在线观看| 成人网男人的天堂| 国产精品高潮在线| 日本一级淫片免费放| 成人综合久久| 精品第一国产综合精品aⅴ| 中文字幕欧美人妻精品一区| 牛牛精品在线视频| 国产精品无人区| 不卡的av一区| 91精品中文字幕| 一区二区三区四区五区在线| 久久精品夜夜夜夜夜久久| 久久久无码人妻精品一区| 日韩精品中文字幕吗一区二区| 91黄色在线观看| 成年人午夜视频在线观看| 巨大荫蒂视频欧美另类大| 久久伊99综合婷婷久久伊| aa日韩免费精品视频一| 97超碰中文字幕| 日韩黄色片在线观看| 91av在线不卡| 国产午夜精品一区二区理论影院 | 国产伦精品一区二区三区| 中文字幕乱码视频| 久久久一二三| 51午夜精品视频| 国产精品16p| 国产精品mm| 久久99热精品| 欧美成人片在线观看| 婷婷激情图片久久| 爽爽爽爽爽爽爽成人免费观看| 一二三不卡视频| 欧美91在线| 亚洲精品国产品国语在线| 可以看的av网址| 久久久久久久久成人| 欧美日韩久久一区| 手机视频在线观看| 九九九精品视频| 欧美婷婷六月丁香综合色| 成人亚洲视频在线观看| 91欧美精品| 欧美日韩在线三级| 日韩大片一区二区| 欧美成a人片免费观看久久五月天| 色94色欧美sute亚洲线路一久| 日日摸日日碰夜夜爽av| 牛牛精品一区二区| 色综合天天综合色综合av| 欧美视频免费播放| 成人国产在线| 欧美夫妻性生活| 日本女人黄色片| 超碰精品在线观看| 亚洲精品国产精品国自产在线| 亚洲av成人无码一二三在线观看| 精品久久对白| 一区二区三区高清国产| 欧美人与禽zoz0善交| 国产精品久久久久久久免费观看| 日韩在线观看高清| 国产亚洲欧美精品久久久久久| 欧美私人啪啪vps| 91精品国产免费久久久久久| 国产成人一级片| 美女网站一区二区| 91大片在线观看| 午夜视频福利在线| 欧美国产成人精品| 成人午夜视频免费观看| 日本三级一区| 4438成人网| 丰满岳乱妇一区二区 | 这里只有精品66| 丝袜在线观看| 一本一道久久a久久精品综合蜜臀| 色婷婷狠狠18| 91成人短视频| 亚洲人高潮女人毛茸茸| 婷婷社区五月天| 国产亚洲一区在线| 91精品视频播放| 天天综合永久入口| 国产精品久久久久精k8| www.在线观看av| 国产精品蜜月aⅴ在线| 精品久久99ma| 黑人狂躁日本娇小| 销魂美女一区二区三区视频在线| 国产精品亚发布| 天天干天天色天天| 国产精品热久久久久夜色精品三区 | 国产精品视频一区国模私拍| 亚洲AV无码一区二区三区性| 久久久天堂av| 国产精品久久久久久久乖乖| jizz免费一区二区三区| 亚洲国产精品久久久久| 小早川怜子一区二区的演员表| 国产精品一页| 国产精品日韩一区二区| 日韩免费网站| 在线视频综合导航| 久久午夜夜伦鲁鲁片| 一本一道久久a久久精品蜜桃| 日韩av手机在线观看| 亚洲第一黄色片| 亚洲日本va在线观看| 91av在线免费播放| 亚洲美女15p| 久久久天堂国产精品女人| 国产精品久久久久久无人区| 懂色av一区二区三区免费看| 亚洲黄色一区二区三区| 精品国产第一福利网站| 亚洲精品在线免费播放| 欧美 日韩 国产 一区二区三区| 日韩激情在线观看| 欧美精品一区二区三区在线看午夜| 欧美hdxxx| 日韩一区二区精品葵司在线| 日日操免费视频| 日韩电影在线一区二区三区| 欧美下载看逼逼| 欧美三级网站| 亚洲精品456在线播放狼人| 福利所第一导航| 国产福利91精品一区二区三区| 一区二区免费电影| 欧美日韩视频免费看| 国产亚洲xxx| 最近中文在线观看| 欧美国产禁国产网站cc| 91蝌蚪视频在线观看| 国产探花一区| 国产成人鲁鲁免费视频a| 青梅竹马是消防员在线| 黑人精品xxx一区一二区| 婷婷五月精品中文字幕| 亚洲毛片av| 久久av一区二区三区漫画| 国产盗摄精品一区二区酒店| 欧美不卡一区二区| 国产精品第一页在线观看| 成人免费视频视频| 久久久久久久中文| 婷婷综合电影| 国产成人av在线播放| 搞黄视频免费在线观看| 欧美性猛片aaaaaaa做受| 最新日韩免费视频| 国产一区亚洲一区| 97在线免费视频观看| 亚洲日本va| 2019亚洲日韩新视频| 麻豆av电影在线观看| 欧美午夜在线一二页| 日本成人免费在线观看| 狠狠色狠狠色合久久伊人| 蜜臀av.com| 久久九九热re6这里有精品 | 亚洲国产尤物| 日韩视频―中文字幕| 精品国自产在线观看| 亚洲国产视频直播| 久久av无码精品人妻系列试探| 丝袜美腿一区二区三区| 综合国产精品久久久| 超碰在线亚洲| 国产精品成人aaaaa网站| 欧洲不卡av| 精品精品国产高清一毛片一天堂| 成人在线免费看视频| 国产精品色哟哟网站| 久久久久亚洲av无码网站| 国产精品日韩精品欧美精品| 亚洲美女网站18| 色悠久久久久综合先锋影音下载| 1769国产精品| av免费在线一区二区三区| 日韩色在线观看| 日本视频网站在线观看| 亚洲三级小视频| 亚洲成人日韩在线| 国产一区二区0| 成人久久久久久久久| 亚洲澳门在线| 免费看成人午夜电影| 成人综合日日夜夜| 国产91久久婷婷一区二区| 成人国产免费电影| 亚洲欧美变态国产另类| 99久久久国产精品无码网爆| 欧美视频在线看| 青娱乐国产在线视频| 国产日韩欧美麻豆| 色悠悠在线视频| 青青国产91久久久久久| 日本福利视频一区| 99久久综合| 日本不卡一区| 久久a级毛片毛片免费观看| 成人激情春色网| 天天免费亚洲黑人免费| 欧美国产日韩视频| 麻豆传媒在线免费看| 亚洲美腿欧美激情另类| 日本毛片在线观看| 91麻豆精品国产91久久久久久久久| 国产又黄又猛又粗又爽| 亚洲国产中文字幕| 久久久久久久久99| 亚洲欧洲99久久| 纪美影视在线观看电视版使用方法| av在线播放一区二区三区| 三级黄色片免费观看| 青青草国产精品97视觉盛宴 | 日韩毛片免费观看| 91禁外国网站| 波多野结衣在线观看| 久久天天躁日日躁| 素人av在线| 伊是香蕉大人久久| av在线1区2区| 中文字幕精品www乱入免费视频| 色网站在线免费观看| 精品粉嫩aⅴ一区二区三区四区| 国产三级小视频| 56国语精品自产拍在线观看| 在线观看色网站| 欧美在线一区二区| 中文字幕av在线免费观看| 日韩欧美高清视频| 国产午夜性春猛交ⅹxxx| 午夜国产精品一区| 国产 欧美 日韩 在线| 亚洲v中文字幕| 黄网在线观看视频| 精品动漫一区二区| 天天操夜夜操视频| 91成人网在线| 又骚又黄的视频| 69p69国产精品| 国产精品视频一二区| 91精品在线麻豆| 亚洲爱情岛论坛永久| 欧美成人精品福利| 好男人在线视频www| 337p日本欧洲亚洲大胆精品| 欧美77777| 亚洲片在线观看| 国产精品久久久久久久龚玥菲 | 欧美人与动牲性行为| 性视频1819p久久| av电影一区| 国产精品午夜一区二区欲梦| 国产精品亚洲四区在线观看| 丁香五月网久久综合| 激情av综合| 日韩精品伦理第一区| 婷婷另类小说| 婷婷五月综合缴情在线视频| 裸体素人女欧美日韩| 午夜剧场在线免费观看| 国产精品91一区二区| 最新在线黄色网址| 国产欧美久久久精品影院| 国产精品久久国产精麻豆96堂| 亚洲欧美区自拍先锋| 日本网站免费观看| 欧美吻胸吃奶大尺度电影| www.色婷婷.com| 日韩精品中文字幕在线播放| 日本成a人片在线观看| 欧美激情一区二区三区成人| 国产精品高清乱码在线观看| 91手机视频在线观看| 欧美freesex8一10精品| 亚洲乱码一区二区三区| 激情自拍一区| 日韩av在线中文| 成人av电影免费观看| 亚洲天堂av中文字幕| 亚洲电影在线播放| 一级片免费观看视频| 亚洲韩国日本中文字幕| 免费黄色在线| 欧美一级大片在线免费观看| 99久久久成人国产精品| 欧美成人第一区| 欧美一区91| 杨幂毛片午夜性生毛片| 99久久久免费精品国产一区二区| 91免费在线看片| 色哟哟一区二区在线观看| jizz中国少妇| 伊人久久免费视频| 久草在线中文最新视频| 亚洲一区二区自拍| 成人精品亚洲| 免费毛片小视频| 国产成人免费视频一区| 国产wwwwxxxx| 欧美在线你懂得| 日本亚洲一区| 久久免费国产视频| 9999精品| 日韩精品一区二区三区色偷偷| 亚洲美女网站| 好吊操视频这里只有精品| 最好看的中文字幕久久| 免费精品一区二区| 亚洲美女动态图120秒| 51漫画成人app入口| 亚洲一区二区三| 久久亚洲专区| 欧美性猛交xxx乱久交| 91视频xxxx| 日本少妇bbwbbw精品| 日韩亚洲欧美中文三级| 麻豆tv在线| 国产伦精品免费视频| 国产一区二区三区日韩精品| 成人免费aaa| 9久草视频在线视频精品| 久久久久性色av无码一区二区| 7777精品久久久大香线蕉 | 亚洲天堂久久久久久久| 中文字幕av免费观看| 这里只有精品视频在线| 日韩一区二区三区在线免费观看 | 狠狠干综合网| 性感美女一区二区三区| 亚洲精品免费视频| 国产成人精品无码高潮| 久久在线免费观看视频| 95精品视频| 国产卡一卡二在线| 国产精一区二区三区| 国产精品国产精品88| 欧美一区二区免费| 在线视频国产区| 97免费资源站| 一本久道久久综合狠狠爱| 久久久久国产精品无码免费看| 亚洲国产精品久久人人爱蜜臀| 亚洲爱爱综合网| 91av在线播放| 欧美自拍偷拍| www.国产福利| 亚洲一区二区三区在线播放| 欧美自拍偷拍第一页| 97在线视频免费观看| 一本色道久久综合狠狠躁的番外| 欧美 激情 在线| 国产精品久久久久精k8| 国产美女永久免费| 中文幕一区二区三区久久蜜桃| 国产福利一区视频| 97成人超碰视| 欧美性受xxx黑人xyx性爽| 综合国产在线观看| 一区二区中文字幕在线观看| 91九色在线观看视频| 国产欧美一区二区精品婷婷| 亚洲天堂网在线视频| 欧美人交a欧美精品| 尤物tv在线精品| 欧美一级xxxx| 亚洲成人免费影院| 国产视频网址在线| 亚洲aⅴ男人的天堂在线观看 | 久久久亚洲天堂| 久久av资源| 免费黄频在线观看| 欧美日韩黄色大片| 九色porny在线| 久久国产日韩欧美| 狠狠网亚洲精品| 日本免费在线观看视频| 久久精品国产99国产精品澳门| 成人黄色av网址| 亚洲一级片网站| 午夜精品久久一牛影视| 国产精品一区二区婷婷| 国产精品v欧美精品v日韩| 美日韩一级片在线观看| 久久久久久久久影院| 亚洲综合男人的天堂| 捆绑裸体绳奴bdsm亚洲| 日韩欧美一区二区三区| 综合图区亚洲|