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

超詳細的秒殺架構設計,運維,了解一下

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

 [[431486]]

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

秒殺應該考慮哪些問題

超賣問題

分析秒殺的業務場景,最重要的有一點就是超賣問題,假如備貨只有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.         //1秒產生1個令牌 
  5.         final RateLimiter rateLimiter = RateLimiter.create(1); 
  6.         for (int i = 0; i < 10; i++) { 
  7.             //該方法會阻塞線程,直到令牌桶中能取到令牌為止才繼續向下執行。 
  8.             double waitTime= rateLimiter.acquire(); 
  9.             System.out.println("任務執行" + i + "等待時間" + waitTime); 
  10.         } 
  11.         System.out.println("執行結束"); 
  12.     } 

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

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

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

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

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

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

異步下單

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

服務降級

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

總結 

 

 

秒殺流程圖:

 

 

 

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

【編輯推薦】

【責任編輯:張燕妮 TEL:(010)68476606】

 

 

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

2021-03-26 09:49:11

運維架構技術

2018-03-21 09:08:06

超融合架構本質

2021-07-27 11:31:29

運維架構技術

2022-03-11 21:35:57

Java程序線程

2016-06-14 10:03:45

運維 架構

2021-08-12 10:05:06

MySQL數據庫MySQL

2021-11-19 10:25:23

MySQL數據庫架構

2018-11-13 12:13:56

運維災備硬盤

2018-03-18 08:28:04

數據中心運維組織架構數據中心

2021-01-21 10:23:43

數據庫架構技術

2018-10-24 05:14:11

2020-02-10 14:26:10

GitHub代碼倉庫

2023-10-23 10:20:25

2022-03-24 13:36:18

Java悲觀鎖樂觀鎖

2018-10-15 05:42:52

超參數搜索深度學習數據科學

2020-12-10 08:44:35

WebSocket輪詢Comet

2015-07-13 10:06:11

超融合基礎架構運維數據中心

2022-12-25 18:58:53

架構RabbitMQ

2022-05-17 07:51:21

架構設計運維業務系統

2020-04-21 13:50:48

Wi-Fi 6無線華為
點贊
收藏

51CTO技術棧公眾號

日本久久电影网| 丰满放荡岳乱妇91ww| 国产亚洲欧美另类中文| 五月婷婷之婷婷| 另类视频在线| www国产成人免费观看视频 深夜成人网| 国产成人欧美在线观看| 艳妇荡乳欲伦69影片| 精品中国亚洲| 欧美日韩免费不卡视频一区二区三区 | 日韩中文理论片| 在线观看亚洲免费视频| 澳门av一区二区三区| 一区二区三区中文字幕精品精品| 欧美xxxx黑人又粗又长密月| 国产精品久久综合青草亚洲AV| 亚洲精品欧美| 欧美成人精品一区| 成年人在线免费看片| 国产成人免费在线观看视频| 日本免费在线一区| 亚洲成人综合在线| 伊人婷婷久久| 可以在线观看的av| 粉嫩av一区二区三区在线播放| 国产精品成人一区| 国产一级理论片| 仙踪林久久久久久久999| 亚洲欧美福利视频| xxxxxx黄色| 香蕉成人app| 3atv在线一区二区三区| 男女视频一区二区三区| 中日韩脚交footjobhd| 亚洲一区二区偷拍精品| 欧美日韩一区二区三区电影| 黄色av免费在线看| 91片黄在线观看| 成人黄色在线免费观看| 精品国产亚洲AV| 精品一区二区三区欧美| 国产精品久久久久久av福利软件 | 欧美午夜xxx| 无码中文字幕色专区| 欧美xxxx做受欧美88bbw| 亚洲欧美怡红院| 一道精品一区二区三区 | 久久老女人爱爱| 黑人另类av| 欧美一区二区公司| 成人激情午夜影院| 国产精品xxxx| 天天干天天草天天射| 成人毛片视频在线观看| 成人黄动漫网站免费| 性一交一乱一伧老太| 国产精品一级二级三级| 成人黄视频免费| 亚洲第一成人av| 东方aⅴ免费观看久久av| 超碰在线97av| 天天爽夜夜爽夜夜爽| 成人黄色777网| 精品一区二区三区国产| 色视频免费在线观看| 国产亚洲制服色| 亚洲成人第一| bt在线麻豆视频| 亚洲一二三四区| 欧美日韩性生活片| 欧美二三四区| 91超碰这里只有精品国产| 亚洲制服中文字幕| 91精品短视频| 日韩精品在线免费观看视频| 欧美黄色高清视频| 亚洲天天影视网| 97在线视频免费看| 国产主播第一页| 韩国欧美一区二区| 国产欧美亚洲日本| 男人的天堂av高清在线| 国产精品传媒在线| 青青青青在线视频| 亚洲成av在线| 欧美一区2区视频在线观看| 亚洲天堂2024| 日韩av二区| 欧美韩国理论所午夜片917电影| 日韩欧美a级片| 日本不卡视频在线| 成人综合电影| 国产人成在线观看| 一个色在线综合| 国产黄色特级片| 欧美二区观看| 国产亚洲aⅴaaaaaa毛片| 日韩高清dvd碟片| 国产亚洲亚洲| 亚洲aa中文字幕| 欧美偷拍视频| 一二三区精品视频| 日韩亚洲在线视频| 懂色av一区二区| 最近日韩中文字幕中文| 四虎成人精品永久免费av| 蜜桃传媒麻豆第一区在线观看| 亚洲xxx视频| 成人高清免费观看mv| 亚洲中国最大av网站| 无人在线观看的免费高清视频 | 欧美高清视频不卡网| 在线精品一区二区三区| 久久社区一区| 欧美一级bbbbb性bbbb喷潮片| 国产精品热久久| 久久色.com| 夜夜添无码一区二区三区| 国产a亚洲精品| 精品五月天久久| 精品少妇一二三区| 韩国三级中文字幕hd久久精品| 欧美性bbwbbwbbwhd| 19禁羞羞电影院在线观看| 91精品国模一区二区三区| www.99热| 久久亚洲电影| 久久人人爽爽人人爽人人片av| 最新黄网在线观看| 欧美日韩国产片| 亚洲AV无码片久久精品| 国产日韩欧美一区二区三区在线观看 | 中文字幕一区二区三区有限公司| 亚洲wwww| 国产丝袜一区二区| 97久久久久久久| www.日韩av| 波多野结衣av一区二区全免费观看| 亚洲日本中文| 久久精品视频在线| 91久久久久久久久久久久| 欧美国产一区二区在线观看| 日av中文字幕| 欧美日韩激情在线一区二区三区| 青青草99啪国产免费| 日韩电影网址| 日本高清视频一区二区| a毛片毛片av永久免费| 亚洲在线观看| 欧美国产二区| 中文字幕系列一区| 自拍偷拍亚洲一区| 中文字幕在线观看1| 国产精品拍天天在线| 污污动漫在线观看| 五月天激情综合网| 亚洲xxx大片| 99riav视频在线观看| 日韩成人在线网站| 国产精品久久久久久久久久精爆| 久久婷婷国产综合精品青草| www.com毛片| 欧美亚洲高清| 国产精品第3页| 日本不卡不卡| 日韩免费性生活视频播放| 国产一级在线视频| xfplay精品久久| 无码人妻丰满熟妇区毛片18| 精品国产精品| 成人免费激情视频| 青青草原av在线| 日韩精品在线免费| 亚洲一区二区影视| 一区二区在线观看视频| 亚洲天堂成人av| 日本午夜精品一区二区三区电影| 伊人久久大香线蕉精品| 日韩亚洲精品在线观看| 欧美中文字幕视频| 欧美13一16娇小xxxx| 精品欧美乱码久久久久久| 欧美啪啪小视频| 欧美激情一区二区三区蜜桃视频| 九九九九九九九九| 亚洲精品社区| 亚洲欧美日韩精品在线| 在线播放一区二区精品视频| 欧美最近摘花xxxx摘花| 久久99精品久久| 亚洲国产成人精品一区二区| 中文字幕av片| 亚洲国产视频a| 日本污视频网站| 国产91精品一区二区麻豆亚洲| 免费av网址在线| 欧美另类亚洲| 亚洲狠狠婷婷综合久久久| 盗摄系列偷拍视频精品tp| 国产精品96久久久久久| 日本中文字幕中出在线| 一区二区三区久久精品| 蜜桃视频久久一区免费观看入口| 欧洲精品在线观看| 国产精品成人av久久| 国产精品免费视频网站| 国产伦精品一区二区三区妓女| 国产在线精品一区二区三区不卡| 男女激情无遮挡| 欧美有码视频| 亚洲一卡二卡三卡四卡无卡网站在线看 | 韩国无码一区二区三区精品| 国产精品主播直播| 亚洲国产精品三区| 国产精品女主播一区二区三区| 精品少妇人妻av一区二区| 欧美精品momsxxx| 国产成人精品日本亚洲11| 久久久国产精品网站| 欧美在线视频一二三| 欧美xxxx做受欧美88bbw| 日韩网站免费观看| 国产乱视频在线观看| 亚洲精品videossex少妇| 国产特级黄色片| 欧美丰满一区二区免费视频| 波多野结衣电影在线播放| 狠狠色噜噜狠狠狠狠97| 日本免费一二三区| 亚洲最大色网站| av激情在线观看| 成人欧美一区二区三区白人| 毛片aaaaaa| 中文字幕不卡在线播放| aaaaa一级片| 99久久综合99久久综合网站| 丰满少妇xbxb毛片日本| 国产一区二区三区四区五区美女| 日本中文字幕高清| 青青草国产成人av片免费| 国产裸体免费无遮挡| 蜜乳av另类精品一区二区| 欧美在线观看成人| 国产九九精品| 亚洲人精品午夜射精日韩| 禁久久精品乱码| 免费拍拍拍网站| 亚洲精品系列| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 天天干在线影院| 中日韩男男gay无套| a级黄色一级片| 国产精品毛片| 欧美一级黄色影院| 美女在线视频一区| 国产农村妇女精品久久| 国内精品伊人久久久久av一坑| 午夜xxxxx| 风间由美性色一区二区三区| 日本少妇xxxx| 久久精品亚洲精品国产欧美| 国产一区二区三区四区五区六区 | 欧美www.| 国产日本欧美在线观看| 国产情侣一区二区三区| 亚洲一区二区在线播放| 国产在线一区不卡| 国产区二精品视| 国产精品午夜一区二区三区| 先锋影音亚洲资源| 久久国产精品亚洲人一区二区三区 | 亚州av乱码久久精品蜜桃| 成人短视频在线观看免费| 综合视频在线| 国产中文字幕免费观看| 久久精品国产亚洲a| 日本高清久久久| 不卡视频一二三四| 欧洲美熟女乱又伦| 亚洲黄色小视频| 91青青草视频| 欧美一级日韩免费不卡| 一本大道伊人av久久综合| 精品久久久久av影院| 日本韩国精品一区二区| 久久精品国产69国产精品亚洲| 国模私拍视频在线播放| 国产精品video| 午夜视频在线观看精品中文 | 国产女人在线视频| 欧美日韩国产第一页| 91精品xxx在线观看| 亚洲自拍av在线| 久久不见久久见免费视频7| 日本黄色播放器| 亚洲欧美卡通另类91av| 日韩精品aaa| 国产色产综合色产在线视频| 日韩a级片在线观看| 一本到一区二区三区| 国产999久久久| 在线成人一区二区| av影院在线| 成人免费xxxxx在线观看| 亚洲精品aaaaa| 青草网在线观看| 久久激情综合网| 91成年人网站| 亚洲国产精品久久久久秋霞影院| 在线免费观看av片| 精品无人国产偷自产在线| 欧美人与性动交α欧美精品济南到| 国产精品69精品一区二区三区| 综合中文字幕| 在线天堂一区av电影| 久久永久免费| 久久久久麻豆v国产精华液好用吗| 亚洲丝袜美腿综合| 波多野结衣绝顶大高潮| 日韩av影视综合网| 丁香花在线高清完整版视频| 成人免费淫片视频软件| 欧美精品乱码| 老司机午夜av| 久久婷婷成人综合色| 欧美亚韩一区二区三区| 精品日韩成人av| 91cn在线观看| 成人综合网网址| 91中文字幕精品永久在线| 亚欧在线免费观看| 国产视频一区二区在线观看| 伊人久久综合视频| 亚洲风情亚aⅴ在线发布| 免费不卡av| 国产精品乱码一区二区三区| 欧美三级小说| 人妻 丝袜美腿 中文字幕| 亚洲美女一区二区三区| 国产视频在线一区| 免费av一区二区| 久久wwww| 久久久国内精品| 成人一二三区视频| 日本a在线观看| 日韩电影在线观看中文字幕| bbw在线视频| 狼狼综合久久久久综合网| 国产人成精品一区二区三| 亚洲人人夜夜澡人人爽| 狠狠色狠狠色综合日日五| 嫩草在线播放| 国产精品欧美风情| 五月天综合网站| 小早川怜子一区二区三区| 一区二区三区视频在线观看| 亚洲国产综合网| 91禁国产网站| 国产精品探花在线观看| 亚洲最大成人在线观看| 中文字幕一区二区三区四区不卡| 97人妻一区二区精品免费视频| 搡老女人一区二区三区视频tv| 99久久99九九99九九九| 视色,视色影院,视色影库,视色网| 国产黄色91视频| 日本免费观看视| 中文字幕视频在线免费欧美日韩综合在线看 | 日韩欧美国产系列| av影片在线| 日韩激情视频| 久久99精品久久久| 久久一二三四区| 亚洲欧美色婷婷| aa亚洲一区一区三区| 97超碰在线人人| 国产欧美日韩在线观看| 国产青青草视频| 欧美精品久久久久久久| 视频国产一区| 亚洲色图欧美自拍| 精品久久久久久中文字幕大豆网| jizz日韩| 国产精品久久久一区二区三区| 久久午夜影视| 日韩精品一区二区亚洲av性色| 亚洲国产美女久久久久| 欧美xnxx| 美脚丝袜脚交一区二区| 欧美激情资源网| 日韩在线观看视频一区| 国产精品视频26uuu| 欧美日韩免费| 人妻熟人中文字幕一区二区| 精品国产sm最大网站免费看| 一区在线影院| 免费无码不卡视频在线观看| 国产精品国模大尺度视频| 天天摸夜夜添狠狠添婷婷| 国产在线精品播放|