99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

從零搭建直播高并發(fā)環(huán)境:后端小白的實(shí)戰(zhàn)筆記與架構(gòu)設(shè)計(jì)

從零搭建直播高并發(fā)環(huán)境:后端小白的實(shí)戰(zhàn)筆記與架構(gòu)設(shè)計(jì) 1. 從零搭建直播高并發(fā)環(huán)境一個(gè)后端小白的實(shí)戰(zhàn)筆記直播這玩意兒看別人做覺(jué)得挺簡(jiǎn)單——推個(gè)流、拉個(gè)流、彈幕聊聊天能有多難真到自己動(dòng)手搭一套能扛住高并發(fā)的環(huán)境才發(fā)現(xiàn)每一步都是坑。我是一名后端開(kāi)發(fā)之前主要寫(xiě)業(yè)務(wù)接口對(duì)直播領(lǐng)域幾乎零經(jīng)驗(yàn)。這個(gè)項(xiàng)目是我從零開(kāi)始一步步把一套直播高并發(fā)環(huán)境搭起來(lái)的完整記錄。里面涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、Redis 緩存設(shè)計(jì)、高并發(fā) IM、前后端分離等核心環(huán)節(jié)適合有一定后端基礎(chǔ)、想了解直播系統(tǒng)怎么扛并發(fā)的朋友參考。我不會(huì)講太多虛的主要說(shuō)清楚每個(gè)決策背后的邏輯、踩過(guò)的坑以及可以直接抄作業(yè)的配置和代碼。整個(gè)項(xiàng)目從最初的單機(jī) demo到后來(lái)能支撐萬(wàn)級(jí)并發(fā)在線(xiàn)中間經(jīng)歷了三次比較大的架構(gòu)調(diào)整。第一次是發(fā)現(xiàn)單節(jié)點(diǎn)扛不住彈幕寫(xiě)入第二次是消息延遲飆升第三次是緩存擊穿導(dǎo)致數(shù)據(jù)庫(kù)差點(diǎn)崩掉。每一次調(diào)整都讓我對(duì)“高并發(fā)”這三個(gè)字有了更具體的理解。下面我把整個(gè)過(guò)程拆開(kāi)來(lái)講盡量把每個(gè)環(huán)節(jié)的“為什么”說(shuō)透。2. 整體架構(gòu)設(shè)計(jì)與技術(shù)選型思路2.1 為什么最終選了這套組合一開(kāi)始我想得很簡(jiǎn)單Spring Boot 寫(xiě)幾個(gè)接口前端 Vue 調(diào)一下消息用 WebSocket 推數(shù)據(jù)庫(kù) MySQL 存著完事。結(jié)果本地測(cè)試沒(méi)問(wèn)題一上壓測(cè)工具500 并發(fā)就開(kāi)始各種超時(shí)。問(wèn)題出在哪直播場(chǎng)景和普通業(yè)務(wù)系統(tǒng)最大的區(qū)別在于寫(xiě)少讀多、消息密集、實(shí)時(shí)性要求高。一場(chǎng)直播可能有幾萬(wàn)人在線(xiàn)但真正發(fā)彈幕的可能只有幾百人大部分人是在看。這意味著讀請(qǐng)求遠(yuǎn)遠(yuǎn)大于寫(xiě)請(qǐng)求而且讀請(qǐng)求對(duì)延遲極其敏感?;谶@個(gè)特點(diǎn)我最終的技術(shù)選型是這樣的組件選型核心原因后端框架Spring Boot NettyNetty 處理 WebSocket 長(zhǎng)連接比 Tomcat 的 NIO 更可控消息隊(duì)列RocketMQ彈幕削峰填谷保證消息不丟緩存Redis Cluster扛住高頻讀彈幕列表、在線(xiàn)狀態(tài)都走緩存數(shù)據(jù)庫(kù)MySQL 分表只存核心數(shù)據(jù)彈幕歷史歸檔前端Vue3 WebSocket前后端分離實(shí)時(shí)消息用原生 WebSocket壓測(cè)JMeter模擬高并發(fā)場(chǎng)景驗(yàn)證承載能力這里重點(diǎn)說(shuō)下為什么用 Netty 而不是直接用 Spring WebSocket。Spring 的 WebSocket 底層也是 Netty但它封裝得太厚連接數(shù)一上去內(nèi)存和 GC 都不好控制。自己用 Netty 搭可以精細(xì)控制 ByteBuf 的分配和釋放對(duì)長(zhǎng)連接場(chǎng)景更友好。當(dāng)然代價(jià)是代碼復(fù)雜度上去了這個(gè)后面會(huì)講。2.2 架構(gòu)分層與數(shù)據(jù)流向整個(gè)系統(tǒng)的數(shù)據(jù)流向是這樣的用戶(hù)通過(guò)前端發(fā)起 WebSocket 連接Netty 網(wǎng)關(guān)接收后把消息投遞到 RocketMQ消費(fèi)端處理后再寫(xiě) Redis 和 MySQL同時(shí)通過(guò) Netty 推送給房間內(nèi)其他用戶(hù)。讀請(qǐng)求直接走 Redis不碰數(shù)據(jù)庫(kù)。這個(gè)設(shè)計(jì)的關(guān)鍵在于把寫(xiě)路徑和讀路徑徹底分開(kāi)。寫(xiě)路徑經(jīng)過(guò) MQ 異步化保證即使數(shù)據(jù)庫(kù)慢也不會(huì)阻塞消息推送讀路徑全部走緩存保證毫秒級(jí)響應(yīng)。聽(tīng)起來(lái)簡(jiǎn)單但實(shí)際落地時(shí)MQ 的消費(fèi)速度、Redis 的容量規(guī)劃、Netty 的連接管理每一個(gè)都是坑。提示不要一上來(lái)就搞微服務(wù)。我最初就是被“分布式架構(gòu)設(shè)計(jì)”這個(gè)詞帶偏了拆了五六個(gè)服務(wù)結(jié)果運(yùn)維成本極高問(wèn)題排查困難。后來(lái)合并成三個(gè)核心服務(wù)網(wǎng)關(guān)服務(wù)、消息服務(wù)、業(yè)務(wù)服務(wù)反而更穩(wěn)。2.3 容量預(yù)估與資源規(guī)劃做高并發(fā)系統(tǒng)拍腦袋定配置是大忌。我當(dāng)時(shí)的預(yù)估邏輯是這樣的假設(shè)峰值在線(xiàn) 5 萬(wàn)人其中 10% 的人會(huì)發(fā)彈幕也就是 5000 人同時(shí)發(fā)消息。每人平均 10 秒發(fā)一條那么 QPS 大約是 500。但直播場(chǎng)景有突發(fā)性比如主播抽獎(jiǎng)瞬間彈幕量可能翻 10 倍所以按 5000 QPS 來(lái)設(shè)計(jì)。Redis 這邊每個(gè)房間的彈幕列表保留最近 200 條每條彈幕按 200 字節(jié)算一個(gè)房間 40KB。1000 個(gè)房間就是 40MB完全放得下。在線(xiàn)狀態(tài)用 Hash 存儲(chǔ)每個(gè)用戶(hù) 50 字節(jié)5 萬(wàn)用戶(hù)也就 2.5MB。所以 Redis 的內(nèi)存壓力不大主要壓力在網(wǎng)絡(luò) IO 上。MySQL 這邊彈幕歷史按天分表每天一張表保留 30 天。單表數(shù)據(jù)量控制在 500 萬(wàn)以?xún)?nèi)查詢(xún)走索引問(wèn)題不大。3. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)3.1 Netty 網(wǎng)關(guān)的連接管理Netty 網(wǎng)關(guān)是整個(gè)系統(tǒng)的入口負(fù)責(zé)維護(hù)所有 WebSocket 連接。這里最大的坑是連接數(shù)上不去和內(nèi)存泄漏。我一開(kāi)始用默認(rèn)配置單機(jī)只能撐 3000 連接左右后來(lái)調(diào)整了以下幾個(gè)參數(shù)// Netty 服務(wù)端配置 EventLoopGroup bossGroup new NioEventLoopGroup(1); EventLoopGroup workerGroup new NioEventLoopGroup(16); // 根據(jù) CPU 核數(shù)調(diào)整 ServerBootstrap b new ServerBootstrap(); b.group(bossGroup, workerGroup) .channel(NioServerSocketChannel.class) .option(ChannelOption.SO_BACKLOG, 1024) .childOption(ChannelOption.SO_KEEPALIVE, true) .childOption(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.SO_RCVBUF, 32 * 1024) .childOption(ChannelOption.SO_SNDBUF, 32 * 1024) .childHandler(new ChannelInitializerSocketChannel() { Override protected void initChannel(SocketChannel ch) { ch.pipeline().addLast(new HttpServerCodec()); ch.pipeline().addLast(new HttpObjectAggregator(65536)); ch.pipeline().addLast(new WebSocketServerProtocolHandler(/ws)); ch.pipeline().addLast(new LiveWebSocketHandler()); } });SO_BACKLOG調(diào)到 1024 是為了應(yīng)對(duì)突發(fā)連接TCP_NODELAY關(guān)閉 Nagle 算法保證消息實(shí)時(shí)性。SO_RCVBUF和SO_SNDBUF調(diào)小是為了降低內(nèi)存占用因?yàn)橹辈ハ⒍己苄〔恍枰缶彌_區(qū)。連接管理方面我用了一個(gè)ConcurrentHashMap來(lái)保存userId - Channel的映射同時(shí)用另一個(gè) Map 保存roomId - SetuserId。這樣推送消息時(shí)先根據(jù) roomId 找到所有 userId再找到對(duì)應(yīng)的 Channel 推送。注意這里一定要用ConcurrentHashMap否則并發(fā)場(chǎng)景下會(huì)出問(wèn)題。注意Channel 的writeAndFlush是異步的如果客戶(hù)端網(wǎng)絡(luò)慢消息會(huì)堆積在 ChannelOutboundBuffer 里導(dǎo)致內(nèi)存暴漲。我的做法是加一個(gè)水位監(jiān)聽(tīng)超過(guò)閾值就斷開(kāi)連接或者丟棄消息。3.2 Redis 緩存設(shè)計(jì)與高并發(fā)讀寫(xiě)Redis 在這個(gè)系統(tǒng)里承擔(dān)了三個(gè)角色彈幕緩存、在線(xiàn)狀態(tài)、分布式鎖。彈幕緩存用 List 結(jié)構(gòu)每個(gè)房間一個(gè) key比如live:danmaku:room:1001用LPUSH寫(xiě)入LTRIM保留最近 200 條。讀的時(shí)候用LRANGE一次性取出來(lái)。在線(xiàn)狀態(tài)用 Hashkey 是live:online:room:1001field 是 userIdvalue 是時(shí)間戳。用戶(hù)進(jìn)入房間時(shí)HSET離開(kāi)時(shí)HDEL。統(tǒng)計(jì)在線(xiàn)人數(shù)用HLENO(1) 復(fù)雜度非???。分布式鎖用在“房間創(chuàng)建”和“用戶(hù)禁言”這兩個(gè)場(chǎng)景。用SET key value NX PX 3000實(shí)現(xiàn)value 用 UUID釋放鎖時(shí)用 Lua 腳本保證原子性。if redis.call(get, KEYS[1]) ARGV[1] then return redis.call(del, KEYS[1]) else return 0 end這里有個(gè)坑緩存擊穿。熱門(mén)房間的彈幕列表如果過(guò)期了大量請(qǐng)求同時(shí)打到數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)瞬間就掛了。我的解決方案是彈幕列表永不過(guò)期但設(shè)置一個(gè)邏輯過(guò)期時(shí)間后臺(tái)定時(shí)任務(wù)刷新。這樣既保證了數(shù)據(jù)新鮮度又避免了擊穿。另一個(gè)坑是大 key。一個(gè)房間的彈幕列表如果無(wú)限增長(zhǎng)會(huì)變成大 key操作時(shí)阻塞 Redis。所以一定要用LTRIM限制長(zhǎng)度200 條足夠了用戶(hù)也不會(huì)翻太久。3.3 RocketMQ 削峰填谷與消息可靠性彈幕消息不直接寫(xiě)庫(kù)而是先投遞到 RocketMQ消費(fèi)端再慢慢處理。這樣做的好處是即使數(shù)據(jù)庫(kù)壓力大消息也不會(huì)丟只是延遲增加。RocketMQ 的配置要點(diǎn)DefaultMQProducer producer new DefaultMQProducer(live_producer_group); producer.setNamesrvAddr(127.0.0.1:9876); producer.setRetryTimesWhenSendFailed(3); producer.setSendMsgTimeout(3000); producer.start(); Message msg new Message(live_topic, danmaku, JSON.toJSONBytes(danmaku)); SendResult result producer.send(msg);消費(fèi)端用MessageListenerConcurrently并發(fā)消費(fèi)線(xiàn)程數(shù)根據(jù) CPU 核數(shù)調(diào)整。注意消費(fèi)端一定要做冪等處理因?yàn)?RocketMQ 保證至少投遞一次可能重復(fù)。我的做法是用彈幕 ID 做去重Redis 里SETNX一個(gè) key過(guò)期時(shí)間 5 分鐘。提示RocketMQ 的 Topic 要提前創(chuàng)建并且設(shè)置合理的隊(duì)列數(shù)。隊(duì)列數(shù)決定了并發(fā)消費(fèi)的并行度我設(shè)的是 8 個(gè)隊(duì)列對(duì)應(yīng) 8 個(gè)消費(fèi)線(xiàn)程。3.4 前后端分離下的 WebSocket 通信前端用 Vue3WebSocket 連接封裝在useWebSocket這個(gè) composable 里。核心邏輯是連接建立后監(jiān)聽(tīng)onmessage收到消息后根據(jù)類(lèi)型分發(fā)到不同的處理函數(shù)。心跳包每 30 秒發(fā)一次服務(wù)端如果 60 秒沒(méi)收到心跳就斷開(kāi)連接。const ws new WebSocket(wss://live.example.com/ws?token token); ws.onopen () { setInterval(() { ws.send(JSON.stringify({ type: heartbeat })); }, 30000); }; ws.onmessage (event) { const data JSON.parse(event.data); if (data.type danmaku) { danmakuList.value.push(data.payload); } };跨域問(wèn)題在 WebSocket 里不存在因?yàn)?WebSocket 不受同源策略限制。但鑒權(quán)要做在連接建立時(shí)通過(guò) URL 參數(shù)傳 token服務(wù)端校驗(yàn)通過(guò)后才允許連接。不要等到連接建立后再發(fā)鑒權(quán)消息那樣會(huì)浪費(fèi)連接資源。4. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)4.1 環(huán)境準(zhǔn)備與基礎(chǔ)服務(wù)搭建我用的是一臺(tái) 8 核 16G 的云服務(wù)器操作系統(tǒng) Ubuntu 22.04?;A(chǔ)服務(wù)包括 MySQL 8.0、Redis 7.0、RocketMQ 5.0全部用 Docker 部署方便管理。# Redis 集群部署3 主 3 從 docker run -d --name redis-node-1 --net host redis:7.0 \ redis-server --port 7001 --cluster-enabled yes \ --cluster-config-file nodes.conf --cluster-node-timeout 5000 \ --appendonly yesMySQL 的配置重點(diǎn)是max_connections調(diào)到 2000innodb_buffer_pool_size調(diào)到 8Ginnodb_flush_log_at_trx_commit設(shè)為 2犧牲一點(diǎn)持久性換性能直播場(chǎng)景可以接受。RocketMQ 的 Broker 配置里brokerRole設(shè)為ASYNC_MASTERflushDiskType設(shè)為ASYNC_FLUSH這樣寫(xiě)入性能最好。當(dāng)然如果對(duì)消息可靠性要求極高可以改成同步刷盤(pán)但吞吐量會(huì)下降。4.2 核心代碼實(shí)現(xiàn)彈幕發(fā)送與推送彈幕發(fā)送的完整流程是這樣的前端通過(guò) WebSocket 發(fā)送彈幕內(nèi)容Netty 網(wǎng)關(guān)收到后先做參數(shù)校驗(yàn)和敏感詞過(guò)濾然后投遞到 RocketMQ同時(shí)返回一個(gè) ack 給前端。消費(fèi)端從 MQ 拉取消息寫(xiě)入 Redis 和 MySQL然后通過(guò) Netty 推送給房間內(nèi)所有用戶(hù)。// Netty 網(wǎng)關(guān)處理彈幕 protected void channelRead0(ChannelHandlerContext ctx, TextWebSocketFrame frame) { DanmakuRequest request JSON.parseObject(frame.text(), DanmakuRequest.class); // 參數(shù)校驗(yàn) if (StringUtils.isBlank(request.getContent()) || request.getContent().length() 100) { ctx.writeAndFlush(new TextWebSocketFrame(參數(shù)錯(cuò)誤)); return; } // 敏感詞過(guò)濾 if (sensitiveFilter.contains(request.getContent())) { ctx.writeAndFlush(new TextWebSocketFrame(內(nèi)容包含敏感詞)); return; } // 投遞到 MQ Message msg new Message(live_topic, danmaku, JSON.toJSONBytes(request)); producer.send(msg); // 返回 ack ctx.writeAndFlush(new TextWebSocketFrame(ok)); }消費(fèi)端的邏輯consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) - { for (MessageExt msg : msgs) { DanmakuRequest request JSON.parseObject(msg.getBody(), DanmakuRequest.class); // 冪等去重 String key danmaku:dedup: request.getId(); Boolean success redisTemplate.opsForValue().setIfAbsent(key, 1, 5, TimeUnit.MINUTES); if (Boolean.FALSE.equals(success)) { continue; } // 寫(xiě) Redis String redisKey live:danmaku:room: request.getRoomId(); redisTemplate.opsForList().leftPush(redisKey, JSON.toJSONString(request)); redisTemplate.opsForList().trim(redisKey, 0, 199); // 寫(xiě) MySQL異步 danmakuMapper.insert(request); // 推送給房間內(nèi)用戶(hù) pushService.pushToRoom(request.getRoomId(), request); } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; });推送服務(wù)里從roomUserMap拿到所有 userId再遍歷userChannelMap拿到 Channel調(diào)用writeAndFlush。注意這里要加異常處理如果 Channel 已經(jīng)關(guān)閉要從 Map 里移除否則會(huì)內(nèi)存泄漏。4.3 壓測(cè)方案與性能調(diào)優(yōu)壓測(cè)用 JMeter模擬 5000 個(gè)并發(fā)用戶(hù)每個(gè)用戶(hù)建立 WebSocket 連接每秒發(fā)送一條彈幕。壓測(cè)腳本里用WebSocket Sampler配置好連接地址和消息內(nèi)容。第一次壓測(cè)結(jié)果很慘5000 并發(fā)下消息延遲平均 2 秒P99 達(dá)到 8 秒。排查后發(fā)現(xiàn)三個(gè)問(wèn)題一是 Netty 的 worker 線(xiàn)程數(shù)不夠二是 RocketMQ 的隊(duì)列數(shù)太少三是 Redis 的LPUSH和LTRIM不是原子操作導(dǎo)致數(shù)據(jù)不一致。調(diào)優(yōu)措施worker 線(xiàn)程數(shù)從 8 調(diào)到 16RocketMQ 隊(duì)列數(shù)從 4 調(diào)到 8Redis 操作用 Lua 腳本合并成原子操作。再次壓測(cè)延遲降到 200msP99 降到 800ms基本達(dá)標(biāo)。-- 原子寫(xiě)入彈幕并裁剪 redis.call(lpush, KEYS[1], ARGV[1]) redis.call(ltrim, KEYS[1], 0, 199) return 1注意壓測(cè)時(shí)一定要監(jiān)控服務(wù)器資源。我用top和iostat看 CPU 和磁盤(pán) IO用redis-cli --latency看 Redis 延遲用 RocketMQ 的控制臺(tái)看消息堆積情況。任何一個(gè)指標(biāo)異常都要停下來(lái)分析。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 連接數(shù)上不去怎么辦這是最常見(jiàn)的問(wèn)題?,F(xiàn)象是壓測(cè)到一定并發(fā)后新連接建立失敗。排查思路先看ulimit -n默認(rèn)是 1024改成 65535。再看 Netty 的SO_BACKLOG默認(rèn)是 128改成 1024。最后看操作系統(tǒng)的somaxconnsysctl -w net.core.somaxconn1024。這三個(gè)地方都改了單機(jī)撐 1 萬(wàn)連接沒(méi)問(wèn)題。5.2 消息延遲突然飆升延遲飆升通常是 MQ 堆積或者 Redis 慢查詢(xún)導(dǎo)致的。先看 RocketMQ 的消費(fèi)進(jìn)度如果堆積量大說(shuō)明消費(fèi)端處理不過(guò)來(lái)要么加消費(fèi)線(xiàn)程要么優(yōu)化消費(fèi)邏輯。再看 Redis 的slowlog如果有LRANGE大 key 的操作說(shuō)明彈幕列表太長(zhǎng)了要檢查L(zhǎng)TRIM是否生效。5.3 緩存擊穿導(dǎo)致數(shù)據(jù)庫(kù)崩潰前面提過(guò)熱門(mén)房間的彈幕列表如果過(guò)期大量請(qǐng)求會(huì)打到數(shù)據(jù)庫(kù)。解決方案是邏輯過(guò)期 后臺(tái)刷新。具體做法是Redis 里的彈幕列表不設(shè)過(guò)期時(shí)間但每個(gè)房間額外存一個(gè)expire_time后臺(tái)任務(wù)定時(shí)檢查快過(guò)期時(shí)主動(dòng)刷新。這樣用戶(hù)永遠(yuǎn)讀不到空數(shù)據(jù)數(shù)據(jù)庫(kù)也不會(huì)被擊穿。5.4 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方法解決方案連接建立失敗文件描述符限制ulimit -n調(diào)到 65535消息延遲高M(jìn)Q 堆積控制臺(tái)看消費(fèi)進(jìn)度加消費(fèi)線(xiàn)程或優(yōu)化邏輯Redis 超時(shí)大 key 操作slowlog限制 key 長(zhǎng)度數(shù)據(jù)庫(kù) CPU 高緩存擊穿看 QPS 和緩存命中率邏輯過(guò)期 后臺(tái)刷新內(nèi)存泄漏Channel 未移除jmap看對(duì)象數(shù)量關(guān)閉時(shí)從 Map 移除5.5 獨(dú)家避坑技巧第一個(gè)技巧Netty 的Channel一定要在channelInactive回調(diào)里從 Map 移除否則連接斷開(kāi)后 Map 越來(lái)越大最后 OOM。我一開(kāi)始就是忘了這個(gè)跑了一天內(nèi)存就滿(mǎn)了。第二個(gè)技巧RocketMQ 的消息 ID 在重試時(shí)會(huì)變所以?xún)绲热ブ夭荒苡孟?ID要用業(yè)務(wù) ID。我在彈幕請(qǐng)求里生成了一個(gè) UUID 作為業(yè)務(wù) ID消費(fèi)端用這個(gè)去重。第三個(gè)技巧Redis 的LPUSH和LTRIM分開(kāi)執(zhí)行時(shí)如果中間服務(wù)掛了會(huì)導(dǎo)致列表無(wú)限增長(zhǎng)。用 Lua 腳本合并成原子操作要么都成功要么都失敗。第四個(gè)技巧壓測(cè)時(shí)不要只壓 WebSocket還要壓 HTTP 接口。因?yàn)橛脩?hù)進(jìn)入房間時(shí)會(huì)調(diào) HTTP 接口獲取歷史彈幕這個(gè)接口如果慢用戶(hù)會(huì)卡在加載頁(yè)面。6. 后續(xù)擴(kuò)展與個(gè)人體會(huì)這套環(huán)境目前能穩(wěn)定支撐 1 萬(wàn)并發(fā)在線(xiàn)峰值 5000 QPS 的彈幕寫(xiě)入。后續(xù)如果要擴(kuò)展到 10 萬(wàn)并發(fā)需要做幾件事一是 Netty 網(wǎng)關(guān)做集群用 Nginx 做四層負(fù)載均衡二是 Redis 做集群分片按房間 ID 哈希三是 RocketMQ 加 Broker 節(jié)點(diǎn)提升吞吐量。我個(gè)人在實(shí)際操作中的體會(huì)是高并發(fā)系統(tǒng)不是靠堆配置堆出來(lái)的而是靠對(duì)業(yè)務(wù)場(chǎng)景的深刻理解。直播場(chǎng)景的核心是“實(shí)時(shí)”和“不丟消息”所有的技術(shù)選型和架構(gòu)設(shè)計(jì)都要圍繞這兩個(gè)點(diǎn)。不要盲目追求新技術(shù)適合場(chǎng)景的才是最好的。比如我一開(kāi)始想用 Kafka后來(lái)發(fā)現(xiàn) RocketMQ 的延遲更低更適合直播場(chǎng)景。最后再分享一個(gè)小技巧做壓測(cè)時(shí)先用小并發(fā)跑通流程再逐步加大并發(fā)。每次只調(diào)一個(gè)參數(shù)觀察效果。這樣出了問(wèn)題容易定位不會(huì)一團(tuán)亂麻。我見(jiàn)過(guò)很多人一上來(lái)就壓 1 萬(wàn)并發(fā)結(jié)果系統(tǒng)崩了都不知道哪里崩的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久草婷婷| 五月天停停基地| 极品人妻VIDEOSSS人妻| 香蕉综合在线| 亚洲色99| 森林影视大全,最好看的2019年视频 | 婷婷婷婷婷开心无码播放| 草草操操| 黄色片精品| 在线观看免费观看在线9久| 天天摸天天透天天舔| 天天色情站| 婷婷五月天首页激情| 国产毛片精品一区二区色欲黄A片| 天天色综合图片| 六月丁香花婷婷| 色爱爱综合网| 婷婷色综合中心站| 青青久久五月| 五月停视频天堂| 亚洲国产精品VA在线看黑人| 操操啪| www天天爽| 日日操夜夜爽天天天| 成人视频在线免费播放| 91丨九色丨老农村| 亚洲无码www| 四川女人毛多水多A片| 97综合在线| 天天日夜夜拍| 色情五月综合婷婷| 五月丁香六月激情综合| 欧美va在线观看| 99色 色| 激情五月图| 免费97碰碰| 大香蕉福利导航| 色婷婷99| 四川BBB搡BBB爽爽视频| 桃色成人网| 天天爱天天操| 疯狂做受XXXX高潮A片| 婷婷伊人綜合中文字幕| 五月天播播| 激情五月丁香五月| 婷婷综合五月| 久久精品无码一区| 婷婷五月丁香性爱| 精品亚洲日韩99欧美片| 99热主页日本| 五月天婷婷激情网| 五月丁香WWW| 播五月婷婷开心| 九九色婷婷| 久久久五月五丁香| 99精品热视频只有精品10| 97人人干人人操| 五月丁香亭亭操逼| 综合激情网五月激情| 天天操天天爱天天日| 欧美婷婷丁香五月社区| 秋霞三级影视资源| 国产精品A片| 色久综合天天做视频| 操逼棍操逼| 天天摸人人摸| 大香蕉婷婷五月| 婷婷久月| 天天综合干| 天天操天天爽天天爱| 丁香五月宝贝激情网| 久久久er热| 精品视频99看在线视频| 精品皮股午夜AV| 五月婷婷六月婷| 色性日本| 五月婷婷人人人操| 亚洲乱码日产精品BD| 日日躁夜夜躁狠狠久久AV| 亚洲成AV人片在线观看| 综合久久影院| 五月天婷婷伊人| 色婷婷激情五月天在线观看| 日本99在线视频| 婷婷中文在线| 国内自拍1区| 日日噜噜久久婷婷五月天| 超碰9在| 97干欧美| 五月婷婷啪啪网| 婷婷丁香五月综合激情小说| 99久久99九九99九九九| 久操乱| 欧美三级视频下载| 色色色视频免费无码 | 亚洲六月色婷婷| 狠狠香蕉| 婷婷丁香综合在线| 888精品福利地址| 色噜综| 欧美成人精品A片免费一区99| 日韩欧洲亚洲| 婷婷五月丁香成人网| 99啪啪网| 五月停停丁香| 九九热最新| 五六月婷婷久久| 九月激情综合| 伊人五月成人| 成人精品视频99在线观看免费| 热99.com婷婷| 丁香五月色播中文在线播放| 天堂久久婷婷| 五月天大香蕉婷| 91九色国产| 五月丁香六月欧美| 日本乱子人伦在线视频| 久9久9热久热| 五月天桃色深爱网| 影音先锋91网站在线观看| 婷婷玖玖丁香| 色区域网站视频| 欧美久久婷婷| 91丁香| 丁香婷婷六月天| 狠狠狠狠狠干| 美女爆乳18禁www久久久久久| 婷婷五月色播网| 99热久久这里只有精品2010| 9热网站| 91色涩| 99re思思精品在线观看| 久99视频| 久热这里只有精品3| 日韩三级高清无码| 五月天色色色网| 99热免费网站| 可以看的AV| 色五月自偷自拍婷婷婷婷| 色婷婷视频| 天堂中文国产| 青996青| 激情色情五月天| 日本99久久| 久久婷丁香五月| 四色五月婷婷在线观看| 97碰碰九九视频| 99热免费精品热久久66| 亚洲激情另类| 色婷婷五月开心六月综合| 激情五月天影院| 亚洲综合网在线| 五月天丁香啪啪综合| 色综合大香蕉| 另类视频一区| 成人精品在线| 丁香五月天AV在线| 五月天综合网| 免费精品66| www九九热| 7777精品伊人久久久大香线蕉最新版| 99精品热| 26uuu丁香婷婷五月| 婷婷 色 丁香 夜| 99超级超级超级碰| 五月婷婷综合丁香视频| www.com亚洲网站在线免费| 五月婷婷六月丁香在线视频| 五月婷婷,六月婷婷| 色婷婷视频综合| 丁香伍月婷电影全集| 天天人人天天爽| 久操大香蕉| 在线观看996精品| 亚洲综合五月| 97热视频| 狠狠干,狠狠操| 夜夜骑操AV| 日韩无码专区| 开心激情久久久久久久| 久久久色情| 丁香五月婷婷色偷偷| 五月久久丁香| 色香久久| 狠狠色丁香| 91精品久久久久久综合五月天| 99久久精品色老| 五月婷婷熟女| 99色啊| 欧美成人AAA片一区国产精品| 色婷婷视频| 欧洲色区| 丁香六月婷婷色XXXXX| 九九干视频| 人人妻人人澡| 99高级会所久久| 国产看真人毛片爱做A片| 伊人婷婷激情| 91在线视频综合| 日韩啪啪视频| a v色婷婷| 丁香五月熟女| 色色丁香| 狠狠色婷婷六月激情网| 日本丁香久在线| 久久性刺激| 综合网色| 五月婷婷玖玖综合玖玖爱| 五月婷婷综合在线视频小说| 色区久久| 免费日本aⅴ中文字幕| 欧美婷婷成人| 亚洲欧洲色色| 黄色91在线观看| 狠狠五月激情丁香六月| 五月色婷婷AV| 五月激情婷婷综合| 日本www免费九九| 五月婷婷六月丁香在线| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 狠狠色丁香综合| 国产乱妇乱子在线播视频播放网站| 99热精品6| 欧美啪啪五月天| 99爱视频在线| 99这里| 色婷婷影院| 97日本在线播放| 五月婷婷六月天| 日韩好吊操| 色综合久网| 99自拍视频| 插插五月天| 色婷婷丁香综合中文字幕| 欧美经典片免费观看大全| 五月天涩涩| 99久久国产宗和精品1上映| 丁香婷婷老司机久操| 情色婷婷五月天| 亚洲激情五月婷婷日日| 变态另类9| 成人免费黄色短视频| 久草大| 天天做天天爱天天爽夜夜揉| 色吊丝永久访问网址| 99性爱| 久久久久久久人妻| 综合五月激情网| 四色永久成人网站| 久9精品| 少妇性按摩无码中文A片| 天天操夜夜操| 婷婷伊人网| 婷婷伊在线| 冬月かえでAV无码播放| 夜色五月天| 日日色综合| 播五月开心婷婷欧美综合| 色欲丁香久久| 久久久久久草黄色片AV在线观看| 九色PORNY自拍成人精彩视频| 影音先锋男人av资源站| 超碰日韩人妻在线| 伊人激情AV一区二区三区| 99re热在线观看| 天天草天天日| 激情综合网亚洲色图| 性一交一乱一交A片久久四色| 9久9久9久女女女九九九一九| www久久久| 五月婷婷综合激情网| 激情VA视频| 欧美色色色| 26uuu视频欧美| 丁香五月天狠狠操| 99日逼视频| 毛片九九九九九九| 久99精品视频| 国精产品一区二区三区| 99久久久久久久| 婷婷丁香六月天激情四射网| 男女av免费看| 人人97操| 99热九九在线| 亚洲午夜电影| 丁香五月欧美激情| 久久曰曰| 丁香五月激情宗合| www.99热国产| 五月天色五月天| 热久久99视频| 五月丁香伊人网| 深爱开心激情网| 99区视频| 日日肏夜夜干| 婷婷色五月在线视频| 婷婷五月天激情丁香| 久热中文字幕在线线观看| 色的色综合| 婷婷五月天 偷拍| 丁香五月AV综合| 天堂婷婷五月在线| 五月丁香欧美综合免费视频| 国模淫穴色图| 婷婷成人五月天成人文学| 天天精品视频免费观看| 色五月五月婷婷| 久久东京热婷婷五月| 婷婷月综合| 久久久久激情| 婷婷久久综合| 色婷婷av综合网| ZpRSw| Caoporn公开| 久久狠婷婷| 99久久www| 激情五月综合网| 婷婷激情五月天网站| 成人色色综合| 婷婷色色欧美| www九九| 99热综合网| 麻豆AV一区二区三区| 性按摩玩人妻HD中文字幕| 久久久宗合视频88| www.久久综合| 婷五月天在线草| 婷婷基地五月色| 九九九九这里只有精品| 色99在线| 久9久视频精品| 哇嘎成人久久| 亚洲激情淫网| 小视频久久久aaa| 五月色婷婷影院| 99热99在线| 不卡在线超碰| 9191avse| 天天色激情| 99欧美| 怡春院久操| AV中文在线| 狠狠色狠狠色综合日日91| 久久婷婷五月天蜜桃| 久热中文字幕| 婷婷综合丁香| 五月激情视频| 五月丁香天堂网| 九九热九九| 被强行糟蹋的女人A片| 91伦| 妻久久久久| 色情五月综合婷婷| 久久精品国产精品| 色九月婷婷综合| 五月天成人伊人| 五月婷婷av| 日本三级韩三级99久久| www热久久yy9| 六月狠狠综合| 久久xx| 99re视频在线| 激情丁香五月激情婷婷| 婷婷激情四射| 成人在线日韩欧美| 思思热国产| 5月丁香啪啪啪| 九月色婷婷综合亚洲| 国产免费AV网站| 久久精品亚洲热| 热久精品| 激情五月综合网最新| 人人操人人爱丁香五月| 婷婷五月在线视频| 婷婷色中文字幕| 色女伊人| 影音先锋日本三级资源| 色噜噜伊人| 98永久精品| 久久大国产香蕉| 九九碰九九爱97| 丁香五月电影| 日本三级第一页| 五月婷婷激情综合在线| 91婷婷丁香| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 超碰啪啪网| 99'无码| 丁香五月情| 激情精品久久| 99热这里只有精品 搜| 久久婷婷六月综合| 伊人激情啪啪| 91精品无码| 美女xx不卡| 三级大香蕉网| 成人无码免费一区二区中文| 色五月婷婷、老熟女| 99亚洲精品视频| 久久性刺激| 五月婷综合| 久久涩视频| 南京搡BBBB搡BBBB| 欧美叉叉叉BBB网站| av婷婷丁香 六月| 亚洲人妻AV| 久久婷婷五月综合激情国产| 亭亭色网| 色停停香蕉视频| 亚州操操| 丁香五月天网站| 六月婷婷综合激情| 午夜亚洲国产精品av一区二区| 99在线热视频| 九九热自拍| 久久hd| 2016日日夜夜操| 99久视频| 五月天开心色情网| 丁香色五月天| 婷婷五月天无码视频| 五月天成人综合| www超碰| 亚洲九区| caopeng超碰| 婷婷大香蕉| 成年AAAA色情| 久cao香蕉影院| 婷婷色色播五月天| 99热人人操人人操| 狠狠爱婷婷| 久久99久久99精品免观看粉嫩| 中文字幕精品在线观看| 五月丁香六月婷婷综合在线| 嫩草AV久久伊人妇女超级A| 97涩涩丁香五月天| 狠狠狠狠草草| 影音先锋一区二区三区| 丁香五月 综合| 免费观看全黄做爰的视频| 99精品7| 色婷婷播放| 色色射| 婷婷五月综合网| 五月丁香色色网| 日本va网站| 五月天丁香色色| 激情六月综合| 久久精彩综合视频| 伊人99久久| 五月天综合色| 深爱女色婷婷丁香五月亚洲图区| 影音先锋五月婷婷| 日韩高清成人| 伊人超碰| 亚洲 视频 导航 一区| 婷婷五月天激情文学| 人色五月天婷婷| 久久婷婷的综合色丁香五月| 日日夜夜狠狠| 亚洲视色| 伍月婷丁香婷| 一区二区传媒视频| 五月婷在线| 婷婷爱五月天人人爱| 99日精品视频| 亚洲精品无人区| 色五月天成人| 深爱激情九九五月天 | 五月婷婷丁香五月| 99热这里只有精品中文字幕| 狠狠88综合久久久久噜噜噜| 欧美伊人9| 婷婷欧美| 欧美精品18| 九九激情网| 操比激情五月| 久久婷婷五月综合| 色欲五月婷婷| 天天色综合图片| 久久99网站| 五月天激情亚洲| 婷婷五月六月| 综合色色婷婷| 五月天伊人手机在线播放AV| 开心婷婷中文字慕| 亚洲一级AV在线免费播放| 97色干| 色五月婷婷网| 久久精品66| 五月婷在线| 色婷婷影视99| 嫩草极品| 色婷网| 九九99热久久精品66中文字幕| 色婷婷婷综合五月天| 丁香五月天.com| 五月婷婷很很色| 激情综合网五月婷婷| 激情五月天激情五月天| 三级大香蕉网| 五月婷婷就去色| 亚洲综合草草| 97超级操操| 丁香五月大香蕉在线99| CHINESE熟女老女人HD视频| 综合性爱网| 丁香五月婷婷欧美成人色图| 在线综合婷婷| 电影爱拉战争免费观看| 婷婷伊人綜合中文字幕| 九色自拍| 色欲五月婷婷| 大香蕉人在线65| 丁香五月亚洲综合| 亚洲激情四射色| 国内外色色色色色成人视频| www.婷婷五月| 丁香六月婷婷综合| www.久久久久| 免费婷婷| 亚洲无码播放| 国产91视频| 99性爱| 夜夜干夜夜操| 天天草天天摸| 色五月婷婷小说亚洲中文字幕组 | 人人操AV| 激情四射五月天| 婷婷五月天成人| 五月婷婷与六月丁香图片激情| 婷婷综合激情| 色五月成人| 五月丁香婷婷欧美| 色五月五月天色婷婷色五月| 精品久久99码| 激情九九六月激情免费视频| 99精品无码| 99热这里是精品| 思思久久99| 婷婷五月六| 激情五月天婷婷丁香 | 91色性感五月婷婷丁香| 国产成人AV不卡| 日本黄 色 片| 永久天堂日本| 探花搜索结果 - 黄上黄| 99婷婷五月天激情| 色婷婷五月在线| 一逼色综合| 无码色色色色色| 丁香 婷婷 激情 综合 五月| 婷婷五月天影视网址| 五月婷婷丁香伦理网| 日日射天天射| 五月天激情无码| 五月天成人在线视频网站| 色五月婷婷在线| 99在线视频播放| 狠狠色婷婷7777久| 国产真人做爰视频免费| 亚洲成人日韩无码精品| 五月婷婷九九热| 91人人网| 欧美日韩大黄| 丁香月六月| 丁香五月色五月| 五月婷婷色五月| 欧亚成人A片一区二区| 九九久久9 9在线观看| 丁香五月婷婷高清| 香蕉综合在线| 色五月丁香婷婷综合| 婷婷色爱| 九九色逼| 五月丁香六月片| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月激情久久综合| 99色视频在线| 可以免费观看的AV| 极品嫩草| 久久综合婷婷| 五月草影视| 久久婷婷五月综合激情国产| 免费看欧美成人A片无码| 丁香九月激情在线视频| 殴美激情综合网| 欧美天天干五月丁香| www色婷婷com| 中文av网| 成人VAV视频在线观看| 九色视频91| 久久久精久人妻| 久久精品系列| 婷婷D区| 久久九九中文字幕| 五月婷婷五月天天| 久婷婷婷| 91午夜婷婷狠狠久久综合9色| 日韩欧美一道四区中文字幕| 久久婷婷五月综合激情国产| 操操自拍| 婷婷在线中文字幕| 婷婷伊人綜合中文字幕| 99久久激情视频| 99久视频| 久久五月天网| 开心色播色五月婷婷| 97视频91| 丁香影院五月综合| 丁香五月综合久久八| 草综合14| 狠狠色噜噜狠| 婷婷五月天播| 91婷婷色五月| 激情五月天婷婷丁香| 中文字幕+乱码+中文字幕在线观看| 深爱激情综合网| 六月丁香啪啪| 亚洲精品影视| 久久国产色| 风流少妇A片一区二区蜜桃| 伊久久婷婷| 五月婷婷色激情| 五月婷婷激情综合| 亚洲综合激情五月久久| 五月天成人在线视频网站| 日本操天堂| 99婷婷五月天| 青青草tp| 色九九九九| 久久这里有精品视频在线免费观看| 亚洲综合五月天| 五月丁香综合激情网| www.99情趣网| 婷婷九九色| 啪啪五月天啪啪| 色色com| 日韩AV片| 久久伦乱| 日韩99视频| 人妻久久久久久久| 激情五月狠狠喔| 日日懆天天懆| 在线看片h站| 狠狠 婷婷| 天天操天天干天天日| 激情综合网五月丁香| 婷婷五月天伊人| Av在线资源| www.激情五月天| 九九操屄| 丁香五月,激情五月,深爱五月| 天天射影院| 人人操Av| 荫道BBWBBB高潮潮喷| 99re在线观看视频| 国产精品激情AV久久久青桔| 初夜av| 久久一级AV| 欧美性爱特黄一级aaaassss| 成人精品视频99在线观看免费 | 色播五月丁香婷婷| 一本大道熟女人妻中文字幕在线| 丁香婷婷人妻综合网| 噼里啪啦在线观看免费完整版视频 | 色色A| 婷婷五月天最新综合你懂的 | 婷婷五月精品中文| 99热思思| 五月婷婷天堂| 99国产在线| 丁香五月婷婷啪| 裸睡玩奶头(高H)| 丁香婷婷激情五月| 天天干人人奸97| 日日噜狠狠色| 9精品视频在线| 亚洲精品影视| 日韩欧美一区二区三区四区| 国产成人精品亚洲线观看| 色综合久久伊伊婷婷五月| 最近中文字幕2019视频1| 日日夜夜爽爽| 婷婷色色欧美| 色综合激情| 婷婷5月天激情综合| 亚洲国产精品VA在线看黑人| 九九热精品6| 一起肏在线视频| 五月丁香六月婷| 欧美色色色色色色色色色色影视| 天天日色情| 五月天激情图片| 综合婷婷久久| 狠狠精品干练久久久无码中文字幕| 99re这里只有精品在线观看| 碰碰人人漕| 激情五月天电影| 99re思思热这里| 激情婷婷视频在线| 婷婷五月天堂| 久热这里只有精品在线| 婷婷综合色图| 青青久在线视频免费观看| 色五月丁香网| 99热福利| 久久久久视剧HD| 自拍偷窥99热| 丁香激情婷婷网| 五月天婷婷免费| 亚洲乱码日产精品BD在线观看| 人人摸人人干人人做| 99热最新精品| 极品精品一区二区三区在线| www.henhenl| 五月丁六月香av| 欧美乱码国产一级A片| 国产亚洲色婷婷久久99精品91| 99久久精品视频女神1| 大香蕉啪啪| 69热91天堂| 九九亚洲视频| 五月婷婷开心亚州在线| 丁香婷婷大香蕉| 日本色色视频| 五月香婷婷| 26uuu在线观看| 久久九九免费大视频| 五月丁香久久色| 777精品久无码人妻蜜桃| 丁香六月婷| 激情五月婷婷伊人| 成人av中文字幕| 色五月噜噜| 六月激情婷婷| 一起草无码| 亚洲精品性色| 狠狠色五月激情| 亚洲啪啪网| 97日本在线播放| 久久538| 久久久无码精品成人A片小说| 26uuu激情五月天| 99自拍视频在线| 狠狠久久婷婷| 婷婷六月丁香五月图区| 色婷五月| 色欲丁香| 国产精品国产| 99精品福利视频| 六月色五月天天婷婷| 少妇激情基地| 九九热99熟女| 成人片在线免费看| 亚洲成人网址在线观看| 国产精品扒开腿做爽爽爽A片唱戏| 九九九九国产| 激情五月综合亚洲另类| 日本颜色视频人人爱| 91超碰在线观看| www,8050,午夜三级| 亚洲精品久久久久久久久久飞鱼| 久久HD| 美国十月色婷婷在线观看| 97五月天婷婷| 丁香婷婷久久老熟女综合网| 五月天无码视屏播放| 五月婷婷六月丁香免费| w婷婷五月婷婷w| 五月激情射| 色很久综合| 免费观看日韩成人av| 操B无码视频国语| 99精品国产在热久久| 亚洲操逼网| 99热在线观看免费精品| 亚洲另类在线观看| 成人在线日韩| 在线观看中文字幕| 久久伊人五月天| 思思精品视频| 色婷婷丁香五月| 丁香激情五月天| www激情| 色优久久| 图片区 小说区 区 亚洲五月| 狠狠五月天| 无码色| 麻豆AV一区二区三区| 99国产精品白浆在线观看免费| 午夜69成人做爰视频| 少妇熟女视频一区二区三区| 国外亚洲成AV人片在线观看| 91蝌蚪窝视频在线| 亚洲mm免费| 一区操| 9久久久| 99噜噜| 久久久中文| 人人色人人摸人人看| 精品人妻伦| 激情久久五月网| 66精品成人免费网站在线观看| www.五月天社区| 日韩啊啊啊| 99色中文| 激情小说婷婷| 丰满少妇乱A片无码| 久操乱| 碰碰碰91| 日韩亚洲视频| 五月婷婷久久开心网| 欧美综合五月丁香五月天| 丁香六月无码播放| 五月激情网站| 久久xxxx| 97人碰人操| 婷婷中文网站| 久久综合99| 天天日日天天| 终合激情网| 婷婷丁香五月麻豆| 做爰丰满少妇1313| 影院久久久| 五月婷婷激情| 婷婷五月天深爱| 99热这里只有精品3| 久久作爱| 五月天激情色色| 99碰视频| 丁香五月婷婷少妇| 99九九精品| 丁香婷婷五月综合色情| 日本熟妇乱妇熟色A片蜜桃| 免费观看日韩成人av| 久月婷婷| 开心五月婷婷99| 99热亚洲| 亚洲亚洲人成综合网络| g00d人体西西| 广东99色在线| 欧美五月婷婷| 丁香五月色| jiuse91在线| 天天玩夜夜操天天爽| 婷婷五亚洲| 九九碰九九爱97| 色天使色综合| 日韩中文欧美| 五月成人天| www五月| 99ri视频在线观看| 婷婷五月丁香五月丁香| 色婷婷五月天视频网站| 亚洲丁香花色| 99精品97| 天天爽综合| 九月婷婷综合| 色婷婷香蕉丁丁网| 99高级会所久久| 五月久久婷婷天堂视频| 99干日日干| 久久久久9| 丁香六月婷婷综合欧美| www.狠狠| 丁香婷婷五月六月久久| 人人操人人爱丁香五月| 五月激情小说| 欧美久久网| 激情五月天免费视频| 99久久极情精品一区| 99碰碰中文| www,婷婷五月天777me,com| 色婷五月| 超碰人人99| 欧美激情-区二区三区| 天天综合精品| 日韩在线视频网站| 丁香色五月天| 亚洲操女| 丁香六月激情综合网| 五月丁香激情综合网| 丁香熟女乱| 亚洲激情综合五月婷婷啪啪| 色五月婷婷在线| 九色婷婷| 日本一毛片| 97人人操com| 婷婷综合六| 色婷婷成人做爰A片免费看网站| 超碰在线观看99| 婷婷五月天AV在线| 久久久久久久久久婷婷| 婷婷五月天另类网站| 熟女人妻一区二区三区免费看| 亚洲精品99| 色狠狠999综合| 色综合色婷色基地| 99热精品在线播放| 影音先锋一区二区资源站 | 日本色爽| 99热99思午夜精品| 婷婷精品综合| 9l视频自拍九色9l黑人| 99精品在线下载| 青草青草视频2免费观看| 丁香婷婷综合精品六月初| 大香蕉手机视频| 天天射美女| 99re在线视频| 六月婷婷综合激情| 国产成人综合在线| 久久99精品久久久久子伦| 婷婷五月天福利| 一起草av在线观看| 激情五月天网站| 欧美激情中文字幕| 五月婷婷色播| 91视频一起草| 久久视频婷婷视频| 五月色网| 六月婷婷中文字幕| 五月花综合网| 99热| 丁香婷婷啪啪啪| 色五月 婷婷, 大香蕉| 日韩小视频在线99| 一起操最新网址| 丁香五月天AV| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 丁香五月瑟瑟| 美女五月天| 99热线观看9| 超碰成人电影| 婷婷 久综合| 少妇大叫太大太粗太爽了A片| 五月丁香网中文字幕| 色婷婷色综合久久精品V| 六月婷婷久久大全| 操日本三片99| 五月丁香久久综合| 五月丁香美女| 国产精品91抖高| 五月丁香六月综合激情无码软件亮点 | 色色色色色色色色色色色色色色,网站| 男人的天堂99| 色情五月天丁香社区| 9久热| 国产成人精品一区二区三区视频| www激情网| 婷婷五月六月丁香| 久久婷婷色| 激情伍月 欧美| WWW色色色COM| 99在线免费视频| 激情五月黄色小说| 久热久69| 97人妻碰碰碰久久香蕉| 久久久久婷婷五月热综合| 成人.在线日韩| 26UUU精品一区二区| 色五月色五天色情网| 农村熟妇高潮精品A片| 无码 色| 色久女| 最新高清无码专区| 欧美va在线观看| 丁香五月婷婷深五月| 五月丁香六月片| 97超碰在线免费观看| 色五月激情问网站| 亚洲欧洲小视频9| 日日爽日日| 欧美久久婷婷| 亚洲AV成人片无码网站| 久久色六月| 六月丁香色色| www好屌操| 9精品视频在线观看| 成人做爰高潮A片免费视频| 九九热99热| 综合激情啪啪| 男人視頻站| 国产精品一区在线观看你懂的| www.国产色| 色激情综合狠狠婷婷| 99资源人人| 涩五月婷婷| 激情综合一| 337p午夜影院| 亚洲综合视频网| 婷婷激情五月呦呦| 色五月婷婷中文字幕| 99日这里只有精品| 99亚色色色| 日韩色色一区| 日本4399天堂中出| 九九色逼| 六月激情婷婷| 99精品视频在线| 91vip在线观看| 7777久久亚洲中文字幕| 精品久热| 黄色成人网站在线播放| 天天免费日日夜夜夜夜| 色五月丁香五月激情五月激情| 五月五月婷婷| 91 欧美| 欧美25p| 色5月丁香婷婷| 色播丁香婷婷五月激情| 日韩 欧美 国产 一区 二区| 日本操片| .肏屄视频一区二区| 激情网五月天| 激情五月天色色| 另类小说色婷婷| 婷婷五月骚厕所| 妻久久久久| www久| 九艹在线| 色婷婷另类| 丁香综合| 欧美性生交XXXXX无码小说| 超碰在线人妻| 9l视频自拍九色9l视频在线观看| 另类激情网| 五月综合777| 色五月开心婷婷| 综合色五月| 激情综合色婷婷啪啪六月天| 玖玖@三月天天丁香婷婷| 中文字幕精品无码一区二区| 99视频| 99精品久久| 久久99久久99精品免观看粉嫩| 天天激情| 天天搞天天色综合| 天天夜天天色天天| 99久久成人| 婷婷丁香六月激情综合| ri电影在线| 淫荡家庭AV| 九九热这里只有精品7| 成人在线不卡| Av九九| 另类综合激情| 五月丁香成人| 婷婷午夜精品久久久| 久久婷婷丁香| 天天操婷婷| 91九色中文字幕女在线观看| 啪啪六月婷婷| 色女人久久| 丁香九月综合激情| 丁香伊人网| 99久久网站| 日本一级黄色电影| 欧美噜噜噜草| 日本a片网址| 蜘蛛女免费观看完整版高清电影| 天天综合久久| 婷婷亚洲激情在线观看视频| 亚洲色婷婷网站| 激情丰满熟妇五月| 俺也去综合| 五月精品免费XXX| av中文网站| 人人草开心五月天| 激情无码网| 超碰亚洲天堂| 五月激情小说| 欧美日韩精品人妻狠狠躁免费视频| 中文字幕免费高清电视剧| 狠狠爱深色婷婷综合| 婷婷在线五月综合| 五月情涩综合婷婷| 夜夜爱伊人| jiujiu热在线视频| 99热这里只有精品10| 丁香五月天无码| 情趣视频66| 综合99综合久久久久久久| 九九黄色网| 拍真实国产伦偷精品| 五月丁香婷婷钟和色图| www99xxxx五月丁| 日韩欧美成人片| 噜噜狠狠| 开心五月婷婷激情网| 五月天综合激情网| 一级精品999WWW| 99热99色| 亚洲精品**不卡在线播he| 色综合香蕉| 99无码视频| sewuyuejiqingwang| 婷婷操婷婷干婷婷射| 99热9999| 亚洲欧洲中文日韩久久AV乱码 | 另类综合激情| 五月六月激情| 午夜成人综合| 天天爽天天操| 99ri视频在线观看| 另类A片| 夜夜天天天天天干天天爽| 深爱开心激情| 丁香午夜天| 超91热| 婷婷午夜激情| 婷婷一本和五月丁香| 五月天激情小说欧美激情| 色五月综合网| 激情五月四色| 欧美六月| 操啊操av| 99爱爱| 九九九激情网| AV在线免费播放| 色综合久久88色综合中文字幕| 丁香在线视频| 男女啪啪做爰高潮无遮挡| 大香婷婷| 九九热再线九九视频免费在线观看 | 丁香五月另类色婷婷麻豆| 内射在线CHINESE| 色九月欧美| 激情五月丁香激情综合网 | 九九热内射| 色色激情五月天| 中文字幕乱轮| 久久久免费精彩视频| 五月丁香综合久久夜夜| 在线视频色五月| 激情综合网五月婷婷| 夜夜穞天天穞狠狠穞AV美女按摩| 色五月婷婷激情基地| 清色五月天| 六月婷婷av| www.韩日视频| tingtingjiqingwuyue| 日本欧美成人片AAAA| 五月日韩中文字幕| 九九碰九九爱97| 婷婷丁香五月色| 亚洲视频在线观看| 人妻22p| 天天日夜夜拍| 欧美成人AAA片一区国产精品| 色婷婷久久综合久色综| 欧美色五月天| 另类少妇人与禽zOZZ0性伦| 色色激情五月| 亚洲99精品欧美一区| 国产精产国品一二三在观看| 国产激情在线| 九九精品99| 97久操| 韩国婷婷丁香五月| 九九这里都是精品| 无码髙清| 天天色综合图片| 熟女少妇内射日韩亚洲| 亚洲成人免费电影| 色色五月天婷婷丁香| 伊人在线大香蕉网| 久久五月丁香综合17C| 色播五月婷婷| 六月丁香av| 激情第四色| 综合精品啪啪| 天天天天做夜夜夜夜做| 亚洲精品V天堂中文字幕| 国产激情久久| 欧美 日韩 成人 在线| www.激情com| 五月婷婷综合在线观看| 最近免费中文字幕大全高清大全1| 五月婷视频久久| 激情性爱五月天| 九色七七| 五月丁香婷婷深深爱| 97性高潮久久久| 看久久性爱视频| 99日热在线视频| 五月丁香六月欧美| 色伊人91在线视频| 色婷婷综合中心| 伊人综合网站| 男人天堂亚洲综合| 日日夜夜狠狠| 97色色色视屏| 激情五月婷婷| 99 频99热国里只有精品| 色色色色综合网| 开心婷婷五| 久热伊人| 婷婷亚洲激情在线观看视频| 五月天偷拍| 高清无码 一区 二区 三区| 亚洲精品字幕在线观看| 亚洲丁香五月天在线视频| www.婷婷| 五月婷婷co.m| 射婷婷中文字幕| 久久五月婷天天干| 婷婷酒色网| 色爱五月天| 丁乡久久| 五月天综合久久| 九九热精品| 日本99久久| 五月综合777| 91无码一起草| 俺去也五月天婷婷| 在线观看亚洲AV| 色婷婷亚洲| 《诡秘之主》在线观看| 国产亚洲色婷婷久久99精品91| 六月婷婷视频| 狠狠ri| 欧美婷婷五月丁香| 啪精品| 99色在线视频| 久热这里这里有精品| 99国产精品久久久久久久久久久 | 超级碰碰碰久久网站| 五月丁香婷婷免费视频| 99日本在线| 337p大胆噜噜噜噜噜91Av| 99这里只有精品在线| 丁香婷婷五月天成人| 国产精品色婷婷久久久精品| 99操逼| 99热久久这里只有精品| 婷婷五月天激情综合深爱激情| 伊人狠狠色婷婷综合丁香一区| 情色五月天网站| 九九热这里都是精品6| 亚洲九九99精品视频在线播放| 亚洲六月色| 99热日韩| 无码日本精品XXXXXXXXX| 五月丁香欧美综合| 色五月婷婷操逼| 激情五月激情综合网| 日本 @ va 免费| 日本色99| 欧美成人AAA片一区国产精品| 97婷婷五月天| 婷色五月天| 风流少妇A片一区二区蜜桃 | 久久综合性| 天天揷综合网| 日日夜夜天天| 久久6这里只有精品| 亚洲殴洲精品Av在线| 亚洲中文字幕av| 无码婷婷五月天| 成人丁香色| 99视频| 丁香婷婷六月天| site:ornaments52.com| 色婷婷9|