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

超詳細的秒殺高并發設計,運維快收藏起來

新聞 系統運維
我們如何設計一個秒殺系統呢?對于秒殺系統應該考慮哪些問題?如何設計出健壯的秒殺系統?本文我們就來探討一下這個問題。

[[389747]]

秒殺系統相信很多人見過,比如京東或者淘寶的秒殺,小米手機的秒殺,那么秒殺系統的后臺是如何實現的呢?我們如何設計一個秒殺系統呢?對于秒殺系統應該考慮哪些問題?如何設計出健壯的秒殺系統?本文我們就來探討一下這個問題。

秒殺應該考慮哪些問題

超賣問題

分析秒殺的業務場景,最重要的有一點就是超賣問題,假如備貨只有100個,但是最終超賣了200,一般來講秒殺系統的價格都比較低,如果超賣將嚴重影響公司的財產利益,因此首當其沖的就是解決商品的超賣問題。

高并發

秒殺具有時間短、并發量大的特點,秒殺持續時間只有幾分鐘,而一般公司都為了制造轟動效應,會以極低的價格來吸引用戶,因此參與搶購的用戶會非常的多。短時間內會有大量請求涌進來,后端如何防止并發過高造成緩存擊穿或者失效,擊垮數據庫都是需要考慮的問題。

接口防刷

現在的秒殺大多都會出來針對秒殺對應的軟件,這類軟件會模擬不斷向后臺服務器發起請求,一秒幾百次都是很常見的,如何防止這類軟件的重復無效請求,防止不斷發起的請求也是需要我們針對性考慮的。

秒殺 URL

對于普通用戶來講,看到的只是一個比較簡單的秒殺頁面,在未達到規定時間,秒殺按鈕是灰色的,一旦到達規定時間,灰色按鈕變成可點擊狀態。這部分是針對小白用戶的,如果是稍微有點電腦功底的用戶,會通過F12看瀏覽器的network看到秒殺的url,通過特定軟件去請求也可以實現秒殺。或者提前知道秒殺url的人,一請求就直接實現秒殺了。這個問題我們需要考慮解決。

數據庫設計

秒殺有把我們服務器擊垮的風險,如果讓它與我們的其他業務使用在同一個數據庫中,耦合在一起,就很有可能牽連和影響其他的業務。如何防止這類問題發生,就算秒殺發生了宕機、服務器卡死問題,也應該讓他盡量不影響線上正常進行的業務。

大量請求問題

按照「高并發」的考慮,就算使用緩存還是不足以應對短時間的高并發的流量的沖擊。如何承載這樣巨大的訪問量,同時提供穩定低時延的服務保證,是需要面對的一大挑戰。我們來算一筆賬,假如使用的是 Redis 緩存,單臺 Redis 服務器可承受的 QPS 大概是 4W 左右,如果一個秒殺吸引的用戶量足夠多的話,單 QPS 可能達到幾十萬,單體 Redis 還是不足以支撐如此巨大的請求量。緩存會被擊穿,直接滲透到 DB,從而擊垮MySQL,后臺會將會大量報錯。

秒殺系統的設計和技術方案

秒殺系統數據庫設計

針對「數據庫設計」提出的秒殺數據庫的問題,因此應該單獨設計一個秒殺數據庫,防止因為秒殺活動的高并發訪問拖垮整個網站。這里只需要兩張表,一張是秒殺訂單表,一張是秒殺貨品表。

其實應該還有幾張表,商品表:可以關聯goods_id查到具體的商品信息,商品圖像、名稱、平時價格、秒殺價格等,還有用戶表:根據用戶user_id可以查詢到用戶昵稱、用戶手機號,收貨地址等其他額外信息,這個具體就不給出實例了。

秒殺 URL 的設計

為了避免有程序訪問經驗的人通過下單頁面url直接訪問后臺接口來秒殺貨品,我們需要將秒殺的 URL 實現動態化,即使是開發整個系統的人都無法在秒殺開始前知道秒殺的URL 。具體的做法就是通過 md5 加密一串隨機字符作為秒殺的 URL,然后前端訪問后臺獲取具體的 URL,后臺校驗通過之后才可以繼續秒殺。

秒殺頁面靜態化

將商品的描述、參數、成交記錄、圖像、評價等全部寫入到一個靜態頁面,用戶請求不需要通過訪問后端服務器,不需要經過數據庫,直接在前臺客戶端生成,這樣可以最大可能的減少服務器的壓力。具體的方法可以使用freemarker模板技術,建立網頁模板,填充數據,然后渲染網頁。

單體 Redis 升級為集群 Redis

秒殺是一個讀多寫少的場景,使用 Redis 做緩存再合適不過。不過考慮到緩存擊穿問題,我們應該構建 Redis 集群,采用哨兵模式,可以提升Redis的性能和可用性。

使用 Nginx

Nginx 是一個高性能 Web 服務器,它的并發能力可以達到幾萬,而 Tomcat 只有幾百。通過 Nginx 映射客戶端請求,再分發到后臺 Tomcat 服務器集群中可以大大提升并發能力。

精簡 SQL

典型的一個場景是在進行扣減庫存的時候,傳統的做法是先查詢庫存,再去update。這樣的話需要兩個SQL,而實際上一個SQL我們就可以完成的。可以用這樣的做法:update miaosha_goods set stock =stock-1 where goos_id ={#goods_id} and version = #{version} and sock>0;這樣的話,就可以保證庫存不會超賣并且一次更新庫存,還有注意一點這里使用了版本號的樂觀鎖,相比較悲觀鎖,它的性能較好。

Redis 預減庫存

很多請求進來,都需要后臺查詢庫存,這是一個頻繁讀的場景。可以使用Redis來預減庫存,在秒殺開始前可以在 Redis 設值,比如 redis.set(goodsId,100),這里預放的庫存為100可以設值為常量,每次下單成功之后,Integer stock = (Integer)redis.get(goosId); 然后判斷 sock 的值,如果小于常量值就減去1;不過注意當取消的時候,需要增加庫存,增加庫存的時候也得注意不能大于之間設定的總庫存數(查詢庫存和扣減庫存需要原子操作,此時可以借助 lua 腳本)下次下單再獲取庫存的時候,直接從Redis里面查就可以了。

接口限流

秒殺最終的本質是數據庫的更新,但是有很多大量無效的請求,我們最終要做的就是如何把這些無效的請求過濾掉,防止滲透到數據庫。限流的話,需要入手的方面很多:

前端限流

首先第一步就是通過前端限流,用戶在秒殺按鈕點擊以后發起請求,那么在接下來的5秒是無法點擊(通過設置按鈕為disable)。這一小舉措開發起來成本很小,但是很有效。

同一個用戶xx秒內重復請求直接拒絕

具體多少秒需要根據實際業務和秒殺的人數而定,一般限定為10秒。具體的做法就是通過Redis的鍵過期策略,首先對每個請求都從 String value = redis.get(userId);如果獲取到這個 value 為空或者為 null,表示它是有效的請求,然后放行這個請求。如果不為空表示它是重復性請求,直接丟掉這個請求。如果有效,采用redis.setexpire(userId,value,10).value 可以是任意值,一般放業務屬性比較好,這個是設置以 userId 為 key,10秒的過期時間(10秒后,key對應的值自動為null)。

令牌桶算法限流

接口限流的策略有很多,我們這里采用令牌桶算法。令牌桶算法的基本思路是每個請求嘗試獲取一個令牌,后端只處理持有令牌的請求,生產令牌的速度和效率我們都可以自己限定,Guava 提供了 RateLimter 的 API 供我們使用。以下做一個簡單的例子,注意需要引入Guava:

  1. public class TestRateLimiter { 
  2.  
  3. public static void main(String[] args) { 
  4.  
  5. //1秒產生1個令牌 
  6.  
  7. final RateLimiter rateLimiter = RateLimiter.create(1); 
  8.  
  9. for (int i = 0; i < 10; i++) { 
  10.  
  11. //該方法會阻塞線程,直到令牌桶中能取到令牌為止才繼續向下執行。 
  12.  
  13. double waitTime= rateLimiter.acquire(); 
  14.  
  15. System.out.println("任務執行" + i + "等待時間" + waitTime); 
  16.  
  17.  
  18. System.out.println("執行結束"); 
  19.  
  20.  

上面代碼的思路就是通過RateLimiter來限定我們的令牌桶每秒產生1個令牌(生產的效率比較低),循環10次去執行任務。acquire會阻塞當前線程直到獲取到令牌,也就是如果任務沒有獲取到令牌,會一直等待。那么請求就會卡在我們限定的時間內才可以繼續往下走,這個方法返回的是線程具體等待的時間。執行如下:

可以看到任務執行的過程中,第1個是無需等待的,因為已經在開始的第1秒生產出了令牌。接下來的任務請求就必須等到令牌桶產生了令牌才可以繼續往下執行。如果沒有獲取到就會阻塞(有一個停頓的過程)。不過這個方式不太好,因為用戶如果在客戶端請求,如果較多的話,直接后臺在生產token就會卡頓(用戶體驗較差),它是不會拋棄任務的,我們需要一個更優秀的策略:如果超過某個時間沒有獲取到,直接拒絕該任務。接下來再來個案例:

  1. public class TestRateLimiter2 { 
  2.  
  3. public static void main(String[] args) { 
  4.  
  5. final RateLimiter rateLimiter = RateLimiter.create(1); 
  6.  
  7. for (int i = 0; i < 10; i++) { 
  8.  
  9. long timeOut = (long0.5
  10.  
  11. boolean isValid = rateLimiter.tryAcquire(timeOut, TimeUnit.SECONDS); 
  12.  
  13. System.out.println("任務" + i + "執行是否有效:" + isValid); 
  14.  
  15. if (!isValid) { 
  16.  
  17. continue
  18.  
  19.  
  20. System.out.println("任務" + i + "在執行"); 
  21.  
  22.  
  23. System.out.println("結束"); 
  24.  
  25.  

其中用到了tryAcquire方法,這個方法的主要作用是設定一個超時的時間,如果在指定的時間內預估(注意是預估并不會真實的等待),如果能拿到令牌就返回true,如果拿不到就返回false。然后我們讓無效的直接跳過,這里設定每秒生產1個令牌,讓每個任務嘗試在0.5秒獲取令牌,如果獲取不到,就直接跳過這個任務(放在秒殺環境里就是直接拋棄這個請求)。程序實際運行如下:

只有第1個獲取到了令牌,順利執行了,下面的基本都直接拋棄了,因為0.5秒內,令牌桶(1秒1個)來不及生產就肯定獲取不到返回false了。

這個限流策略的效率有多高呢?假如我們的并發請求是400萬瞬間的請求,將令牌產生的效率設為每秒20個,每次嘗試獲取令牌的時間是0.05秒,那么最終測試下來的結果是,每次只會放行4個左右的請求,大量的請求會被拒絕,這就是令牌桶算法的優秀之處。

異步下單

為了提升下單的效率,并且防止下單服務的失敗。需要將下單這一操作進行異步處理。最常采用的辦法是使用隊列,隊列最顯著的三個優點:異步、削峰、解耦。這里可以采用 RabbitMQ,在后臺經過了限流、庫存校驗之后,流入到這一步驟的就是有效請求。然后發送到隊列里,隊列接受消息,異步下單。下完單,入庫沒有問題可以用短信通知用戶秒殺成功。假如失敗的話,可以采用補償機制,重試。

服務降級

假如在秒殺過程中出現了某個服務器宕機,或者服務不可用,應該做好后備工作。之前的博客里有介紹通過Hystrix進行服務熔斷和降級,可以開發一個備用服務,假如服務器真的宕機了,直接給用戶一個友好的提示返回,而不是直接卡死,服務器錯誤等生硬的反饋。

總結

秒殺流程圖:

這就是我設計出來的秒殺流程圖,當然不同的秒殺體量針對的技術選型都不一樣,這個流程可以支撐起幾十萬的流量,如果是成千萬破億那就得重新設計了。比如數據庫的分庫分表、隊列改成用Kafka、Redis增加集群數量等手段。通過本次設計主要是要表明的是我們如何應對高并發的處理,并開始嘗試解決它,在工作中多思考、多動手能提升我們的能力水平,加油!

 

責任編輯:張燕妮 來源: 高效運維
相關推薦

2021-11-19 10:05:43

運維規則書籍

2009-09-21 08:47:57

Windows 7文件管理

2020-11-25 09:55:40

數據分析工具

2021-10-27 10:48:49

架構運維技術

2020-09-22 11:55:26

Linux命令操作系統

2009-02-03 09:36:00

2021-05-25 18:33:33

開發技能代碼

2020-10-23 19:20:34

前端開發工程師

2025-02-20 00:01:00

2025-01-20 00:00:03

高并發秒殺業務

2019-08-09 11:25:01

Java虛擬機Java程序員

2018-09-15 04:59:01

2012-11-21 09:53:19

jQueryWeb

2015-07-28 09:37:42

設計app

2020-10-14 07:20:53

高并發

2019-10-30 16:54:08

golangredis數據庫

2022-04-01 15:02:56

前端工具開發

2019-12-27 10:33:43

運維架構技術

2024-07-03 11:01:55

2024-08-01 11:38:40

點贊
收藏

51CTO技術棧公眾號

亚洲欧洲一二三| 91av在线看| 四虎成人在线播放| √天堂8资源中文在线| 99精品视频在线观看免费| 日韩免费观看在线观看| 午夜成人亚洲理伦片在线观看| 精品视频在线播放一区二区三区| 亚洲国产精品久久艾草纯爱| 免费av在线一区二区| 一级视频在线播放| 最新成人av网站| 国产亚洲人成网站在线观看| 免费高清视频在线观看| 亚洲欧美电影| 一区二区三区四区高清精品免费观看 | 日韩欧美亚洲精品| 精品人妻少妇AV无码专区| 日韩高清不卡在线| 海角国产乱辈乱精品视频| 国产福利在线导航| 亚洲动漫精品| 精品国产乱码久久久久久浪潮| 制服丝袜综合网| 在线观看福利电影| 亚洲一区二区黄色| 一本一本a久久| 久草在线网址| 99re成人精品视频| 成人毛片网站| 国产sm主人调教女m视频| 日韩精品国产精品| 欧美在线观看网站| 国内免费精品视频| 国内精品久久久久久久影视麻豆| 日韩色av导航| 毛片视频免费播放| 欧美日韩水蜜桃| 国产丝袜一区二区| 国产麻豆天美果冻无码视频| 亚洲免费一区三区| 日韩欧美国产成人一区二区| 999久久久精品视频| 久久91视频| 欧洲精品视频在线观看| 99视频在线免费| 欧美大片免费观看网址| 欧美日韩中文字幕在线| 青青青免费在线| 波多野结衣视频一区二区| 亚洲国产一区二区在线播放| 国产精品国三级国产av| 菠萝蜜视频国产在线播放| 亚洲欧美区自拍先锋| 亚洲一区二区自拍偷拍| 日本三级在线播放完整版| 日本一区二区免费在线| 亚洲国产精品一区在线观看不卡| 黄色小视频在线免费观看| 久久女同互慰一区二区三区| 免费成人看片网址| 中文字幕精品亚洲| 天天久久夜夜| 国产视频精品xxxx| caopeng视频| 日韩精品欧美激情一区二区| 中文字幕欧美日韩在线| 国产精品视频一区二区在线观看| 亚洲国产成人精品女人| 欧美黑人xxxx| 久久精品视频8| 亚洲三级国产| 国产精品成人av在线| 中文字幕乱码人妻二区三区| 久久精品国产色蜜蜜麻豆| 国产美女91呻吟求| 国产ts变态重口人妖hd| 成人深夜视频在线观看| 欧美成熟毛茸茸复古| 国产h视频在线观看| 国产精品家庭影院| 国产日韩亚洲欧美在线| 欧美xxxx做受欧美护士| 91麻豆精品国产自产在线| 亚洲少妇中文字幕| 免费看成人吃奶视频在线| 丝袜情趣国产精品| 欧美日韩偷拍视频| 在线综合亚洲| 国产日韩欧美在线| 欧美一区二区黄片| 国产精品久久久久久久久免费桃花 | 成人久久精品人妻一区二区三区| 99re热这里只有精品视频| 色女孩综合网| 国模私拍视频在线播放| 91久久线看在观草草青青 | 久久综合给合| 亚洲美女福利视频网站| 三级影片在线看| 麻豆九一精品爱看视频在线观看免费| 91日本视频在线| 欧美日韩伦理片| 亚洲在线视频免费观看| 欧美日韩大尺度| av成人资源| 中文字幕av一区二区| 99热在线观看免费精品| 紧缚奴在线一区二区三区| 久久亚洲午夜电影| 2024最新电影在线免费观看| 91高清视频免费看| 中国xxxx性xxxx产国| 国产精品97| 国产精品扒开腿做爽爽爽男男| 亚洲AV午夜精品| 国产精品久久午夜| 激情网站五月天| 国产成人tv| 久久国产精品久久久久久| 蜜臀尤物一区二区三区直播| 成人app下载| 警花观音坐莲激情销魂小说| 成人性片免费| 亚洲精品中文字幕有码专区| 精品亚洲永久免费| 国产成人亚洲综合a∨婷婷图片| 亚洲美女网站18| 亚洲男人av| 国产视频久久久| 日本一区二区三区免费视频| 国产精品一区二区视频| 国产精品av免费| 日韩第二十一页| 少妇精69xxtheporn| 欧美日韩a v| 国产片一区二区三区| 麻豆av免费在线| 久久不见久久见免费视频7| 91sa在线看| 日本一卡二卡四卡精品| 精品成人久久av| 少妇被狂c下部羞羞漫画| 黄色成人精品网站| 国产精品一区二| 爱情岛亚洲播放路线| 精品免费一区二区三区| 国产真实乱人偷精品视频| 国v精品久久久网| 国产欧美日韩小视频| 盗摄牛牛av影视一区二区| 国模视频一区二区三区| 日韩在线观看视频一区| 精品久久久久久中文字幕一区奶水| 69亚洲乱人伦| 媚黑女一区二区| 日韩hmxxxx| 中文成人在线| 欧美日本中文字幕| 人妻91麻豆一区二区三区| 亚洲自拍偷拍综合| 亚洲精品乱码久久久久久久| 销魂美女一区二区三区视频在线| 欧美一级二级三级| 欧美伊人亚洲伊人色综合动图| 久久激情视频免费观看| 亚洲成熟女性毛茸茸| 精品magnet| 欧美激情久久久久久久| 国内成人免费视频| 日本一本中文字幕| 精品一区三区| 91亚洲精品一区| 丰满诱人av在线播放| 精品网站999www| 中文字幕av网站| 综合久久国产九一剧情麻豆| 日本50路肥熟bbw| 久久一区精品| 色哺乳xxxxhd奶水米仓惠香| 国产成人高清精品免费5388| 国产精品极品美女在线观看免费| 国产激情视频在线观看| 日韩av在线不卡| 亚洲一区二区色| 亚洲一本大道在线| 在线视频第一页| 国产福利一区二区三区视频| av之家在线观看| 久久精品欧美一区| 久久免费99精品久久久久久| 日本午夜精品久久久久| 久久欧美在线电影| 91在线播放网站| 亚洲福利视频免费观看| 中文字幕第99页| 午夜免费久久看| 国产激情无码一区二区三区| 91原创在线视频| 亚洲一区二区福利视频| 美女视频一区免费观看| 欧美精品在欧美一区二区| 精品72久久久久中文字幕| 成人激情av| 欧美v亚洲v综合v国产v仙踪林| 国内伊人久久久久久网站视频| 2021av在线| 亚洲精品视频免费| 精品人妻伦一区二区三区久久| 在线观看免费视频综合| 国产在线成人精品午夜| 日韩一区在线看| 卡一卡二卡三在线观看| jizz一区二区| aaa黄色大片| 精品无码三级在线观看视频| 日本www.色| 男人的天堂亚洲| 精品无码一区二区三区在线| 欧美精品黄色| 国产麻豆电影在线观看| 青青草91久久久久久久久| 久久久亚洲综合网站| 精品久久ai电影| 99精品99久久久久久宅男| 欧美性www| 国产欧美精品在线| 久久爱.com| 国产精品久久久久久久9999 | 国产精品嫩草影院一区二区| 一区二区三区电影大全| 18性欧美xxxⅹ性满足| av成人 com a| 久久人人爽人人爽人人片av高清| 欧美jizzhd69巨大| 日韩中文在线视频| 午夜老司机在线观看| 深夜福利91大全| 日韩子在线观看| 日韩网站免费观看| 麻豆影院在线观看| 久久久av网站| gogo在线高清视频| 欧美黑人巨大xxx极品| 免费电影视频在线看| 欧美精品18videosex性欧美| 日本动漫理论片在线观看网站| 超碰精品一区二区三区乱码| 国产鲁鲁视频在线观看特色| 蜜月aⅴ免费一区二区三区| 日韩精品卡一| 国内精品一区二区三区| 麻豆理论在线观看| 日本国产一区二区三区| 欧美亚洲大片| 91免费福利视频| 日韩欧美久久| 精品久久久久久一区二区里番| 日韩美女精品| 日韩一区二区三区高清| 99久久www免费| 青青草视频在线视频| 在线免费高清一区二区三区| 岳毛多又紧做起爽| 男人的天堂久久精品| 91大神免费观看| www.欧美色图| 无码人妻aⅴ一区二区三区69岛| 国产精品三级久久久久三级| 午夜国产福利一区二区| 亚洲一区二区四区蜜桃| 日本特级黄色片| 欧美日韩中字一区| 亚洲经典一区二区三区| 日韩精品一区二区视频| 在线看黄色av| 欧美丰满少妇xxxxx| 中文字幕在线免费观看视频| 国产精品中文字幕久久久| 999久久久精品一区二区| 欧美一区二区综合| 亚洲综合小说| 日本三级免费网站| 精品中文字幕一区二区| 99久久人妻无码中文字幕系列| 国产欧美一区视频| 久久久久久久国产视频| 91九色最新地址| 国产自产一区二区| 中文字幕9999| 美女高潮在线观看| 国产欧亚日韩视频| 欧美jizz19性欧美| 亚洲国产精品女人| 久热re这里精品视频在线6| 日本高清免费在线视频| 久久综合国产精品| 麻豆疯狂做受xxxx高潮视频| 日本丶国产丶欧美色综合| 国产小视频一区| 久久久91精品国产一区不卡| 欧美人体一区二区三区| 翡翠波斯猫1977年美国| 日韩大片在线| 水蜜桃色314在线观看| 狠狠久久亚洲欧美| 亚洲ⅴ国产v天堂a无码二区| 亚洲成人综合视频| 国产免费久久久| 夜夜嗨av一区二区三区四区| 免费高潮视频95在线观看网站| 91亚洲国产成人精品性色| 色呦哟—国产精品| 精品视频无码一区二区三区| www.欧美亚洲| 国产无遮挡又黄又爽又色| 91麻豆精品国产91久久久资源速度 | 国产精品午夜影院| 日韩三级免费观看| 国产黄色在线观看| 成人激情电影一区二区| 日本道不卡免费一区| 国产欧美高清在线| 91免费观看在线| 国产精品18p| 日韩精品一区二区三区蜜臀 | 国产一区毛片| 精品中文字幕av| 99久久er热在这里只有精品66| 久久成人在线观看| 日韩精品一区二区三区中文不卡| 免费在线看黄色| 国产日韩欧美视频在线| 日韩在线看片| 日韩一级免费片| 亚洲欧洲成人av每日更新| 一级片在线免费观看视频| 中文字幕久久精品| 国产69精品久久久久9999人| 亚洲人一区二区| 男女男精品视频| 日韩av毛片在线观看| 欧美精品在线视频| 国产午夜精品久久久久免费视| 91久久中文字幕| 一区二区三区四区在线观看国产日韩| 亚洲第一天堂久久| 亚洲另类中文字| 黑人精品一区二区| 97在线视频免费| 西野翔中文久久精品字幕| 亚洲欧洲日产国码无码久久99 | 欧美不卡在线视频| 丰满的护士2在线观看高清| 国产一区二区在线观看免费播放| 在线成人黄色| 成年人在线观看av| 欧美伊人久久大香线蕉综合69 | 日韩免费在线看| 欧洲杯半决赛直播| 日本不卡一区二区在线观看| 亚洲视频一区二区在线观看| 精品久久久久成人码免费动漫| 欧美激情在线一区| 久久99蜜桃| 欧洲在线免费视频| 亚洲va韩国va欧美va| 韩国三级在线观看久| 国产日韩专区在线| 国产一区日韩欧美| 日本少妇高潮喷水xxxxxxx| 欧美日韩国产成人在线免费| a天堂中文在线官网在线| 精品无人乱码一区二区三区的优势| 老司机亚洲精品| 91视频综合网| 国产丝袜一区二区| 91精品网站在线观看| 麻豆tv在线播放| 国产精品伦一区二区三级视频| 亚洲AV无码精品色毛片浪潮| 欧美中文在线观看| 亚洲欧美综合| 亚洲一级中文字幕| 日韩一区二区精品在线观看| 九九色在线视频| 日日噜噜噜噜夜夜爽亚洲精品| 国产精品香蕉一区二区三区| 青青青国产在线| 欧美成年人网站| 色棕色天天综合网| 中文字幕18页| 欧美日韩免费视频| 青青青免费在线视频| 国产精品h视频| 久久久精品国产免大香伊| 精品人妻一区二区三区麻豆91| 国产91免费观看| 99成人在线| 男女性高潮免费网站|