999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Redis的秒殺抽獎系統設計與實現

2025-06-19 00:00:00賈業武湯澤宇張國順王旭峰馬世毓李政錫
現代信息科技 2025年8期
關鍵詞:數據庫用戶活動

中圖分類號:TP311 文獻標識碼:A 文章編號:2096-4706(2025)08-0100-06

Abstract: WiththedevelopmentofInternet technologyandtheupgrading ofuser needs,seckillsystemandraffeactivities have becomeanimportant means forthe platformto atract new usersand increase the numberofusers.Among them,raffle activitiesareoreenttoetoatefseffctstoughcialsotwareaingHoweer,igoncurecyprocigha become a keychallenge tothe succssof these activities,testing thesystem stabilityanduser experience.Therefore,this paper designsahigh-concurrencyAPPseckilloterysystembasedonRediscluster.Throughloadbalancing,three-end(resourceend,clientddsepaoigaiptrololgyodistrol algorithmandother technical means,itensures thestableoperationof thesystem,improves theuser experience,and provides a solid technical foundation for the smooth development of platform activities.

Keywords:Redis; high-concurrency; seckill system; system design

0 引言

隨著互聯網技術的爆發和用戶需求的升級,秒殺與抽獎活動成為平臺用戶量增長的催化劑,尤其是抽獎活動借助社交軟件的分享實現病毒式擴散,高效吸引新用戶并引爆裂變效應,與傳統廣告方式相比,自發分享更能激發用戶興趣。但高并發處理成為技術攔路虎,考驗著系統的穩定性與用戶體驗,瞬時高并發流量的處理決定了活動的成敗。

面對這一核心挑戰,設計了一款基于Redis集群的高并發APP秒殺抽獎系統,以F5和Nginx構建系統入口的負載均衡和高可用性,配合資源端、客戶端、服務端三端分離設計,確保系統流量的平衡負載;結合Redis單線程與高并發的優勢,通過Lua腳本控制技術保障命令的原子性,實現活動的高可靠性;異步發獎機制有效緩解秒殺抽獎期間的壓力,數據分級存儲策略和業務流量控制算法,使得系統運行高效且穩定,為活動成功提供堅實的技術護航。

本文聚焦于系統在高并發下的穩定運行,旨在通過技術創新,優化用戶體驗,為平臺活動的順利開展奠定技術基礎。

1高并發解決方案

鑒于公司業務特性和中國移動龐大的用戶規模,本文聚焦秒殺抽獎活動中的高并發、大流量挑戰,優化系統設計,構建高性能秒殺抽獎系統。關鍵技術點包括:

1)Redis緩存策略。Redis作為高性能鍵值存儲系統,其單節點讀寫速度分別可達110000次/秒和81000次/秒[],所有操作具備原子性,確保了數據一致性。

2)F5硬件負載。F5設備用于網絡流量轉發與監控,通過檢測后端狀態按策略(輪詢、最少連接、IP哈希)均衡分發請求,提升系統穩定性和響應速度。

3)Nginx軟負載。Nginx是一款高性能的HTTP和反向代理Web服務器,能經受住高負載的考驗,通過輪詢算法將客戶端請求轉發到不同的后端服務器上[2],實現流量的負載均衡,提高服務的并發能力。

4)Kafka分布式流處理。Kafka是一個基于Zookeeper的分布式消息系統,它具有高吞吐、低延遲、可靠性好、容錯能力強的良好特性[3]。在高流量場景下通過Kafka緩存請求,確保下游服務按需處理,維持系統穩定。

2 需求分析

秒殺抽獎系統主要包含兩部分功能需求,分別是用戶端的功能需求和運營管理端的功能需求。用戶端的主要功能包括獎品查看、獎品使用、獎品列表、活動規則、活動分享等,使用戶可以了解活動的規則和參與方式,界面設計要求簡單、實用,方便用戶進行抽獎和活動分享。運營管理端主要供后端普通用戶和管理員使用,普通用戶可以創建、修改抽獎活動,活動創建好后提交管理員審核。管理員主要負責活動的審核,審核通過后抽獎活動即可正常進行。

3 系統設計

活動總體架構是基于面向服務(Service-OrientedArchitecture,SOA)的架構設計[4],前后端分離部署,邏輯解耦,同時滿足B/S架構,跨平臺靈活展示,服務可擴展性強。系統技術架構如圖1所示。

前端通過瀏覽器進行業務展示和配置,通過HTTP請求后端服務接口數據,使用Vue框架進行頁面邏輯編排和UI渲染。后端采用Java語言編寫,基于業務需求進行模型歸類,分成不同的服務模塊,可同時提供給前端、模塊間及其他業務使用,模塊服務間依靠HTTP或RPC框架進行通信。

數據存儲和記錄采用三級模式,將數據分為熱數據、活躍數據和持久化數據[5],分別采用不同數據庫進行支撐。Redis高性能數據庫集群用于承載用戶熱數據,作為緩存數據庫使用,支撐用戶高并發、高頻寫入、高響應的使用場景,滿足用戶的體驗需求。Elasticsearch(ES)實時引擎數據庫,用來存儲用戶獎品記錄、參與記錄等活躍數據,滿足大數據量[、高寫入的場景。MySQL集群數據庫用來存儲核心配置數據、用戶獎品訂單等需要長期保存的數據,保證數據的準確、安全、可靠。

4功能設計

系統主要分為兩個部分:前端抽獎秒殺功能和后端管理功能。前端主要用于介紹抽獎活動、抽獎規則、秒殺抽獎、獎品使用等,幫助用戶了解具體的活動內容以及進行秒殺抽獎活動,前端功能如圖2所示。后端管理功能用于進行抽獎活動的配置、抽獎活動發布審核、中獎名單的查看等,配合前端功能形成一個完整的秒殺抽獎系統,后端功能如圖3所示。

抽獎秒殺系統用戶登 查看中獎獎品模塊 活動分享模塊 抽獎秒殺模塊 獎品使用模塊 引流功能模 評價管 系統管理錄 理

抽獎秒殺系統中獎明細查看模塊 抽獎活動列表模塊 抽獎活動創建模塊 獎品配置模塊 抽獎活動審核模塊 訪問統計模塊

4.1 前端秒殺抽獎功能設計

前端秒殺抽獎功能具體設計如下:

1)用戶登錄模塊。默認的登錄機制是通過采用中國移動的移動認證服務,該服務能在移動網絡環境中自動鑒別用戶身份[7,一鍵登錄方式提升了用戶體驗并增加了系統的安全性。

2)查看中獎獎品模塊。用戶可以查看秒殺活動中獎獎品,包括中獎活動、中獎時間、中獎的物品、獎品兌換使用日期、獎品是否已經使用或者兌換。如果用戶沒有中獎記錄,則提示用戶暫時沒有中獎信息;獎品快到期未兌換時,提示用戶及時進行兌換。

3)抽獎秒殺模塊。用于顯示秒殺抽獎活動信息,包括秒殺的開始時間、結束時間、秒殺抽獎倒計時、活動的狀態信息(待開始、秒殺中、已結束),同時提供活動倒計時刷新校準功能。在抽獎過程中增加用戶正在排隊的提示,中獎后提示用戶已秒殺成功,獎品正在發放,請稍后;對未中獎用戶推薦參與其他活動,增加頁面的引流用戶量。

4)獎品使用模塊。用來進行獎品的兌換和使用,同時可以查看歷史獎品使用記錄,包括中獎活動信息、中獎信息、獎品是否使用、兌換時間等。

5)活動分享模塊。當用戶觸發分享動作時,后端接收到分享請求,根據活動ID、用戶ID信息生成一個唯一的分享碼(使用UUID + 時間戳)。將分享碼拼接到基礎分享URL之后,形成完整的分享鏈接。通過分享的鏈接,接收方可以解析URL直接訪問或了解活動詳情。

6)引流功能模塊。通過引流模塊可以加掛自己平臺的相關鏈接,增加系統或品牌的知名度,提升平臺的訪問量。

4.2 后端功能設計

系統后端功能具體設計如下:

1)中獎明細查看模塊。管理員可以查看中獎用戶的明細信息[8],包括中獎的活動名稱、中獎時間、中獎用戶的信息、獎品信息、獎品的使用時間、獎品的有效期等基本信息,可以根據關鍵字進行搜索以及對中獎信息進行導出。

2)抽獎活動列表模塊。用于管理員查看系統的現在的秒殺抽獎活動,包括抽獎活動的狀態(進行中、已結束)、活動的運行情況等信息。

3)抽獎活動創建模塊。管理員可以創建抽獎活動,主要包括活動的基本信息、參與條件、結果展示三個功能。活動的基本信息包括活動名稱、活動的開始和結束時間、參與方式(報名參與、邀請參與等方式);參與條件用于規定參與抽獎秒殺活動的用戶的基本條件,例如用戶活動的積分、活躍度等條件。結果展示用來控制抽獎首頁是否實時展示中獎信息。

4)獎品配置模塊。管理員可以選擇一個活動對獎品信息進行配置,包括獎品種類、數量、價值以及中獎概率等,同時也可以對獎品信息進行修改操作。

5)抽獎活動審核模塊。普通管理員通過平臺創建抽獎活動,創建完成后提交給系統超級管理員進行審核,超級管理員可以對活動進行修改,活動審核通過后才能正常開展。

6)訪問統計模塊。用于進行活動的統計,主要包括頁面的訪問總量、獨立訪客數量、日訪問量、通過活動新注冊的用戶量。

4.3 關鍵技術

4.3.1 Edis集群模式

為保證Redis的性能和高可用,采用5主5從的

Redis集群模式。在集群模式中,主節點用于提供讀寫服務,從節點用于做冗余,有效防止單個節點異常造成系統不可用現象,同時數據分片到不同的節點上,提高數據的存儲量。

4.3.2 異步發獎模式

利用Redis單線程特性作為庫存管理器,通過Lua腳本保證多個命令的原子性,從而控制秒殺資格(即庫存)。資格秒殺成功后,修改Redis庫存,并將中獎用戶的手機號放入發獎消息隊列,由單獨的異步發獎服務進行發獎。發獎時可以控制并發線程,從而控制發獎速率,避免對發獎系統造成壓力。異步發獎架構如圖4所示。

4.3.3 三端分離設計

在大流量高并發的秒殺場景下,要盡可能分流流量,減輕服務器及網關的流量壓力。秒殺場景的流量主要分為核心邏輯接口流量、動態數據流量、靜態資源流量等,通過采用資源端、客戶端、服務端三端分離技術實現業務流量的平衡負載。

首先,將靜態資源上云,利用中國移動內容分發網絡(ContentDeliveryNetwork,CDN)技術將靜態資源放在云端的CDN節點上,減輕了核心業務網關和業務服務器的壓力,實現了第一層的靜態流量剝離。其次,在首屏加載時,將動態數據緩存在客戶端瀏覽器內,數據的生命周期為5分鐘。在生命周期內讀取客戶端本地緩存數據,數據過期后,下次頁面加載會請求最新的數據內容。服務器動態數據的更新頻率也是5分鐘,與客戶端數據生命周期保持一致,減少了數據接口的請求頻率,實現了第二層的動態數據流量剝離。最后,服務端承載著核心的業務邏輯,包括定時秒殺、抽獎等邏輯,此時到達網關和服務器的流量已經大大減少。

4.3.4腳本語言插入控制技術

使用Lua腳本實現數據一致性。Java自帶的組件需要先執行GET操作,再根據結果執行SET操作,這可能會出現條件競爭漏洞的情況,例如在執行GET后但執行SET之前,有其他客戶端修改了數據。Redis中的Lua腳本具有原子性[]:當一個Lua腳本執行時,整個腳本作為一個單一的操作執行,不會被其他命令中斷[0]。這樣可以使得腳本中的多個Redis操作被打包成一個原子操作,從而避免并發問題,確保操作的一致性。

使用Lua腳本提升操作效率。在秒殺場景中,由于并發量巨大,瞬間會有大量的請求涌入,網絡延遲也會影響用戶是否能夠搶到獎品。使用Java自帶組件操作Redis時,如果需要執行多個Redis操作,則需要多次調用,而使用Lua腳本可以將多個操作封裝到一個腳本中,減少操作次數,節省網絡延遲損耗。

使用Lua腳本解決復雜邏輯問題。在操作Redis時,可能會遇到一個事件動作需要多次操作Redis的邏輯。通過在Java代碼中嵌入Lua腳本,可以在Redis層面實現復雜的計數、過期、加鎖等操作,而無須將數據拉回Java進行處理后再寫入Redis,從而減少數據回傳給Java應用的必要性,能夠直接在緩存層完成一些較復雜的任務。

4.3.5業務流量控制算法

中國移動擁有上億用戶,使得抽獎秒殺活動流量存在較大的不確定性。對業務流量進行合理控制不僅可以保證系統的穩定運行,還可以優化用戶體驗,同時保證系統的安全性,防止惡意攻擊。系統中采用多輪概率算法和漏桶算法組合控制流量,保護下游系統安全。

多輪概率算法是一種基于隨機化思想的限流算法,通過多輪的概率性選擇來決定是否允許請求通過。引入隨機性使用戶請求更加公平,流量控制更加平滑。多輪概率算法如圖5所示。系統啟動時會設置一個初始概率 )。請求到達時,系統隨機生成一個0到1之間的數 如果該數 則該請求通過,進入秒殺業務流程;如果該數 ,則將該用戶進行標識后放入臨時集合 S ,該集合綁定一個二輪概率 ),并返回用戶再次請求的提示。當用戶再次請求時,檢查臨時集合S 中是否存在該用戶。如果存在,則再次生成一個0到1的隨機數 。如果該數 ,則請求通過,并從集合 S 中刪除該用戶標識;反之,則再次返回用戶再次請求的提示,以此循環。此算法可以根據當前的流量、系統負載情況,通過人為動態調整概率閾值P 的大小和輪次,以適應瞬時流量的變化,保護系統穩定。

圖5多輪概率算法

通過漏桶算法來平滑流量并限制數據傳輸速率,確保流量在較長時間內保持穩定。其實現原理是把請求流量比作水流,水流入桶中,桶有固定的容量 c 超過容量的請求將被丟棄。桶底有個小孔,請求以固定速率 r 從孔中流出,如果沒有請求流入,桶中的請求會逐步流出直至流空為止。在系統啟動時會提前預設秒殺庫存,此庫存可以認為是桶的容量,秒殺邏輯就是向桶中加水的過程,加到桶中的請求即為秒殺成功,桶滿后的請求均為庫存耗盡,秒殺失敗。系統會單獨啟動一個或多個線程從桶中取出對應的請求用戶進行異步發獎,線程數量和間隔時間可以人工設定,從而控制發獎速率。在秒殺業務場景中,發獎系統是下游系統,無法承受大流量高并發的沖擊。使用漏桶算法可以人工控制請求以恒定的速率流出,因此即使請求到達速率是突發的,系統的處理速率依然保持穩定。這種流量可控、平滑的特性,避免了系統因突發流量而超載。

4.4 系統高可用設計

4.4.1 活動入口高可用

活動入口是一個公網域名,通過這個公網域名映射到公司內部網絡的兩臺F5設備上,通過域名輪詢的方式將流量轉發到后端不同的F5設備上。通過這種方式可以保證入口的高可用性,同時可以防止系統流量過大導致入口壓力過大,影響系統可用性。此外,雙入口F5的設計還可以有效避免單臺F5故障導致的系統不可用,提高系統的穩定性。系統入口架構如圖6所示。

4. 4. 2 數據庫高可用

數據庫高可用結構如圖7所示。系統數據庫采用了MySQL雙主架構的設計,雙主之間進行數據的實時同步。為了避免數據庫出現循環復制現象,在兩臺主機上安裝了Keepalived,系統訪問數據庫通過Keepalived的虛擬IP地址(VirtualIPAddress,VIP)進行訪問,實現數據庫的單向寫入復制。

圖6系統入口架構
圖7數據庫高可用結構

在Keepalived配置文件中加入了vrrp_script模塊,用來執行數據庫腳本,檢測數據庫的狀態。一旦檢測到數據庫異常,觸發Keepalived切換,自動實現VIP的切換漂移,從而實現數據的高可用性。同時,數據庫采用分庫分表的方式,對請求量較大的表一一獎品配置表和中獎記錄表進行分庫分表,提升數據庫的訪問效率。

keepalive組件vrrp_script配置

vrrp_scriptcheck_mysql{ script \"/etc/keepaiived/scripts/check mysql.sh\" interval 5 fail 15 rise1 timeout 60 weight -10

mysql狀態檢測腳本

#!bin/bash

/usr/bin/curl-basic127.0.0.1:3637

4.4.3 應用雙中心部署

中國移動用戶量巨大,為了保障活動的高可用,系統在公司兩地機房同時部署,其中A機房作為主中心,B機房作為備中心使用。兩地機房數據庫數據通過公司數據同步平臺進行實時同步。當其中一個機房出現故障時,可以通過修改公網域名映射地址,快速將流量切換到另一個機房,并同步切換兩機房數據庫的數據同步方向,保證數據庫的高可用性。應用雙中心部署架構如圖8所示。

圖8雙中心部署架構

4.5 系統安全設計

4.5.1 防止外掛刷接口設計

活動之前,秒殺相關的核心接口均隨機生成URL反饋給前端錯誤的URL地址,在秒殺時刻動態給前端返回正確的接口URL。同時加上需要登錄操作,可以有效限制或減少外掛直接調接口秒殺對系統庫存造成的影響。

4.5.2 Nginx限流設計

在核心轉發Nginx上配置限流,當流量過載時返回引導安撫頁,提高用戶體驗和系統穩定性。總體限制次數,限制總量,快速失敗降級運行,熔斷隔離防止雪崩。

4.5.3 系統監控與日志審計

相關組件和服務統一接入公司監控平臺,全鏈路實時監控系統的運行狀態,并對運行異常的服務進行短信告警。系統的接口訪問日志和運行日志統一上傳到公司日志平臺中長期保存。

5 系統應用效果

該秒殺抽獎系統架構已在“中國移動APPXXX充值日抽獎秒殺推廣”中使用。根據監控數據來分析,活動當日最大支撐14萬/秒的并發,系統運行正常。Redis集群每秒查詢次數(QueriesPerSecond,QPS)峰值約61.2萬,其中單個節點最大15.5萬,期間獎品秒殺服務各節點負載正常,接口數據返回正常。Redis集群QPS和節點QPS如圖9、圖10所示。目前,該系統已陸續推廣至“中國移動XXX先鋒”“移動雙XXX”“新春XX節”“中國移動618”等活動中。在全網大型營銷活動中,整體為中國移動APP帶動拉新促活用戶共513萬戶/月。

6結論

本文探討了基于Redis集群的高并發APP秒殺抽獎系統的設計與實踐,提出了一種綜合性的解決方案。通過引入Redis緩存、軟硬負載均衡、Kafka分布式流處理、三端分離設計等技術,構建了高性能、高并發的秒殺抽獎系統架構。針對秒殺抽獎系統瞬時高并發的特點,采用多輪概率算法來控制高并發流量平滑進入后端服務。秒殺過程中通過使用Lua腳本實現原子操作,秒殺成功后通過漏桶算法動態控制發獎速度,降低系統壓力。在系統的安全性和高可用方面,采用雙中心主備模式部署、核心接口URL隨機生成、系統全鏈路實時監控和操作審計,提升了系統的高可用性。下一步將在該秒殺抽獎系統的基礎上,深入研究Redis熱點數據的自動化監控和請求動態均衡,進一步提升Redis的性能。

參考文獻:

[1]張積存,宋雪萍,費繼友,等.基于車輛信息的大數據分析系統設計與實現[J].計算機應用與軟件,2023,40(1):11-16+37.

[2]胡科,陳勇.基于Nginx+Keepalived實現高可用集群及負載均衡配置與分析[J].微型電腦應用,2022,38(5):200-202.

[3]趙潤發,婁淵勝,葉楓,等.基于Flink的工業大數據平臺研究與應用[J].計算機工程與設計,2022,43(3):886-894.

[4]王逸涵.基于SOA的政府數據開放平臺設計與建構[D].哈爾濱:黑龍江大學,2021.

[5]趙力帥,李耕宇,武振宇,等.基于分層異構數據庫系統的歷史數據歸檔技術[J].電信科學,2018,34(S1):174-178.

[6]丁煜.“藍莓云超市”融媒電商小程序平臺設計與實現[J].廣播電視信息,2021,28(8):33-35.

[7]廖卓,姚敏,余筱,等.基于Keepalived和Mycat的MySQL數據庫高可用性設計與實現[J].現代信息科技,2022,6(11):27-29+33.

[8]閆保正.基于微服務架構之電商秒殺系統的設計與實現[D].上海:華東師范大學,2021.

[9]李林飛.基于內存數據庫的持久化方案的設計與實現[D].成都:電子科技大學,2020.

[10]李詩云.基于內存數據庫Redis的眾包系統性能優化[D].杭州:浙江大學,2016.

作者簡介:賈業武(1985—),男,漢族,河南信陽人,高級工程師,本科,研究方向:運維管理體系建設、數字化標準化運維體系建設;通信作者:湯澤宇(1990一),男,漢族,河南孟州人,工程師,碩士研究生,研究方向:系統可用性架構設計;張國順(1992—),男,漢族,河南安陽人,工程師,碩士研究生,研究方向:智能化運維;王旭峰(1980一),男,漢族,河南嵩縣人,工程師,碩士研究生,研究方向:計算機軟件與理論;馬世毓(1988一),男,漢族,河南焦作人,工程師,本科,研究方向:計算機軟件開發;李政錫(1995一),男,漢族,河南焦作人,工程師,本科,研究方向:智能化運維。

猜你喜歡
數據庫用戶活動
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 91小视频在线观看| 国产精品v欧美| 波多野结衣在线一区二区| 国产女人在线观看| 亚洲人成在线免费观看| 国产在线日本| 久久综合一个色综合网| 国产91视频观看| 波多野结衣视频一区二区 | 国产精品无码作爱| 国产精品爆乳99久久| 国产尤物视频网址导航| 国产91无码福利在线| 亚洲AⅤ综合在线欧美一区| 这里只有精品在线| 成人伊人色一区二区三区| 萌白酱国产一区二区| 欧洲成人在线观看| 国产一级在线播放| 国产高潮流白浆视频| 国产流白浆视频| 中文毛片无遮挡播放免费| h网站在线播放| 麻豆精品视频在线原创| 国产高潮流白浆视频| 精品无码日韩国产不卡av| 国产又爽又黄无遮挡免费观看| 18禁色诱爆乳网站| 亚洲精品国产自在现线最新| 欧美日在线观看| 综1合AV在线播放| 日韩欧美91| 国产又粗又猛又爽| 中文精品久久久久国产网址| 国产欧美专区在线观看| 九九热在线视频| 国产无人区一区二区三区| 国产精品欧美日本韩免费一区二区三区不卡 | 日本精品影院| 国产一区二区丝袜高跟鞋| 啊嗯不日本网站| 伊人色综合久久天天| 欧美另类视频一区二区三区| 国模在线视频一区二区三区| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲第一成年人网站| 日韩美女福利视频| 精品国产aⅴ一区二区三区| 精品久久国产综合精麻豆| 沈阳少妇高潮在线| 亚洲婷婷六月| 成年看免费观看视频拍拍| 992tv国产人成在线观看| 久久免费观看视频| 亚洲综合色婷婷| 麻豆精品视频在线原创| 久久国产乱子| 国产中文在线亚洲精品官网| 无码精品福利一区二区三区| 中文字幕啪啪| 久久无码av三级| 五月激激激综合网色播免费| 国产精品第一区| 国产h视频免费观看| 九色视频在线免费观看| 午夜免费小视频| 亚洲精品午夜无码电影网| 小13箩利洗澡无码视频免费网站| 成人国产精品视频频| 日本精品影院| 亚洲欧美另类中文字幕| 久久国产香蕉| 精品国产成人a在线观看| 18禁不卡免费网站| 精品欧美一区二区三区久久久| 久久综合激情网| 国产一级裸网站| 国产主播在线一区| 国内精品一区二区在线观看| 男女男精品视频| 国产精品三区四区| 亚洲精品视频网|