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

談談陌陌爭霸在數據庫方面踩過的坑(排行榜篇)

移動開發 Android
陌陌爭霸中用于排名的分數區間不大,也就是 0 分到 5000 分。而參與排名的人數眾多,數以百萬計。對百萬用戶做插入排序,每個插入即使是 O(N) 的也不可接受。可事實是大量玩家的分數相同,都是并列排名的。所以我們只需要做 5000 個桶,每個桶里僅記錄這個分數有多少個人就可以了。

為什么大部分網絡服務都需要一個數據庫在后臺支撐整個系統?

這通常是因為大部分系統的一個運行周期都很短,對于傳統的網站服務來說,從收到一個 HTTP 請求開始,到終端用戶收到這個請求的結果為止,就是一個運行周期。

而其間可能處理的數據集是很大的,通常沒有時間(甚至沒有空間)把所有數據都加載到內 存,處理其中涉及的一小部分,然后保存在磁盤上再退出。

當數據量巨大時,任何對數據的操作的算法和數據結構都需要精心設計,這不是隨便一個程序員就可以輕松完成的任務。尤其是數據量大到超過內存容量時, 很多算法和數據結構對大部分非此領域的程序員來說都是陌生的。本著專業的事情交給專業的人來做的原則,一般系統都會把這部分工作交給獨立的數據庫來完成。

對數據的操作只有抽象的足夠簡單,系統才能健壯,這便有了 SQL 語言做一層抽象,讓數據管理的工作可以獨立出來。甚至于你想犧牲一部分的特性來提高性能,還可以選用近年來流行的各種 NOSQL 數據庫。

可在 MMO 游戲服務器領域,事情發生了一點點變化。

數據和業務邏輯是密切相關的,改變非常頻繁。MMO 服務器需要持續快速的響應用戶的請求。我們幾乎不可能把一切數據都放在獨立的數據庫中,比如玩家在虛擬世界中的位置,以及他所影響的其他玩家的列表;玩家 戰斗時的各種屬性變化,還有和玩家互動的那些 NPC 的狀態改變……

最大的矛盾是:MMO 游戲中數據集的改變不再是簡單的 SQL 可以表達的東西,不可能交給數據庫服務期內部完成。無論什么類型的數據庫,都不是為這種應用設計的。如果你硬要套用其它領域的應用模式的話,游戲服務器只 能頻繁的把各種數據從數據庫中讀出來,按游戲邏輯做出改變,再寫回去。數據庫變成了一個很低效的數據中轉中心,無論你是否使用內存數據庫,都改變不了這個 低效的本質。

我聽過無數從別的領域轉行到游戲領域做開發的程序員設計出來的糟糕系統。他們最終僅僅把數據庫當成一個可靠的數據儲存點和中轉點,認為把所謂重要的 數據寫進數據庫就萬事大吉,然后再別扭的從另一個位置把數據從數據庫讀出來使用。系統中充滿了對數據庫的奇怪異步回調用來改善系統的反應速度,而系統卻始 終步履闌珊。能做對已經是極限了,更何況游戲系統不僅僅是輸入輸出正確就是正確,如果超過了應用的響應時間,一切都是不正確的。

為了讓系統健壯,構架師在構架系統時,一定會把系統隔離成不同的模塊,并盡量簡化模塊間的溝通規則。這樣你可以單獨校驗每個模塊的質量,必要的時候可以更換。幾乎沒有人會因為效率或開發方便等原因而把應用代碼寫到 OS 內核中去跑就是這個道理。

每個模塊只對輸入它的數據負責,保證輸出的正確。通常測試也只對這個正確性負責。同學們最容易忽略的一點是,每個模塊都對它輸入數據的處理速度有一個上限,也就是它的吞吐量。

一旦輸入速度大于處理速度,模塊實現的再正確也是白搭。因為永遠都不會有輸出了。

對于大部分模塊,只要內存管夠,這都不是問題。實際運作的系統中很少有持續大數據量的輸入的,從一個較長的時間看,總的數據輸入是小于處理能力的,暫時沒能處理的數據堆積在內存就行了。

凡事都有例外。一個健壯的系統都需要對例外做處理。一個工作在 server 模式的數據庫是這樣解決這個例外的:它會支持查詢連接的并發,并發的查詢相互間對計算資源的占用是公平的,相互不影響(至少是設計上的理想)。而操作系統 或數據庫本身會限制并發的連接數,一旦達到最高連接數,系統會拒絕服務;這樣就把超過處理能力的輸入擋在了模塊外面。按這種設計,就不會有輸入(只要能抵 達)永遠沒有回應了。

可惜,這樣做的代價是,你必須在模塊間加入請求失敗的處理。一個設計不謹慎的系統最容易在錯誤處理上栽跟頭。他們總是期望任何一個模塊都能正確處理上級的請求。

btw, 為什么 12306 的訂票系統在高負載的情況下完全不可用?就是這點沒處理好。我指的是,一個實現正確的系統,一定不會連網頁的刷不出來,不給用戶正確的提示,哪怕只是錯誤 提示;也不應該在高負載下,有效處理能力急劇下降。我指的是,一旦用戶能進入正常流程,就應該順利把至少一個環節順利完成,而不是突然就卡在那里沒有任何 回應。

快跑題了。我談到這點,其實是想表達,說的容易,做起來是很難的。下一篇我會寫到我們在過年前出的一個事故和這個就有一些關系。

八卦時間:

陌陌勁舞團是陌陌游戲平臺上線的第 2 款游戲。我們的陌陌爭霸還在開發的時候,這款游戲就打算上線了。我對這個產品有限的了解都是道聽途說,所以如果有更清楚內情的同學發現說的不對,也請諒解。對于技術問題,我想八卦的真相就并不那么重要了,有則改之,無則嘉勉。

勁舞團這個品牌原本是屬于韓國人的,但這款游戲在國內曾經異常火爆,在國內代理它的久游也就買下來 IP ,自己制作手機版。據我所知,陌陌勁舞團完全是在上海開發的,沒韓國人什么事。

這是個比較簡單的游戲,至少服務器部分很簡單,也就是統計下分數,查查排名,以及解決一下收費問題而已。刨掉這些部分,它就是個單機游戲,根本不需要服務器。

因為勁舞團的品牌名氣,以及陌陌巨大的用戶群,游戲一上線就在 ios 免費榜飚上去了。如果不是企鵝公司看不順眼,立刻上線了節奏大師,估計還會在榜單上更火一些。事后證明節奏大師的上線也很倉促,完全是為了打擊競爭對手搶 著上的,因為后者的服務器也不穩定,很快就掛掉了,完全不像一個大公司應有的質量。

陌陌勁舞團順利拉來了用戶后,第一天服務器就出了狀況,重啟了幾次后完全不解決問題。所以決定停服休整。一停就是三天。當時我就納悶了,哪有修個小 bug 預計要三天的?這肯定是有結構性問題了。當時我們的項目按計劃也就最后半個月的時間了,本來陌陌的人督的我們很緊的,一下子人全飛去了上海。

一周后陌陌勁舞團才重新上線,遠超過當初預計的 3 天。事情一解決,陌陌的技術班底,從 CTO 到下面大多數人,全部飛到廣州和我們開會,讓我們重視服務器穩定性問題。會議內容主要是強調陌陌平臺初期導入用戶瞬間爆發量巨大,以及了解一下我們的設計 細節確保沒有大的問題。我所了解到的八卦就是在這段時間聽來的。

陌陌勁舞團使用的是 MongoDB 。似乎這玩意很受游戲開發者喜愛。我想主要是因為用起來簡單直接吧。游戲從業者如果之前沒有別的領域的開發經驗,對數據庫這東西一知半解的人居多。尤其是 從客戶端開發過來的人,他們通常的習慣就是看 API 文檔,了解怎么用看起來正確就夠了。然后上線測試一下,好像也對,工作似乎就結束了。就算有壓力測試,也很難做到和生產環境一致。

上線前,據說雙方溝通過。陌陌方想確認系統能不能橫向擴展,得到的答復是可以:加硬件即可。我想陌陌勁舞團開發方的思路是這樣的:我們的服務器系統 很簡單,不都是過一下數據庫么?MongoDB 是被很多人驗證過的,不會在這么簡單的業務中出問題吧。至于負載,不是還有 mongos 么?放心啦,沒事的。

最終的直接問題出在排行榜上。當有兩萬人在線時(沒錯,才兩萬人而已),大量用戶的排行榜查詢阻塞了數據庫。導致不僅僅是排行榜刷不出來,連沖值業務也受到了影響。土豪們充不進去錢,談什么玩游戲啊。最終產生了雪崩,整個數據庫都不正常使得游戲系統工作不起來。

為啥用了這么長時間才修好這個 bug ?

負責陌陌勁舞團的服務器開發的人在項目做完就離職了。想想一個設計有問題的系統交給非設計者維護有多糟糕吧?任何清醒的程序員都知道,這個時候即使是重寫也比改問題簡單。陌陌的同學做了個正確的決定,直接派自己的人駐留在上海,把服務器重新寫了一遍。

陌陌的技術背景是 Redis 的,他們的系統用 redis 構建,所以重寫就用了 redis 取代 mongodb 。寫到這里,我完全沒有 redis 和 mongodb 誰好誰差的意思。關鍵在人,你對什么熟悉就用什么,哪種數據庫都能對付這點小業務,關鍵看你能不能用對。

Redis 里正好有一個有序集(Sorted Set) 的數據結構,你用 ZADD 插入完數據后,它就天然有序了。這個插入是 O( M * log(N)) 的時間復雜度,基本可以滿足需求。而用 ZRANGE 查詢榜單僅需 O(log(N)+M) 的時間復雜度。

那么使用 Redis ,利用 sorted set 做排行榜系統是我們的唯一選擇么?絕對不是。我們也不可能為了這個特性必須選擇 redis 做數據庫。但這個例子可以說明:如果數據庫提供內在的特性可以對數據集做一些操作,我們就直接用,但需要了解這種操作的性能。它需要和整個系統對它的性能 期望匹配。

陌陌勁舞團使用 mongodb 內置的排序功能去做排行榜本也不是大問題。或許僅僅只是實現的人對 mongo 不熟悉造成的性能低下。這些隨著系統重建已經無法深究了。但核心問題是,僅僅一個排行榜系統的錯誤實現為何會影響整個系統的穩定性?

下面就是我的猜測了:

許多程序員為了提高數據庫的吞吐量,并不是一個事務就給數據庫建一個連接,用完就關掉的。因為新建 TCP 連接是個開銷較大的操作。維持太多連接對系統也是一個開銷。同學們喜歡做一個叫做連接池的東西,在系統其它部分和數據庫對接的地方走這個連接池。只要一個 舊有連接沒有斷開,就一直把對數據庫的請求通過固定連接發給數據庫,等待返回。

在數據庫的吞吐量滿足系統需求的時候,這個模塊很容易實現正確。但一旦超出需求,連接池上的數據就會越積越多,數據庫查詢越來越慢。而調用數據庫的模塊卻不覺得這是問題。

正確的行為應該是讓連接池快速反饋,斷開并扔掉不可能處理完的請求,讓請求方把這個不能處理的錯誤反饋到上個環節,直到流量被限制在合理的范圍內。整個系統才能不至于崩潰。當錯誤被迫反饋到玩家那里時,他頂多看到的是查詢失敗,而不太會影響到別的功能。

陌陌爭霸怎樣做排行榜的?

在上一篇里就有同學問道,如果你們不用數據庫,怎么做排行榜呢? 其實我在上一篇正文里就有解答:

“服務器只是在不斷的創造新數據并讓這些數據在內存中流通而已,它沒有任何需要從外部讀取數據。如果內存無限大,且服務器永遠不會當機,數據庫這個設施沒有存在的必要。”

排行榜單也是數據之一,游戲服務器開服一刻起,沒有任何玩家有排名信息。隨著玩家名次更替,榜單才逐步形成。我們只需要在玩家分數變化的時候同步榜單的變化即可。而玩家查詢僅僅是取走有序的榜單而已。

你看,這個過程和數據庫無關不是?需要設計的是調整榜單的算法,和榜單的數據結構以保證維持榜單的性能足夠強就好了。因為玩家名詞更替的頻率遠小于玩家網絡包的頻率,那么這個模塊的處理能力所需要的下限很容易滿足。我們不用考慮處理不過來的情況。

針對陌陌爭霸我們是這樣做的:

陌陌爭霸中用于排名的分數區間不大,也就是 0 分到 5000 分。而參與排名的人數眾多,數以百萬計。對百萬用戶做插入排序,每個插入即使是 O(N) 的也不可接受。可事實是大量玩家的分數相同,都是并列排名的。所以我們只需要做 5000 個桶,每個桶里僅記錄這個分數有多少個人就可以了。

當玩家分數變遷,把原來的桶減一,新的桶加一。這個操作就是 O(1) 的。

而排行榜的查詢僅需要把當前分數靠前的桶累加,就能獲知查詢者的名次。對于上百萬玩家,看到哪些人和你并列的人的名字是沒有意義的。這個查詢雖然是 O(n) 復雜度,但 n 只有區區 5000 ,還可以做 cache 以應對查詢頻率遠高于更新頻率的情況。

真正需要精確知道人名的是榜單的前 200 個人,而對前 200 個人做插入排序也很快,所以并不會造成性能問題。

我們在系統的單點做排行榜的維持,完全沒有外部數據庫操作,它只是一小段操作普通內存結構的 c 代碼。而這個單點遠遠成為不了整個系統的熱點。

我們在系統臨時退出時,把已經排好的榜單落地,下次啟動的時候恢復。但也不必完全信任落地的數據,可以用離線腳本檢索整個數據庫重新生成一份正確的榜單。所以數據庫中的榜單只是被 cache 起來而已,系統運行期間是不需要寫入數據庫的,也不用擔心數據丟失。

好吧,還是沒談到我們自己踩的坑,就又到了吃飯時間 :( 。

明天我將寫寫陌陌爭霸在運營期間遇到的第一起數據庫事故,它和 mongos 有關。同時也會談談我們在代理狂刃期間幫狂刃填的一些和 mongodb 有關的坑。

原文地址。51CTO獲作者授權轉載。

責任編輯:徐川 來源: blog
相關推薦

2014-03-09 23:22:26

手游開發數據庫

2014-03-09 23:29:12

2014-03-05 09:31:54

陌陌爭霸數據庫

2015-03-31 18:26:43

陌陌社交

2012-08-31 14:36:19

陌陌林志霖社交應用

2014-07-25 15:41:12

陌陌WOT2014GoRedis

2012-08-27 09:39:23

陌陌社交APP

2022-09-02 09:06:17

數據庫Oracle

2021-12-06 16:35:33

QQ微博社交軟件

2021-07-09 14:18:15

數據庫DB-EnginesOracle

2014-08-15 17:51:39

聽云

2015-05-12 14:34:09

陌陌

2013-08-23 09:41:19

2015-12-11 16:07:03

光合資本

2015-11-11 15:17:16

雙十一單身陌陌

2012-08-21 15:52:48

2022-08-03 08:26:03

數據庫OracleMySQL

2015-05-27 11:05:46

阿里云陌陌CDN

2021-08-05 10:46:21

數據庫SQL ServerDB-Engines

2021-04-02 12:51:03

數據庫DB-EnginesMongoDB
點贊
收藏

51CTO技術棧公眾號

天堂在线中文视频| www.激情网| 欧美日韩成人免费视频| 欧美成人精品欧美一级| 麻豆视频网站在线观看| 捆绑调教美女网站视频一区| 日韩在线观看免费高清| 下面一进一出好爽视频| 亚洲精品久久久久久久久久| 国产精品v亚洲精品v日韩精品| 色综合久久综合网| 99九九电视剧免费观看| 国产稀缺真实呦乱在线| 亚洲人成精品久久久 | 澳门成人av网| 国产精品美女一区二区| 亚洲自拍小视频免费观看| a级一a一级在线观看| 国产欧美一区二区三区精品酒店| 成人激情免费网站| 自拍偷拍亚洲精品| 免费无码国产v片在线观看| 亚洲天堂aaa| 精品成人自拍视频| 欧洲视频一区二区| 伊人网在线免费| 五月天福利视频| 极品少妇xxxx偷拍精品少妇| 精品伊人久久97| 国产中文字幕乱人伦在线观看| 亚洲网站在线免费观看| 欧美女激情福利| 欧美日本一道本| 久久久亚洲综合网站| 中文字幕精品一区二| 国产精品久久777777毛茸茸| 影音先锋日韩有码| 懂色av粉嫩av蜜乳av| 性欧美ⅴideo另类hd| 久久亚洲精品小早川怜子| 欧美第一页在线| 中文字幕22页| 成人直播视频| 亚洲精品日日夜夜| 亚洲欧美日韩在线综合| 日本福利片在线| www.在线欧美| 97人人模人人爽人人少妇| 中文字幕 自拍偷拍| 久久久久看片| 欧美怡红院视频一区二区三区| 自拍偷拍第9页| 伊人春色精品| 色婷婷综合久久久久中文一区二区| www国产免费| 日本最新在线视频| 美女视频黄a大片欧美| 欧美激情亚洲国产| 欧美成人aaa片一区国产精品| 成人精品影院| 一本色道久久综合亚洲精品小说| 秘密基地免费观看完整版中文| 电影91久久久| 这里只有精品99re| 成人污网站在线观看| 日本www在线观看视频| 欧美国产精品中文字幕| 国产精品狼人色视频一区| 日韩不卡视频在线| 中文字幕亚洲在线观看| 91精品国产综合久久久久久久 | 福利电影一区| 精品国产乱码久久久久久虫虫漫画| 精品在线视频一区二区| 无码人妻久久一区二区三区不卡| 亚洲国产精品一区| 亚洲精品视频二区| 免费成人深夜夜行p站| 天天操综合520| 国产丝袜一区视频在线观看 | 丰满少妇被猛烈进入一区二区| 亚洲啊v在线观看| 亚洲国产成人精品女人久久久 | 日本一区二区三区免费乱视频| 欧美一区二区福利| 国产对白叫床清晰在线播放| 国产欧美日韩卡一| 中文字幕一区二区三区5566| 黄网站免费在线观看| 一区二区三区免费在线观看| 成年在线观看视频| 操你啦视频在线| 性欧美疯狂xxxxbbbb| 欧美日韩一区二区三区在线视频 | 欧美日韩国产成人在线免费| www.成年人| 超碰精品在线| 亚洲一区av在线播放| 久久久久久久麻豆| 欧美特黄视频| 国产va免费精品高清在线| 中文字幕在线播出| 国产精品一区一区| 国产美女精品久久久| 国产中文在线观看| 国产成人在线影院| 成人免费福利视频| 精品久久久无码中文字幕| www.性欧美| 亚洲亚洲精品三区日韩精品在线视频| 69xxx在线| 日本久久一区二区| 午夜免费福利小电影| 在线免费日韩片| 欧美在线短视频| jizzzz日本| 日韩大胆成人| 久久亚洲电影天堂| 天堂网视频在线| 国产精品综合久久| 欧美一区2区三区4区公司二百| av在线看片| 在线一区二区视频| 岛国精品资源网站| 围产精品久久久久久久 | 性欧美videohd高精| 欧美一区二区精品久久911| 91精品小视频| 97国产成人高清在线观看| 亚洲乱亚洲乱妇无码| 久久久久久久久久97| 翔田千里一区二区| 韩国精品美女www爽爽爽视频| 波多野结衣电车痴汉| 久久综合九色| 国产伦精品一区二区三区在线| 欧美性天天影视| 色狠狠综合天天综合综合| 色诱av手机版| 欧美激情1区2区| 国产男女猛烈无遮挡91| 久久久久久青草| 久久亚洲影视婷婷| 国产无限制自拍| 波多野结衣在线播放| 在线观看免费亚洲| 黑人巨大精品欧美| 国产精品一区二区在线免费观看| 欧美日韩伦理片| 夜色激情一区二区| 欧美成人手机在线视频| 日韩精品看片| 国产精品伦子伦免费视频| 日本精品专区| 亚洲精品自拍动漫在线| 日本人69视频| 97精品视频在线看| 国产精品尤物福利片在线观看| 少妇高潮一区二区三区99小说 | 精品久久香蕉国产线看观看亚洲 | 一本一道久久a久久精品综合| 免费日韩电影| 亚洲天堂免费观看| 蜜臀尤物一区二区三区直播| 国产日韩欧美精品电影三级在线| 冲田杏梨av在线| 色琪琪久久se色| 亚洲最大的av网站| 免费毛片在线看片免费丝瓜视频 | 91精品国产综合久久福利软件| 日韩欧美123区| 亚洲麻豆av| 欧美日韩电影一区二区| 欧美123区| 久久久极品av| 天天干天天爽天天操| 色偷偷久久人人79超碰人人澡| 欧美日韩国产黄色| 国产美女视频91| a在线视频观看| 成人久久一区| 999国内精品视频在线| 91av久久| 最好看的2019的中文字幕视频| 国产高清视频免费| 欧美性生交xxxxx久久久| 国产精品18在线| 成人久久久精品乱码一区二区三区| 国产主播在线看| 99久久激情| 久久久久一区二区| 动漫一区二区三区| 欧美诱惑福利视频| 岛国中文字幕在线| 亚洲免费伊人电影在线观看av| 国产精品国产三级国产普通话对白| 337p粉嫩大胆色噜噜噜噜亚洲| 午夜dv内射一区二区| 国模吧视频一区| 亚洲电影网站| 久久精品国产亚洲5555| 国产日韩欧美电影在线观看| 国产美女高潮在线观看| 久久精品国产欧美激情| 欧美偷拍视频| 欧美va在线播放| 亚洲一级av毛片| 丁香五六月婷婷久久激情| 人妻人人澡人人添人人爽| 国产三级一区二区| 一本加勒比波多野结衣| 国产一区二区在线免费观看| 日韩毛片在线免费看| 免费av网站观看| 久久免费av| 国产精品青青草| 中文字幕日本一区| 日韩av免费在线播放| 丰乳肥臀在线| 久久亚洲成人精品| 777电影在线观看| 精品一区二区三区四区| 欧美自拍第一页| 欧美一区二区精品| 在线黄色av网站| 色狠狠色狠狠综合| 在线能看的av| 亚洲成av人片在www色猫咪| 免费一级a毛片夜夜看| 中文字幕在线视频一区| 国产一区二区三区精品在线| 97国产精品videossex| 深夜视频在线观看| 国产经典欧美精品| 两性午夜免费视频| 激情综合色综合久久| 亚洲欧美日韩综合网| 奇米色777欧美一区二区| 人妻无码视频一区二区三区| 美女黄色成人网| 92看片淫黄大片一级| 一区二区三区成人精品| 一二三四视频社区在线| 在线欧美亚洲| 日韩国产欧美亚洲| 亚洲欧美日韩国产| 黄色一级免费大片| 日韩av一区二| 成人亚洲精品777777大片| 亚洲a一区二区三区| 性欧美18一19内谢| 午夜av一区| 亚洲第一综合网站| 午夜精品久久久久99热蜜桃导演| 亚洲色婷婷久久精品av蜜桃| 亚洲午夜精品久久久久久app| 日韩国产小视频| 亚洲清纯自拍| 日韩视频在线免费看| 日本成人在线不卡视频| 热久久久久久久久| 国产a级毛片一区| 黑丝av在线播放| 国产色综合一区| 天海翼在线视频| 亚洲一区二区精品视频| 天天综合网入口| 91久久人澡人人添人人爽欧美| 亚洲精品国产精品国自产网站按摩| 欧美系列在线观看| 国产丝袜视频在线观看| 欧美精品一区二区三区很污很色的| 天天射天天色天天干| 亚洲一区二区福利| 菠萝菠萝蜜在线观看| 高清欧美一区二区三区| 欧美黑人粗大| 91在线免费观看网站| 欧美激情影院| 亚洲一区二区精品在线| 欧美精品一线| 久久久精品在线视频| 激情亚洲综合在线| 国产熟女高潮一区二区三区| 中文av一区二区| 久久免费视频99| 在线国产亚洲欧美| 精品人妻一区二区三区麻豆91| 日韩精品在线免费| 精品国产99久久久久久| 午夜精品久久久99热福利| 成人国产综合| 国产亚洲情侣一区二区无| 欧美色图一区| 国产精品入口芒果| 久久精品国产免费看久久精品| 中文字幕在线观看视频www| 久久这里只有精品视频网| 在线观看亚洲网站| 色综合色狠狠综合色| 精品欧美一区二区精品少妇| 一区二区三区天堂av| 丰满诱人av在线播放| 国产欧美亚洲视频| 国产成人三级| 久久综合一区二区三区| 久久精品久久久| 青青在线视频免费| 福利91精品一区二区三区| 国产免费嫩草影院| 欧美日韩精品在线视频| 国产后入清纯学生妹| 在线成人中文字幕| 免费在线小视频| 国产麻豆一区二区三区在线观看| 午夜激情久久| 中文字幕在线观看第三页| av午夜精品一区二区三区| 久草国产在线观看| 欧美疯狂做受xxxx富婆| 第一页在线观看| 欧美一区第一页| 欧美亚洲色图校园春色| 黄色片免费在线观看视频| 国产一区二区导航在线播放| 日韩不卡av在线| 在线影院国内精品| 国产一区电影| 国产成人精品视频在线观看| 色愁久久久久久| 国内精品视频一区二区三区| 国产精品99久久久久久有的能看| 精品丰满少妇一区二区三区| 欧美最猛黑人xxxxx猛交| 日本一二三区在线视频| 992tv在线成人免费观看| 新片速递亚洲合集欧美合集| 精品在线视频一区二区三区| 亚洲高清成人| 岛国精品资源网站| 欧美日韩国产丝袜另类| 少妇精品高潮欲妇又嫩中文字幕| 久久久久亚洲精品成人网小说| 久久国产精品免费一区二区三区| 免费观看中文字幕| 国产精选一区二区三区| 欧美日韩成人免费观看| 精品sm捆绑视频| 看黄在线观看| 国内外成人免费视频| 香蕉成人久久| 在线看片中文字幕| 91精品国产高清一区二区三区蜜臀| 国产一二区在线| 成人影片在线播放| 国产日韩亚洲| 少妇无套高潮一二三区| 欧美亚洲国产一卡| 成人毛片av在线| 国产福利一区二区三区在线观看| 亚洲国产精品一区| xxxxx在线观看| 欧美精品久久99久久在免费线 | 欧美国产一区视频在线观看| 亚洲中文字幕无码爆乳av| 丝袜亚洲欧美日韩综合| 国产在线一区不卡| 国产二区视频在线| 久久一夜天堂av一区二区三区| 无码人妻丰满熟妇区五十路 | 青青草华人在线视频| 7777精品伊人久久久大香线蕉的| 91小视频xxxx网站在线| 国产精品夜夜夜一区二区三区尤| 亚洲一区二区三区高清| 五月天精品在线| 日韩欧美国产1| 日本在线人成| 成人午夜电影在线播放| 久久福利一区| 天天色影综合网| 亚洲电影免费观看高清完整版在线观看 | 亚洲www在线观看| 欧美高清一区| 精品久久久久久中文字幕人妻最新| 色国产精品一区在线观看| 久久日韩视频| 你懂的视频在线一区二区| 韩国三级在线一区| 97久久久久久久| 久久久999精品免费| 网曝91综合精品门事件在线| 亚洲另类第一页| 欧美日韩激情美女| 国产精品实拍| 欧洲精品久久| 成人夜色视频网站在线观看| 探花国产精品一区二区| 国内久久久精品| 亚洲精品成人影院|