亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

短流量數(shù)據(jù)分析與可視化系統(tǒng):SpringBoot+Vue+MySQL實(shí)戰(zhàn)

短流量數(shù)據(jù)分析與可視化系統(tǒng):SpringBoot+Vue+MySQL實(shí)戰(zhàn) 做數(shù)據(jù)分析的朋友應(yīng)該都有共識看趨勢曲線不難難的是當(dāng)數(shù)據(jù)變成高頻、短時、密集的流量請求時時間窗口內(nèi)的一點(diǎn)點(diǎn)抖動都可能直接影響業(yè)務(wù)判斷。最近我在整理一套短流量數(shù)據(jù)分析與可視化ABO信息管理系統(tǒng)技術(shù)棧是SpringBoot Vue MySQL。這套系統(tǒng)的核心價值在于——它不只是一張報表而是把短周期流量數(shù)據(jù)的采集、聚合、分析、可視化以及ABO業(yè)務(wù)對象的管理全部串在了一起最終以可視化看板的方式呈現(xiàn)給業(yè)務(wù)方。先解釋一下ABO這個代號。在很多實(shí)際工程里ABO不是一個通用標(biāo)準(zhǔn)詞而是項(xiàng)目組內(nèi)部定義的管理對象集合Automated Business Object自動化業(yè)務(wù)對象它把參與流量業(yè)務(wù)的主體——例如推廣活動、落地頁、渠道來源、目標(biāo)轉(zhuǎn)化事件——統(tǒng)一抽象成可配置、可追蹤的信息管理對象。你可以理解成一套給業(yè)務(wù)對象做標(biāo)記、建檔、配置和監(jiān)控的底座。這樣短流量分析做的就不只是看數(shù)據(jù)而是圍繞業(yè)務(wù)對象去看數(shù)據(jù)這也是系統(tǒng)區(qū)別于普通流量統(tǒng)計工具的關(guān)鍵點(diǎn)。這套系統(tǒng)適合誰來參考如果你正在做流量分析類的課程設(shè)計、企業(yè)內(nèi)部的數(shù)據(jù)可視化大屏項(xiàng)目或者想弄清楚SpringBoot后端如何和Vue前端配合、MySQL又如何支撐高頻寫入與聚合查詢那么這篇文章就是給你準(zhǔn)備的。文中我會重點(diǎn)講清楚項(xiàng)目拆分邏輯、核心表結(jié)構(gòu)、聚合接口的設(shè)計思路、前端ECharts看板的實(shí)現(xiàn)方式以及最后從源碼到直接運(yùn)行需要處理的那些容易翻車的細(xì)節(jié)。1. 短流量數(shù)據(jù)平臺的核心需求拆解ABO為什么需要一套專屬系統(tǒng)1.1 短流量到底短在哪定義數(shù)據(jù)窗口的粒度先說一個容易混淆的點(diǎn)。很多初學(xué)者一聽到數(shù)據(jù)分析第一反應(yīng)是拉一張大寬表跑一跑年度銷售額、月度環(huán)比。但短流量分析完全不是這個套路它關(guān)注的是秒級、分鐘級、小時級窗口內(nèi)的流量密度、集中度和波動特征。舉個例子一個電商秒殺活動上線后最開始3分鐘內(nèi)的用戶請求會形成一個尖峰如果系統(tǒng)按小時聚合這個尖峰會被平均掉看起來毫無波瀾但實(shí)際上后端服務(wù)可能已經(jīng)出現(xiàn)延遲反過來某條推廣鏈接的流量可能集中在晚上9點(diǎn)到10點(diǎn)半你按天聚合永遠(yuǎn)看不到這個規(guī)律。所以短不是指數(shù)據(jù)量小而是指分析窗口小、頻率高、實(shí)時性強(qiáng)。這套ABO系統(tǒng)的數(shù)據(jù)采集設(shè)計目標(biāo)就是要把單位時間窗口內(nèi)的PV、UV、請求數(shù)、轉(zhuǎn)化次數(shù)等指標(biāo)以分鐘為單位記錄并向上聚合。具體落到產(chǎn)品形態(tài)上我把它分為三層第一層是明細(xì)層存原始請求記錄第二層是分鐘聚合層把同一分鐘、同一活動、同一渠道的記錄壓縮成一行統(tǒng)計結(jié)果第三層是小時/天聚合層給看板的大趨勢圖提供數(shù)據(jù)。這三層數(shù)據(jù)逐級向上既保證了細(xì)節(jié)可查又保證了查詢速度。1.2 管理對象抽象把數(shù)據(jù)掛到業(yè)務(wù)實(shí)體上光有流量數(shù)據(jù)還不夠業(yè)務(wù)方想知道的是哪個活動帶來了流量哪個渠道效果好。這就是ABO管理對象存在的意義。在我的設(shè)計里ABO對象包含三類核心實(shí)體活動Campaign一次推廣、一場直播、一個落地頁活動渠道Channel來源分類比如抖音、朋友圈、直客、搜索引擎事件Event關(guān)鍵轉(zhuǎn)化動作比如注冊、加購、下單、支付這三類實(shí)體通過配置表關(guān)聯(lián)再和流量指標(biāo)表做關(guān)聯(lián)。每次采集到的流量數(shù)據(jù)都帶有活動ID、渠道ID和事件類型這樣可視化時就能按任意維度切片。比如業(yè)務(wù)方想對比抖音渠道進(jìn)入A活動的轉(zhuǎn)化情況前端只需要把兩個篩選條件一選后端接口自動完成過濾和聚合。這種對象化管理還有一個額外好處新增業(yè)務(wù)場景不需要改表結(jié)構(gòu)。假如團(tuán)隊(duì)多了一個直播間掛載小黃車的新渠道在渠道表插一條記錄、在活動表關(guān)聯(lián)一下前端下拉列表就能直接選到代碼層面完全不用動。1.3 系統(tǒng)模塊拆分與數(shù)據(jù)閉環(huán)整個系統(tǒng)我拆成了五個模塊數(shù)據(jù)接入模塊、指標(biāo)聚合模塊、ABO對象管理模塊、可視化查詢模塊、系統(tǒng)配置模塊。數(shù)據(jù)接入模塊負(fù)責(zé)接收前端上報或MQ推送的流量明細(xì)指標(biāo)聚合模塊負(fù)責(zé)將明細(xì)數(shù)據(jù)按時間窗口聚合ABO對象管理模塊負(fù)責(zé)維護(hù)活動和渠道等基礎(chǔ)對象可視化查詢模塊對外提供多維聚合接口系統(tǒng)配置模塊管理用戶權(quán)限和指標(biāo)閾值。數(shù)據(jù)閉環(huán)是這樣的客戶端上報流量明細(xì) → 接入層解析并落庫 → 聚合任務(wù)按分鐘/小時生成指標(biāo) → 前端看板請求查詢接口 → 接口從聚合表中讀取并返回 → 圖表渲染。這樣的好處是明細(xì)表和聚合表分離查詢性能有保證同時保留了鉆取到明細(xì)的能力。有一次業(yè)務(wù)方反饋某渠道數(shù)據(jù)異常偏大我臨時寫了一條SQL從明細(xì)表里按user_id查了前100條記錄很快就定位到是一個爬蟲腳本在反復(fù)刷接口這就是明細(xì)存儲的價值——聚合表只能讓你看見異常明細(xì)表才能讓你定位異常。2. 數(shù)據(jù)庫方案短流量指標(biāo)的建模與分析表設(shè)計2.1 核心表結(jié)構(gòu)與字段說明MySQL在這套系統(tǒng)里同時承擔(dān)明細(xì)存儲和聚合結(jié)果存儲。因?yàn)槎塘髁繑?shù)據(jù)的特點(diǎn)是寫入頻繁、聚合查詢多我建議明細(xì)表和聚合表分開建。這里給出核心表的設(shè)計流量明細(xì)表flow_log字段類型說明idbigint主鍵activity_idbigintABO活動IDchannel_idbigint渠道IDevent_typevarchar(32)事件類型request_timedatetime請求發(fā)生時間device_typevarchar(16)設(shè)備類型ipvarchar(64)IP地址user_idvarchar(64)用戶標(biāo)識匿名時可空extrajson擴(kuò)展字段分鐘級聚合表flow_stat_minute字段類型說明idbigint主鍵activity_idbigint活動IDchannel_idbigint渠道IDstat_datedate日期stat_hourvarchar(2)小時stat_minutevarchar(2)分鐘pvint訪問量uvint獨(dú)立訪客event_countint事件數(shù)update_timedatetime更新時間ABO活動表abo_campaign字段類型說明idbigint主鍵namevarchar(128)活動名稱start_timedatetime開始時間end_timedatetime結(jié)束時間statustinyint狀態(tài)1啟用0停用config_jsonjson擴(kuò)展配置加上渠道表、事件配置表整體5張表就能支撐整套系統(tǒng)。對一個小型可視化分析系統(tǒng)來說這個規(guī)模剛好既不會因?yàn)楸硖鄬?dǎo)致理解成本高又能把業(yè)務(wù)對象和指標(biāo)數(shù)據(jù)清晰地關(guān)聯(lián)起來。2.2 索引與分區(qū)分頁策略短流量明細(xì)表最大的問題就是數(shù)據(jù)膨脹。我實(shí)測過如果按每分鐘采集100條、一天24小時不停單表一天會有14萬條左右一個月就是400多萬條。這個量級在MySQL里完全能扛但前提是索引要建對。我最常用的三套索引組合是這樣的idx_request_time (request_time)用于按時間范圍查詢明細(xì)idx_activity_time (activity_id, request_time)用于按活動維度查詢idx_channel_time (channel_id, request_time)用于按渠道維度查詢同時聚合表要建聯(lián)合唯一索引uk_act_cha_time (activity_id, channel_id, stat_date, stat_hour, stat_minute)這個索引不僅用于去重還能讓INSERT ... ON DUPLICATE KEY UPDATE的寫入效率明顯提升。按月分表是更穩(wěn)妥的做法。我把flow_log設(shè)計成按月分表表名形如flow_log_202501在寫入和查詢時根據(jù)當(dāng)前月份拼接表名。這樣做的好處是單表體積可控、清理歷史數(shù)據(jù)可以直接DROP表缺點(diǎn)是跨月查詢要UNION。對于這套系統(tǒng)的使用場景來說絕大多數(shù)分析窗口都在一個月內(nèi)所以按月分表利大于弊。2.3 為什么聚合表不用視圖而是實(shí)表有朋友問過能不能直接對明細(xì)表做GROUP BY查詢何必多維護(hù)一張聚合表我之前的項(xiàng)目里試過。當(dāng)數(shù)據(jù)量到了幾十萬條以上前端每次切時間范圍都觸發(fā)一次大查詢MySQL的CPU瞬間飆高一個圖表接口耗時超過5秒體驗(yàn)基本沒法看。聚合表的價值就是把計算提前把結(jié)果存下來查詢時零計算毫秒級返回。還有一點(diǎn)聚合任務(wù)可以做成增量補(bǔ)償機(jī)制。即使某分鐘因?yàn)橄到y(tǒng)故障漏聚合了也可以通過重跑任務(wù)把缺失窗口的數(shù)據(jù)補(bǔ)上這是實(shí)時聚合方案很難做到的。我實(shí)際部署的時候遇到過服務(wù)器半夜重啟導(dǎo)致任務(wù)中斷的情況第二天一早發(fā)現(xiàn)凌晨1點(diǎn)到2點(diǎn)的聚合表全空了后來加了補(bǔ)償邏輯每次任務(wù)啟動時自動檢測最近2小時是否有缺失窗口有就補(bǔ)跑再沒出過類似問題。3. SpringBoot后端接口設(shè)計、聚合查詢與臟數(shù)據(jù)治理3.1 項(xiàng)目結(jié)構(gòu)與分層后端我采用的是經(jīng)典三層結(jié)構(gòu)Controller層負(fù)責(zé)參數(shù)校驗(yàn)和結(jié)果返回Service層負(fù)責(zé)業(yè)務(wù)邏輯和聚合計算Mapper層用MyBatis-Plus操作數(shù)據(jù)庫。之所以用MyBatis-Plus而不是手寫大量XML是因?yàn)檫@套系統(tǒng)里單表CRUD很多MyBatis-Plus的BaseMapper能直接省掉大半模板代碼復(fù)雜的聚合查詢和數(shù)據(jù)更新再單獨(dú)寫SQL。pom.xml里核心依賴是這些dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3.1/version /dependency dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId scoperuntime/scope /dependency dependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId /dependency版本選擇上我建議SpringBoot 2.7.x原因很簡單它對JDK 8的支持最穩(wěn)定MyBatis-Plus和各種工具類的兼容性不用折騰。如果你用SpringBoot 3.x要注意JDK必須17以上且javax包要替換成jakarta很多老代碼直接跑不起來。3.2 流量數(shù)據(jù)的聚合查詢實(shí)現(xiàn)聚合接口是整個系統(tǒng)的核心它要解決的查詢是給定活動ID和渠道ID的可選條件返回指定日期范圍內(nèi)按分鐘/小時/天聚合的PV、UV、事件數(shù)曲線。我的實(shí)現(xiàn)思路是前端傳一個granularity參數(shù)后端根據(jù)它決定按什么粒度聚合。SQL使用動態(tài)拼接的方式處理Override public ListMapString, Object queryTrend(QueryTrendDTO dto) { LambdaQueryWrapperFlowLog wrapper new LambdaQueryWrapper(); if (dto.getActivityId() ! null) { wrapper.eq(FlowLog::getActivityId, dto.getActivityId()); } if (dto.getChannelId() ! null) { wrapper.eq(FlowLog::getChannelId, dto.getChannelId()); } // 所有查詢必須帶上時間范圍避免全表掃描 wrapper.between(FlowLog::getRequestTime, dto.getStartTime(), dto.getEndTime()); wrapper.select(FlowLog::getRequestTime, FlowLog::getEventType); ListFlowLog logs flowLogMapper.selectList(wrapper); // 內(nèi)存中按聚合粒度統(tǒng)計 MapString, StatItem resultMap new LinkedHashMap(); SimpleDateFormat sdf decideFormatter(dto.getGranularity()); for (FlowLog log : logs) { String key sdf.format(log.getRequestTime()); StatItem item resultMap.computeIfAbsent(key, k - new StatItem()); item.setPv(item.getPv() 1); if (log.getUserId() ! null) { item.getUvSet().add(log.getUserId()); } } // 將uvSet.size()填入結(jié)果 return formatAsChartData(resultMap); }這段邏輯夠直觀但對生產(chǎn)環(huán)境來說不夠高效。更推薦的方式是直接把聚合邏輯下沉到SQL里讓MySQL去分組SELECT DATE_FORMAT(request_time, %Y-%m-%d %H:%i) AS time_point, COUNT(*) AS pv, COUNT(DISTINCT user_id) AS uv FROM flow_log_202501 WHERE activity_id ? AND request_time BETWEEN ? AND ? GROUP BY DATE_FORMAT(request_time, %Y-%m-%d %H:%i) ORDER BY time_point;這條SQL在數(shù)據(jù)量十萬級左右的表現(xiàn)都不錯核心原因是時間范圍過濾已經(jīng)通過索引把掃描范圍卡得很小。需要注意的是COUNT(DISTINCT user_id)在大數(shù)據(jù)量下會比較慢如果后續(xù)數(shù)據(jù)量繼續(xù)膨脹UV就應(yīng)該改成用精確去重或近似去重HyperLogLog來維護(hù)。3.3 定時聚合任務(wù)與補(bǔ)償機(jī)制為了不讓聚合結(jié)果完全依賴接口實(shí)時計算我加了一個Scheduled定時任務(wù)每分鐘跑一次增量聚合。實(shí)現(xiàn)上采用掃描 按窗口寫入的做法Component Slf4j public class FlowAggregationJob { Resource private FlowLogMapper flowLogMapper; Resource private FlowStatMinuteMapper flowStatMinuteMapper; Scheduled(cron 0 * * * * ?) public void intervalAggregation() { // 處理上一分鐘的流量記錄 LocalDateTime endTime LocalDateTime.now().truncatedTo(ChronoUnit.MINUTES); LocalDateTime startTime endTime.minusMinutes(1); // 按 (activity_id, channel_id) 分組寫入聚合表 ListFlowStatMinute stats flowLogMapper.selectMinuteStat(startTime, endTime); for (FlowStatMinute stat : stats) { flowStatMinuteMapper.insertOrUpdate(stat); } log.info(聚合任務(wù)完成窗口: {} ~ {}, startTime, endTime); } }這個任務(wù)邏輯本身不復(fù)雜但有一個經(jīng)常被忽略的坑任務(wù)執(zhí)行時刻和日志到達(dá)時刻的延遲。數(shù)據(jù)上報往往不是準(zhǔn)時的實(shí)際生產(chǎn)下可能晚到幾分鐘所以定時任務(wù)不能只處理上一分鐘的窗口至少要保留一個30分鐘左右的可重跑窗口或者做成按最近一端時間拉取并冪等寫入的方式。冪等寫入通常用剛才提到的唯一索引配合INSERT ... ON DUPLICATE KEY UPDATE實(shí)現(xiàn)這樣重復(fù)跑任務(wù)不會產(chǎn)生重復(fù)數(shù)據(jù)。3.4 臟數(shù)據(jù)治理空IP、未知渠道、時間異常短流量數(shù)據(jù)最不缺的就是臟數(shù)據(jù)。我在這套系統(tǒng)里專門做了一層清洗邏輯在數(shù)據(jù)接入的時候就把明顯的臟數(shù)據(jù)攔截掉。具體做了三件事對空IP和空活動ID的記錄直接丟棄不做冗余存儲對request_time超出當(dāng)前時間前后5分鐘范圍的記錄打上abnormal標(biāo)記單獨(dú)存到異常表既不影響正常分析也便于復(fù)盤對未知渠道ID做映射補(bǔ)齊比如通過渠道表查不到名字的統(tǒng)一歸為other渠道清洗邏輯聽起來像小事情但對后續(xù)聚合結(jié)果的影響非常大。我見過不少項(xiàng)目圖表出來之后莫名其妙出現(xiàn)一個巨大的未分類排查半天發(fā)現(xiàn)是渠道字段有大小寫不一致或者帶空格而這些臟數(shù)據(jù)在清洗時只要做一次trim和lower就能避免。4. Vue前端可視化從一張大屏到交互式看板4.1 可視化選型為什么用ECharts Vue前端部分我選擇的是Vue 2.7 Element UI ECharts。這套組合雖然不是最新但勝在穩(wěn)定、生態(tài)成熟、資料多。ECharts在流量可視化場景下的表現(xiàn)非常成熟折線圖、柱狀圖、餅圖、熱力圖、散點(diǎn)圖全覆蓋而且支持按需引入打包體積可控。組件結(jié)構(gòu)上我建議按容器組件 圖表組件來拆分容器組件負(fù)責(zé)拉取數(shù)據(jù)、處理加載狀態(tài)和篩選條件圖表組件只接收數(shù)據(jù)源并負(fù)責(zé)渲染不關(guān)心數(shù)據(jù)從哪來。這樣圖表組件可以復(fù)用比如折線趨勢圖既用在總覽頁面也用在活動詳情頁。4.2 看板布局與核心圖表設(shè)計整個看板我分成三行第一行是核心指標(biāo)卡片總PV、總UV、當(dāng)前活動數(shù)、轉(zhuǎn)化率第二行是趨勢圖和渠道占比圖第三行是事件分布餅圖和流量Top10排行榜。這個布局是數(shù)據(jù)分析里很經(jīng)典的先總后分、先趨勢后構(gòu)成模式用戶一眼就能抓住核心。趨勢圖的核心代碼邏輯如下template div refchartRef stylewidth: 100%; height: 400px/div /template script import * as echarts from echarts; export default { props: { chartData: { type: Object, default: () ({ timePoints: [], uv: [], pv: [] }) } }, watch: { chartData: { handler() { this.renderChart(); }, deep: true } }, methods: { renderChart() { const chart echarts.init(this.$refs.chartRef); chart.setOption({ tooltip: { trigger: axis }, legend: { data: [PV, UV] }, xAxis: { type: category, data: this.chartData.timePoints }, yAxis: { type: value }, series: [ { name: PV, type: line, smooth: true, data: this.chartData.pv }, { name: UV, type: line, smooth: true, data: this.chartData.uv } ] }); } } }; /script有一點(diǎn)要提醒前端調(diào)用ECharts的init之后組件銷毀時必須調(diào)用chart.dispose()否則快速切換頁面會不斷累積瀏覽器內(nèi)存最終導(dǎo)致頁面卡死。很多可視化項(xiàng)目用著用著變卡的根源就在這里。4.3 前后端聯(lián)調(diào)與數(shù)據(jù)格式約定頁面和接口之間的數(shù)據(jù)格式我采用了一個約定俗成的結(jié)構(gòu){ code: 200, message: success, data: { timePoints: [2025-01-10 09:00, 2025-01-10 09:01], pvSeries: [1024, 980, 1203], uvSeries: [520, 488, 600] } }后端封裝統(tǒng)一返回對象前端在axios的響應(yīng)攔截器里做統(tǒng)一處理業(yè)務(wù)代碼只需要關(guān)注data字段。格式約定統(tǒng)一了前后端聯(lián)調(diào)就不容易出現(xiàn)參數(shù)對不上、字段名不匹配的扯皮??缬騿栴}也是聯(lián)調(diào)時最常見的坑。我開發(fā)環(huán)境的Vue配置了代理// vue.config.js module.exports { devServer: { proxy: { /api: { target: http://localhost:8080, changeOrigin: true, pathRewrite: { ^/api: } } } } };這樣前端請求/api/trend時實(shí)際是代理到后端的http://localhost:8080/trend繞開了跨域限制。生產(chǎn)環(huán)境則把前端打包后的靜態(tài)文件放到SpringBoot的static目錄下或者用Nginx反向代理同源部署完全不需要處理跨域。5. MySQL連接與部署運(yùn)行從源碼到直接運(yùn)行的關(guān)鍵環(huán)節(jié)5.1 初始化數(shù)據(jù)庫與調(diào)整MySQL參數(shù)拿到源碼后第一件事不是啟動項(xiàng)目而是先把數(shù)據(jù)庫建好。系統(tǒng)自帶的init.sql會創(chuàng)建數(shù)據(jù)庫和所有表并插入一批測試活動數(shù)據(jù)。MySQL這邊有兩個參數(shù)我強(qiáng)烈建議先調(diào)一下不然后續(xù)寫入高頻的時候會非常痛苦# my.cnf max_connections 200 innodb_buffer_pool_size 1Gmax_connections默認(rèn)是151當(dāng)數(shù)據(jù)接入任務(wù)和后臺定時任務(wù)并發(fā)執(zhí)行時很容易觸頂innodb_buffer_pool_size建議設(shè)置為物理內(nèi)存的50%-70%這個值直接決定MySQL在頻繁寫入和查詢時的緩存效率。另外連接串里的characterEncodingutf8mb4要確認(rèn)是對的否則中文活動名在控制臺查詢時會出現(xiàn)亂碼spring.datasource.urljdbc:mysql://localhost:3306/abo_flow?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/Shanghai spring.datasource.usernameroot spring.datasource.passwordyourpassword5.2 SpringBoot與Vue的編譯打包步驟先說后端。用Maven打包時最常踩的坑是本地JDK版本和項(xiàng)目編譯版本不一致導(dǎo)致UnsupportedClassVersionError。建議統(tǒng)一用JDK 8并且在pom.xml里顯式指定properties java.version1.8/java.version maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target /properties打包命令就一條mvn clean package -DskipTests生成的jar包在target/目錄下運(yùn)行java -jar abo-flow-system-1.0.0.jar前端Vue部分安裝依賴時如果網(wǎng)絡(luò)不好容易卡在node-sass上建議使用npm鏡像源如果項(xiàng)目用的是dart-sass則沒這個問題。構(gòu)建命令npm install --registryhttps://registry.npmmirror.com npm run build構(gòu)建產(chǎn)物在dist/目錄。最省事的運(yùn)行方式是把dist目錄下的靜態(tài)資源復(fù)制到SpringBoot的src/main/resources/static/再重新打包這樣整個系統(tǒng)就是一個jar包任何機(jī)器裝了JDK8和MySQL就能跑。5.3 常見啟動失敗與排查清單我把自己實(shí)際運(yùn)行過程中遇到過的幾個典型問題整理成了一張排查清單算是給后來人排雷現(xiàn)象根因處理方式啟動報Access denied for user rootlocalhostMySQL賬號密碼或權(quán)限不正確檢查application.yml連接串用命令行登錄測試啟動報Communications link failureMySQL未啟動或端口不是3306確認(rèn)mysql -uroot -p能登錄查看端口占用前端啟動后白屏按F12看到404路由為history模式且未配置后端支持改用hash模式或配置后端頁面跳轉(zhuǎn)與靜態(tài)資源映射頁面能開但圖表數(shù)據(jù)為空后端接口數(shù)據(jù)源連錯庫或聚合表沒數(shù)據(jù)確認(rèn)庫名、賬號執(zhí)行一條統(tǒng)計SQL驗(yàn)證jar包啟動后端口被占用8080被其他進(jìn)程占用lsof -i:8080或netstat -ano查看進(jìn)程換端口5.4 關(guān)于可直接運(yùn)行的誠實(shí)提醒市場上很多源碼標(biāo)題寫著可直接運(yùn)行但真按步驟走一遍還是會遇到零零散散的小問題。這套項(xiàng)目大多數(shù)情況下可以把問題壓縮到配置數(shù)據(jù)庫連接串這一個環(huán)節(jié)已經(jīng)很理想了。我的建議是拿到代碼后先做三件事全局搜索localhost和3306確認(rèn)所有連接配置都已經(jīng)指向本機(jī)環(huán)境確認(rèn)MySQL版本在5.7及以上并執(zhí)行一遍init.sql后端啟動成功后先在瀏覽器訪問http://localhost:8080/api/ping能返回ok再啟動前端這三步做完整個鏈路基本就通了。6. 短流量可視化看板的進(jìn)階優(yōu)化與個人經(jīng)驗(yàn)補(bǔ)充6.1 從看板走向告警閾值規(guī)則的接入當(dāng)短流量數(shù)據(jù)的波動直接影響到業(yè)務(wù)時只做可視化是不夠的。我在迭代這套系統(tǒng)的過程中加了一層簡單的告警規(guī)則對每個ABO活動可以配置PV閾值和UV閾值聚合任務(wù)每跑完一次就對比一次超過閾值就觸發(fā)告警記錄同時在看板的指標(biāo)卡片上高亮。這個功能本質(zhì)上是對聚合數(shù)據(jù)的二次消費(fèi)成本很低但價值很明顯業(yè)務(wù)方能第一時間感知流量異常不用一直盯著圖表看。實(shí)現(xiàn)上就是兩張表的事一張alert_rule存規(guī)則配置一張alert_record存觸發(fā)記錄。聚合任務(wù)跑完后順手調(diào)一個checkAlert()方法對比pv rule.max_pv就插入一條告警。再配合后端定時推送郵件或釘釘機(jī)器人告警鏈路就完整了。6.2 數(shù)據(jù)接入模擬沒有真實(shí)流量時怎么演示很多同學(xué)拿到源碼后第一反應(yīng)是沒有真實(shí)流量數(shù)據(jù)看板是不是空的。這套系統(tǒng)里我內(nèi)置了一個模擬數(shù)據(jù)模塊通過一個開關(guān)控制打開后SpringBoot的定時任務(wù)每秒生成若干條隨機(jī)流量數(shù)據(jù)活動ID、渠道ID、事件類型都是按配置表的真實(shí)記錄隨機(jī)分配的。這樣看板隨時都有數(shù)據(jù)在動演示效果非常好。模擬數(shù)據(jù)的生成要注意一點(diǎn)不要生成純均勻的隨機(jī)數(shù)否則曲線太平滑看著假。我通常會疊加一個時間熱度系數(shù)比如上午10點(diǎn)和晚上8點(diǎn)的時段概率高一些凌晨4點(diǎn)概率低一些這樣曲線看起來才像真實(shí)的流量波動。6.3 個人實(shí)操中的幾個體會踩過幾次坑之后我最大的體會是短流量數(shù)據(jù)分析系統(tǒng)的難點(diǎn)從來不在會不會寫接口或會不會畫圖表而在于數(shù)據(jù)窗口的設(shè)計和臟數(shù)據(jù)的治理。接口寫得再漂亮如果聚合窗口沒定義好出來的曲線就會失真圖表畫得再炫如果底層數(shù)據(jù)有臟數(shù)據(jù)看板就成了精致的垃圾。所以建議在做這類項(xiàng)目時花40%的時間在數(shù)據(jù)接入和清洗上花30%的時間在聚合任務(wù)上剩下30%再給前端和部署這個比例是非常值得參考的。另外還有一個小技巧前端圖表組件配一個刷新間隔的下拉選項(xiàng)默認(rèn)關(guān)閉但可以選擇每5分鐘或每1分鐘自動刷新一次數(shù)據(jù)。這個功能在投屏場景下非常實(shí)用操作起來就是在前端容器組件里加一個setInterval定時重新請求接口幾乎不增加開發(fā)量但演示效果立刻提升一個檔次。短流量數(shù)據(jù)分析與可視化這條路說到底就是高頻數(shù)據(jù) 合理聚合 直觀呈現(xiàn)三件事。把這套鏈路跑通了無論你后續(xù)接的是短視頻流量、接口調(diào)用流量還是業(yè)務(wù)埋點(diǎn)處理思路都是相通的。我目前這套系統(tǒng)還在持續(xù)迭代下一步打算把異常檢測的規(guī)則從固定閾值升級成動態(tài)基線讓告警更聰明一些。如果你正在折騰類似的項(xiàng)目可以從數(shù)據(jù)庫設(shè)計和聚合任務(wù)這兩個環(huán)節(jié)入手把基礎(chǔ)打扎實(shí)后面的可視化工作自然會順很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97视频在线播放| 久久岛国| 国产精品国产拍高清AV| av在线观看不卡网站| 新91视频.cmp| 青青草精玖玖69精品| 婷婷中文网| 日本孕妇一区二区视频操逼免费看 | 丝袜色综合| 91爽啪| 精品性爱一区二区| 国产探花日韩援交| 日本性爱欧美性爱| 翔田千里AV无码秘 三区| 青草视频人妻在线观看| 台湾大香蕉99热| 亚洲成人综合在线| 人人色97| ss久久| 99色在线| 色妺妺在线视频| 欧美日韩性爱精品| 麻豆这里只有精品| 九九热精品在线| 91精品国产日韩欧美综合| 91丰满| 久久人妻少妇| 日韩特一级久久| 插老姨肥穴| 99re视频在线观看这里只有精品| 欧美中出1| 99精品视频在线观看免费| 欧美不卡在线一区二区| 欧美不卡五十路| 97资源站日韩| 午夜性刺激视频免费观看| 一本色道久久综合精品婷婷| 九热中文字幕| 伊人久久在线视频观看| 伊人黄色视频免费观看| 五月丁香社区婷婷日韩欧美精品影院 | 黄页网站成人免费| 夜夜爽夜夜操| 婷婷久久五月综合激情| 欧美v亚洲v综合v国产v妖精| 夜夜操美女| 日本爽爽爽爽爽爽免费视频| 亚洲成a人在线观看久| 91成人久久| 国产免a费看黄片在线| 日韩国产在线观看av| 家庭乱伦性爱av| av绯色| 亚洲AV无线| 大香蕉专区| 久久毛卡| 黄色大片一区二区密桃丝袜| 欧美日韩精品国产91| 亚洲图片 激情小说| 日韩 欧美 国产 麻豆| 欧美高潮| 91精品人妻偷情| 欧美性爱1080p| 精品一区二区人妖| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲国产美女久久久久| 国内伊人久久久久久网站视频| 91 综合网| 久久久啊啊啊| 91人妻最真实刺激绿帽| 欧美亚洲日本视频久久久| 日韩成人性爱AV| 狠狠色丁香| 人人污日韩一区二区| 日本高清熟女久久一区| 久久精品无码专区| 抽插无码高清一区| 人妻精品综合中文字幕在线 | 久久一区,青青青青草视频在线播放| 丁香五月天视频| 国产亚洲人妻综合日韩 久久| 北京专精特新企业招聘信息| 职场同事知名国产国产精品久久欧美日韩 | 欧美日韩制服| 日韩极品无码B| 午夜福利在线合集| 热久久精品| 久久后入制服| 夜嗨影院| 欧美97视频| 啊啊啊爽爽| 欧洲黄色网| 婷婷丁香五月综合| 亚洲激情天堂网| 日韩影片中文字幕一区二区三区| 学生妹天天看| 青娱乐福利99| 99热精品青草在线 | 操熟女91| 亚洲成?V人片在线观看福利| 尤物视频偷拍免费| 五月丁香激情综合网| 亚洲国产一级中文综合久久天堂在线免费观看 | 9热9热综合网| 啊啊啊好想要| 黄色污污污污污污网站| 蜜臀中文字幕| 亚洲色五月| 亚洲图片 欧美电影| 熟妇xxxxx性春色| 色97| 91免费看一区二区三区| 欧美老熟另类| 亚欧高清| 在线 亚洲 网爆 自拍| 极品销魂美女一区二区| 啊啊啊不要啊啊受不了了视频在线| 日韩十八禁| 97综合在线| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 麻豆三极片| 婷婷丁香六月| 啊啊啊啊啊啊好多水| 伊人婷婷五月天| 日日97| 日韩素人无码一区二区三区三州| 欧美性xxxxx狂欢| 97久久精品亚洲| 国产999精品久久久| 六月丁香五月婷婷| 国产97在线视频| 日韩乱码Av| 欧美综合网| 天天色悠悠激情| 精品九九| 久久精品成人一区二区三区蜜臀| 亚洲黄网在哪免费看| 国产精品欧美在线观看| 蜜色网色哟哟| 人人操人人插人www| 国产午夜视频| 亚洲欧美日韩夜夜| 日日爱99| 久久99草| 97精品综合| 福利视频合集| 射丝袜大香蕉| 综合色图亚洲欧美| 亚洲成人一区二区精品| 国产白丝AV| 91精品人妻一区二区三区蜜桃臀| 国产欧美精选自拍一区| 人人妻人人爽| 久操| 国产精品精品系列在线观看| 一区二区三区麻豆| 久久激情视频| 资源新线在线天堂| 亚洲污污网站| 国产日本熟女顶级一区二区三区视频 | 精品一区二区三区蜜桃臀赵总| 午夜精品久久久| 亚洲永久AV无码精品秋霞| 免费看国产曰批40分钟怎么下载| 大奶的诱惑| 97视频www| 加勒比无码一区二区三区| 日韩人妻一区二区| 天天澡天天爽日日AV| 色九九九综合| 久热色情精品| 亚洲各类熟们中文字幕| 久久久国产亚洲精品系列| 亚洲se91| 91 国产丝袜在线播放-百度| 亚洲天堂色图| 久久这里只精品99re66图| 日韩激情无码影院| 四方色播| 欧美综合1性辶| 精品一区二区麻豆| 女人与公拘交酡2020视频| 啊a一区在线| 搡老女人老妇女AAA一VU麻豆 | 日韩三级在线观看网站| 97天堂| 久久视频,这里只有精品 | 青久操| 婷婷五月影院| 不卡啪啪视频| 五月婷婷六月丁香| 亚洲国男人的天堂| 国产精品熟女丝袜一区二区| 三级AV入口| 亚州男人天堂| 国产久久久久久| 狠狠入| 粉嫩av一区二区三区四季| 色性欧美| 亚洲精品一区中文字幕乱码| 99性爱视频| 国产亚洲国产超碰| 激情网五月天| 欧美亚洲综合色| 国产成人精品亚洲日本| 日韩不卡av一二三| 992这里有精品| 国产免费永久精品无码| 国产人妻精品久久久一区二区三区 | 91撸色网 玖玖网 欧美| 色婷婷综合久久久久中文一区二区| 丁香五月激情五月| 91精品国产综合久久久蜜臀| 久久超碰亚洲人| 国产农村妇女精品一| 97色色国产视频| 99999精品成人| 九九热免费国产视频婷婷伊人| 99热这里是精品| 99综合视频| 激情五月天色播| a男人的天堂| 嗯……啊…嗯嗯…啊…好舒服| 国产原创精品| 天海翼久久| 性色高清..……| 91高潮| 呦呦影院| 國產尤物AV尤物在線觀看| 国产无马av| 日韩欧美久久婷婷网站| 在线中文字幕视频| 日韩免费三级黄片电影| 你懂得91| 爱爱动态试试看6 0秒| 亚洲激情色片 | 搡老人老9丨女老熟人| 亚洲无码AV九九九| 亚洲熟妇极品| 丝袜色综合| 99在线精品视频| 日韩高清黄片| 久热超碰| 人人超碰在线观看黄| 九草九九九| 欧美97在线欧| 亚洲欧洲另类| 青青草成人视频在线观看二区| 天天日熟妇| 日日躁夜夜躁狠狠躁超爽| 亚洲欧美国产中文视频| 日本色婷婷| 观看免费区二区三区二| 人妻激情视频| 成人三一级一片aaa| 裸体美女免费看网站青草| 久久中出在线| 97超碰超碰| 日本性爱少妇| 歐美性天天| 69天堂| 亚洲精品中文字幕一区在线视频| 91女人的网站| 色臀av| 在线观看黄色电话| 精品999日本| 日本色日夜干| 九九亚洲视频| 91无码精品| 乱伦系列一区二区| 国产极品美女高潮无套在线观看 | 男人久久天堂| 十八禁视频网站| 欧美青青视频| 老外又粗又长一晚做五次| 午夜天堂精品久久久久91| 熟女熟妇伦久久影院毛片一区二区| 亚洲巨爆乳一区二区三区四季网| 色婷婷六月| 九热超碰| 欧美疯狂做爰xxxx| 国产成人啪一区二区| 伊人精品久久网站| 久久久久久久久久黄色网| 97天堂| 99在线观看| 热热色国产一二区AV| 国产精品美女在线一区| 欧美国产成人在线| 国产毛片久久久久久久| 97超碰久| 国产无马av| 亚洲影视第一页| 欧美日韩国产色图在线| 天天操天天舔| 黑操B| 国产白丝网站| 激情99| 男人的天堂va| 一区二区三区日韩欧美| 亚洲AV秘无码一区..| 精品国产污一区二区三区| 激情文学88| 第二页中文字幕| 欧美一二三级精品在线| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 欧美亚洲小说| 久久AV无码1区2区3区| 高潮毛片无遮挡高清免费| 在线综合 亚洲 欧美中文字幕| 中文字幕人妻色偷偷久久皮| 亚洲国产一级精品毛一级精品看免费视频| 九九九九97| 久久9视频| 亚洲色阁| 国产欧美日韩臀 | 牛牛久久国产精品视频一二三 | xxx亚洲午夜天堂| 神马久久久久久久久久久久| 97硬碰| 国产精品第一区第一页| 欧美日韩婷婷中文| 九九黄色网| 天美传媒AV在线播放| 欧美嫩性色| 在线综合 亚洲 欧美中文字幕| 噜噜噜亚洲精品| 久久五月视频| 精品国产Av无码久久久亚洲| 天天天操天天天爱| 99热免费| 日本在线播放不卡一区| 男人的午夜天堂| 青青草乱入乱欲视频在线观看| 很很热性爱视频| 中文字幕精品码亚洲| 一区,二区,三区网站| 国产精品视频一区二区三区八戒| 欧美综合第一页| 日本中文字幕一区| 色婷婷aV一区二区三区麻豆综合| 国产成人精品日本亚洲语言| 亚洲日本激情| 清纯唯美亚洲| 国产欧美日韩精品中文| 日韩超碰97| 青青草日韩免费观看高清在线| 夜夜嗨一区二区| 中文字幕亚洲永久精品| 亚洲成人激情小说视频| 老熟乱一区二区三区四区| 97硬碰| 91美女高潮| 福利在线黄片| 欧美十八禁导航成人| 亚州男人天堂| 精品九区| 欧美综合色,www| 97少妇人妻中文字幕久久| 亚洲A色| 98一区二区精品| 在线观看国产黄色| 日韩乱中文| 在线视频 亚洲精品| 国产在线激情| 色天天野狼综合社区| 欧洲精品人妻| 青青操在线亚洲视频观看欧美在线 | 超碰AV在线| 久久久久亚洲Aⅴ无码| 五月天久久综合网| 久久午夜鲁丝片| 久久精品一区二区三区四区五区| 亚洲 在线| 欧美草草高清日韩视频| 亚洲色图欧美色图综合| 精品综合久久久久久97| 黄色一区三区| 黄站在线免费观看| 91美女国产在线| 欧美 亚洲 91| 国产精品一二三| 久久宗合亚洲| 亚洲天堂 视频你懂的| 天天综合网日韩7799| 国产乱色国产精品免费视| 国产主播福利| 色欲av一区二区三区蜜芽| 日本韩国国产精品一区| 三级激情网站| 无码少妇精品一区二区60岁老人| 国产精品一区二区黄片| 99热97| WWW4虎| 亚州色国| 国产sv美女内射| 综合色91| 少妇无码av专区线| 国产成人网址| 日本三级人妻a人妻一在线| 伊人成人情色综合| 欧美激情黑人| 大香蕉线| 奇米四色网| 台湾成人无码AV| 熟女人妻一区二区三区| 91原创在线观看| 国产精品。| 中国熟女91| 欧美激情精品| 国内精品a| 亚洲色图殴美色图激情乱伦| 女同亚洲欧美一二三区久久电影| 天堂国产AV| 日韩成人人妻网站| 国产女同视频在线播放| 亚洲精品亚洲人成人网| 亚洲射综合网| 国产97/欧美| 天天日老熟妇| 动漫av中文| 欧美色图91| 日韩精品在线观看观看| 天天综合~91入口| 麻豆一区在线| 亚洲影视综合| 亚洲黄色a级片| 清清一区二区三区四区不卡视频| 久久久久久中文| 日本熟妇熟色97一本在线观看| 91九九| 10000部十八禁看电影| 麻豆色约约| 在线观看免费视频国产| 六六久久日韩不卡| 日日干夜夜欢| 青娱乐欧美激情一区二区 | 加勒比伊人综合| 97碰| 少妇二级| 天堂性色| 国产精品老师| 久久久久久久久久久久欧美日| 另类天堂| 国产精品久久久亚洲一区| 亚洲日韩黑丝| 操逼操网| 久草在| 成人无码在线视频网站| 大奶啊啊好爽 | 五十路熟女人妻一区二区三区四区五| 综合操逼| 欧美日韩婷婷中文| 久久双插| 网站A V在线| 亚洲国产欧美日韩人妻日中文| 天天综合站| 日韩性爱1级片视频| 亚洲不卡不卡中文字幕不卡| 97视频在线播放| 色999五月色| 久久中文字幕人妻熟av女蜜柚| 日韩熟女乱伦中出| 日本人妻天堂网站在线播放| 国产又黄又爽又刺激久久久久久| 韩日男人的天堂| 国产精品白丝| 国产精品亚洲四五区在线观看| av激情亚洲五月天| 久久久亚洲精品电影免费看| 久久性爱视频99| 欧美性爱一内片一区二区三区| 亚洲欧美日韩中文播放| 韩国轻伦国内自拍一区| 性色AV蜜色av色欲av| 91亚洲黑人| 亚洲情色综合| 中文字幕55555| 国产成人99久久亚洲综合| 精品国产一区二区三区久久久蜜臀| 亚洲欧美日韩偷拍色图| 91天美传媒精品| 久思思热视频在线观看| 99这里都是精品| 国产欧美亚洲精品a第2页| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 人人噜夜夜操| 92午夜免费福利视频| 日本97久久| 日韩人妻无码专区| 欧美亚洲激情| 久插综合| 免费观看啪视频| 91综合站| 亚爽爽爽爽爽爽爽爽| 日韩一性一交一A片俄罗斯| 欧美精品不卡一二三四在线91| 毛片电影一区二区三区| 亚洲啪啪综合?v一区综合精品区| 精品免费国产二区三区 | 国产精品另类| 嗯嗯啊啊操死我| 丰满岳乱妇一区二区三区| 夜夜操夜夜高潮夜夜爽国产精品区| 久久精品性| 国产色产精品在线观看| 久久九精品| 久久久久9| 国产美女口爆吞精视频| 色原狠狠天天天| 人妻在线臀日韩| 偷拍自拍在线视频观看| 日韩性爱一级片| 精品二区三四区五电影| 97玖玖人妻| 国产尤物AV尤物在线观看不卡| 人人妻人人澡人人爽久久av| 9999九九九久久久| 天天肏美女| 无码 有码 国产18p| av中亚| 欧美在线|亚洲| 久久只有精品一区二区三区| 五月综合久久| 人人看欧美性爱| 国产在线播放成人免费| 婷婷性网| 久久精品91| 美国久久一二三四| 国产自产91区13区| 男人的天堂网免费| 欧美啪啪女女| 可以免费观看的日韩av毛片| 99人妻碰碰碰久久久久禁片| 欧美天天综合网版| 久久久女人| 97在线资源| 91日日| 麻豆视频test| 超碰亚洲欧美日韩无| www…国产操逼| 综合久久久久久久综合网| 无码不卡亚洲成?人片| 人妻第一页| 日韩精品人妻中文字幕不卡乱码| 婷婷激情五月综合| 亚洲天天精品| 玖玖爱综合网| 日本天堂在线播放| 呻吟 欧美 日本 中出| 人妻 制服 日韩 中文 在线| 日本日日色视频| 丝袜制服字幕在线| 欧美亚洲影视| 亚洲国产精品久久久男人的天堂| 97色论| 丝袜无码a片| 91久久18禁| 啊啊啊快操我视频| 久久↗↗| 色九九久九九| 蜜臀久久99精品久久久久久酒店| 伊人骚琪琪亚洲天堂网站| 东京热天堂网| 超碰精品日韩欧美国产| 国产精品 久久久精品一牛| 99e久久国产精品| 久久黄色视频一区二区三区| 精品人妻av在线播放| 日韩不卡毛片Av免费高清| 搡老女人老妇女AAA一VU麻豆 | 97九色| 日韩亚洲欧美中文字幕| 欧美成人性爱视频在线播放| 精品欧美不卡在线播放| 天天做日日做| 欧美一级A片在线看视频性色| 三级片网站在线播放| 色婷婷五月综合| 99国产精品人妻人伦| 中文字幕在在线观看网站| 久久亚洲熟妇在线视频| 人人摸人人舔一区二区| 啊啊啊啊啊啊在线| 亚洲AV成人精品网站在AV| 日本一区视频在线观看| 激情久久久| 国产玖玖| 日韩电影天堂视频二区三区| 国产91专区| 成人久久久| 亚洲蜜乳av| 狠狠色婷婷7777久| 狠狠夜色午夜久久综合在线| 女上位精品在线| 日韩97| a v网站在线播放| 亚洲精品一区中文字幕乱码| 亚洲一二三| 99re视频在线播放青草| 国产强奸91| 亚洲婷婷五月天| 97碰碰日本乱偷人妻中文的| 九九热三级片| 另类 日韩 熟女| 亚洲色图久久成人| 国产精品欧美日韩久久| 久久中文字幕不卡人妻| 国产精品一二三在线看| 欧美制服网站美腿丝袜| 91精品人妻五十路| 欧美中文字幕日韩在线| 五月婷在线| 99操| 精品人妻高清麻豆av| 天天综合中文字幕 91| 午夜激情成人在线观看| 日韩精品区二区三区不卡| 中文字幕97色| 黄色视频高清无码网站| 久久ww| 亚洲资源网| av毛片aaaaa免费看| 免费视频a级毛片免费视频| 青女在线| 亚洲欧洲无码bt精品合集| 亚洲成人av色网| 久久9免费视频| 久久黄色性爱视频| 欧美性爱一区| 亚洲欧洲日本精品中文a∨| 激情综合网激情五月天| 九九九久| 97任你吞精| 久草热制服丝袜在线观看| 国产在线综合网| 深夜啪啪啪视频免费| 夜夜高潮夜夜爽夜夜爱爱一区| 超碰在线香蕉| 欧美在线视频播放| 日韩国产不卡在线视频| 密臀AV在线| 国产精品露脸在线观看| 熟女色图在线| 日韩性爱免费观看视频| 午夜性| 人人人摸人人| 久久久久久波多野吉衣高潮| 91东京热男人的天堂| 久久一区,青青青青草视频在线播放| 综合夜夜| 91美乳| 国产一区免费午夜视频| 99RE在线视频精品,这里只有精品| 久久精品国产精品一区| 亚洲色图欧美色图制服丝袜| 亚洲黄片免费在线播放| 91在线色| 日韩欧美tv一区二区在线观看| 欧美午夜视频| 五月婷婷丁香中文字幕| 国产精品禁久久久精品| 99爱视频| 84YTCOM性无码| 超碰天天久久79| 淫荡熟女乱伦网| 91在线国产后入风骚翘臀美女素人| 欧美疯狂做爰xxxx| 97色亚洲| 欧天美中出| 思思热免费视频观看| 好涩综合| 亚州再线| 精品国产久热在线观看| 九九亚洲| 一区二区三区成人| 超碰狠狠操| 偷拍偷窥与盗摄视频专区| 97亚洲欧美日韩| 妺妺跟我一起洗澡没忍住| 青青草一区二区高清无码视频 | 国产女人9999| 日本3级一区二区免费| 久久岛国| 久久久久久久极品香蕉视频| 飘花国产午夜精品不卡| 超碰欧美COM| 天天日日日射| 国产精品99久久久www| 天天日天天干天天操| 欧美色图91p| 亚洲天堂区| 日韩熟女乱伦中出| 女生久久网| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 成人小说另类在线| 91久热| 久久亚洲天天做| 婷婷九月色| 欧美黄色片在线播放| 欧美激情在线观看视频| 精品美女少妇一区二区三区| 天天爽天天| 性在久久久久久| 日本不卡二区| 精品视频一区二区| 亚洲综合伊人无码久久| 2019AV天堂| 九九av| A V视频日本| 91日韩| 欧洲自拍第一页| 日本A级视频| 狠狠色综合网| 精品在线观看视频在线| 国产精品直播在线观看直播| 欧美日韩亚洲少妇寂寞影院正在播放| 国产高清不卡视频| 你操综合| 五月丁香六月| 留下AⅤ黄色片| 免费av在线播放二区| 9久久久久久| 久久久成人精品| 91伊人大香蕉| 中文字幕一区 二区三四五 区日 日骚| 婷婷五月天激情网| 狠狠色狠狠色狠狠五月| 色欲久久久久综合网| 麻豆精品一区二区三区四区免费观看| 草B在线| 福利五区| 久欲AV| 97免费视频在线观看视频| www.高清无码诱惑一区.com| 黑人中出21连凳花野真衣| 射 色综合| 精品国产少妇高潮视频| 东京日日夜夜| 91在线欧色| 亚洲国产精品乱码在线观看| 国产激情视频在线观看| 麻豆尤物视频网| 亚州,欧美在线| 婷婷性网| 啊啊啊无码| 蜜臀久久99精品久久久久久无删减| 亚洲精品欧洲色| 激情一区二区| 伊人天天久久动态图| 高清孕妇孕交| 成人小说视频在线精品欧美| 久久久久久电影| 亚洲囯产精品女人久久久| 2019久久久久久久久福利| 日韩欧美中文| 亚洲精品日日夜夜52| 99久久久久| 91xingse| 97久久免费| 久久9999 | 偷拍亚洲熟女视频播放| 操高情无码| 日韩精品一区的| 男人天堂一区二区| 日韩精品三区四区| www.AV有限公司一区| 91劲爆| 97摸视频| 激情综合婷婷| 97欧美精品综合| 久久视频,这里只有精品| 97亚洲自在精品在线观看| 好爽视频在线观看视频 | 91精品电影18| 天天舔天天日天天射| 久草综合网| 免费无码婬片AAAA片直播色戒| 久久社区一区二区三区| 操人91| 麻豆AV96熟妇人妻| 超碰色大香蕉| 日韩视频精品在线观看| 亚洲欧洲网站免费观看| 国产久久日韩网站导航| av影院十区| 成人26uuu| 91一起操| 最新中文字幕av| 亚洲精品国产拍免费91在线| 国产乱伦亚洲色图高清无码| 狠狠综合网| 二对二中文字幕。| 大奶的诱惑| 精品v日韩欧美国产| 天天日日舔舔| 国产精品另类一区大香蕉| 91大神精品长腿在线观看网站| 免费一级欧美片片线观看| 91美乳| 超碰人妻久久| 嫖老熟女A片一二三区| 丝袜综合色图| 嗯嗯啊啊好爽| 日本日皮视频逼| 伊人久久大香蕉线AV五月天| 亚洲日韩电影| 亚洲精品成人激情在线| 亚洲Av噜噜一区二区三区妖精| 亚州男人天堂| 久久香蕉影院| 91精品人妻五十路| 国产Aα| 少妇天堂网络| 日本一级真人黄色性爱视频| 日本高清久久| 久久久三区二区一区| 国产操伦| 中出789在线视频| 84YTCOM性无码| 久久婷婷五月| 青娱乐91| A片 AV一级在线播放观看免费| 99re69综合| 思思久热在线精品66| 亚洲精品99| 久久9久久| 九九综合久久| 国产超碰97| 天天躁日日躁XXXXYY| 人妻超碰青青草98| 精品亚洲国产成人精品| 欧美暴力猛交| 日本精品网站在线中文| 日韩精品99久久久久久中文字幕| 欧美日韩在线视频网站| 一区二区久久天天干狠狠| 青青色在线观看| 国产精品女同| 三男一女不戴套的A片| 97超碰日韩| 日韩AV片| 操逼操逼操| 少妇与黑人高潮在线| AV一起草在线| 1二区9| 韩国黄片aaaa| 四虎884| 天天色粽合合合合合合合| 国产熟女无套内射| 台湾佬中文娱乐自偷自拍| 91AV入口| 天天综合麻豆视频| 色婷婷色99国产综合精品| 中文字幕视频二区| 美日韩一卡二卡三卡免费人妻精品| 可免费观看的av毛片中日美韩| 2025亚洲男人天堂| 国产啊v在线免费播放| 天堂精品| 黄页18禁| 免费的很黄很污的全部视频| 天天在线91| 91亚洲黑人| 第四色奇米影视777| 91少妇通奸网站| 99这里有精品| 99亚洲国产精品色一区二区三区| 欧美暴力猛交| 婷婷伊人綜合中文字幕| 日韩视频中文字幕| 欧美国产成人在线| 久久女婷| 欧美大波激情xxxx| 亚欧美色图| 天天操天天射青青草| 岛国黄| 久久春色| 老熟妇一区二区三区啪啪| 天天插天天射| 中文字幕AV乱伦| 综合网少妇| 麻豆福利视频导航| 91久久久久久久| 美女操逼A A| 婷婷人妻激情| 国产成人主播| 精品妇女一区二区三区| 国产高清在线观看欧美| 大香蕉78| 夜夜精品视频一区二区| 超碰97资源中文字幕| 国产精品亚洲免费| 久久精品国产亚洲AV高清演员表| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 另类TS人妖一区二区三区| 美女被艹尤物视频| 久久 国产 无码| 麻豆91熟妇人妻中文字幕茄子| baiduhicn.com。| 精品国产乱码久久久久久久久1| 亚洲国产成人福利在线观看| 亚洲色图欧美色图另类图片| 久久久精品九| 秋霞午夜视频一区二区| 天天狠| 99精品久久久久久久婷婷蜜桃| 国产精品视频自拍在线| 久久区| 亚洲精品九九九九九九| 热久久99999| 一区二区三区国产精产| 亚洲第一综合| 免费观看啪视频| 成人福利视频网| 久久社区一区二区三区| 性色AV蜜色av色欲av| 亚洲图片日本AⅤ欧美在线| 日本精品久久久久久久| 99re9这里只有精品| 国产剧情一区在线观看| 女人高潮抽搐喷水视频网站| 国产区91柔拿会所技师| 99这里只有精品国产| 97日韩| 精品欧美乱码久| 夜夜夜夜久久久久| 97久久超碰亚洲| 人妻无码一区二区三区久久99| 麻豆 亚洲 97| 日本欧美色| 欧美日本天堂| 欧美韩国你懂得在线 | 亚洲色婷婷久久久综合日本| 亚洲天堂电影网99999| 无码人妻毛片丰满熟妇精品区| 精品一区二区三区蜜桃臀www| surenchaopeng| 和协影院中文字幕三区| 色欲色香天天天综合网www-亚洲综合国| 一区二区三区四区姦女| 久久欧洲| 免费成人在线熟妇网| 国产欧美黑人丰满在线| 91国内外在线| 日韩欧美蜜桃精品久久中文字幕久久 | 麻豆久久久久久久久丝袜| 99999精品视频| 哈哈操电影AV| 性生活无遮挡纯毛片在线看| 香蕉免费一区二区三区不读| 男人的天堂久久狠| 疯操AV| 欧美色图20P| 人妻久久一区二区三区 | 国产精品视频一区二区三区八戒| 久久精品国产亚洲AV高级北京| 久久99精品国产| 超碰在线第一页| 色噜噜日韩精品| 亚洲天堂男人网| 亚洲欧洲中文日韩女优乱码| 一线黄色免费性爱片| 日韩中文字幕视频在线观看| 五月婷婷激情网| 色女综合| 一区二区三区四区在线不卡| 加勒比海人人操超碰在线| 欧美亚洲| 一本一道波多野毛片中文在线| 亚洲图片偷拍视频区| 色999人与兽| 亚洲欧美精品久| 精品女同一区二区三区| 日韩兔费看黄片| 99re公开精品免费视频 | 国产精品96| 在线a v| 婷婷五月在线视频| 神马久久网| 国产丁香精品露脸视频| 老司机午夜精品视频| h无码动漫在线观看| 无码免费一区二区三区啪啪| 香蕉久久精品| 超碰97男女| 亚洲国产婷婷在线播放| 蜜桃久久综合视频| 91丝袜美腿片| 日少妇视频| 97国产高清视频在线观看| 欧美日不卡| 天天综合麻豆视频| 水多多映视AV| 蜜桃无码AV一区二区| 女同性恋一区二区三区精品视频| 欧美精品亚洲精品日韩传电影| 天堂v无码免费视频| 成人性爱电影一区二区| 日日夜夜青青草母狗| 高清无码人妻久久久一区二区三区aⅴ| 涩涩涩综合| 91人妻人人妻| 97神马久久| 黄片无码在线制服| 久久有碼| 久久这里只有精品9| 十八禁一区二区无码观看| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 久草网站免费在线观看| 青青草视频爽一爽| 99热这里都是精品| 十八禁成人网站在线观看| 国产白嫩精品久久| 亚洲欧美日韩不卡人妻| 久久国内| 丝袜av一区二区三区| 久久精品国产精品一区| 五月天丁香| 国产9熟妇视频网站| 成人八戒网站| 乱久久久| 日韩三A大片在线观看| 看看小穴| 精品78| 99这里只有精品| 密臀在线视频| 男女一级A片大黄,一进一出| 精品无码产区一区二| 国产理论视频在线播放| 欧洲与亚洲欧美精品中文字幕| av毛片aaaaa免费看| 色999人与兽| 嗯嗯啊啊好爽| 精品人人| 中文字幕蜜乳av| 精精夜夜| 亚欧无码线免费观看视频| 欧美久久草熟女| 精品无码秘 人妻一区二区| 麻豆2区1区天美| 亚洲视频中文一区| 在线综合 亚洲 欧美中文字幕| 乱伦熟女论坛| 色女99一级片在线观看| 欧美特大AA级黄片| 九九亚洲精品| 综合久久久久久久综合网| 欧美天堂第二区| 强奸乱伦中文字幕AV| 中字一区| 免费视频a级毛片免费视频| 麻豆天天躁天天揉揉AV| 99精品在线| 啊啊嗯嗯好爽| 男插女青青影院| 性色生活片久久毛片婬片免费放女人一级毛片 | 亚洲成人妻日韩在线| 九月丁香综合网| 天堂亚洲欧美| 色噜噜国产在线| 国产乱伦性爱区| 蜜桃臀一区二区三区久久| 99热综合| 18禁止看精品中文字幕| 欧美在线视频播放| 丁香九月激情| 可免费观看的av毛片中日美韩| 日韩激情视频| 操逼网站地址| 欧美男人天堂| 国产亚洲日本| 99只有精品| 免费福利视频中文字幕| 五月天人妻综合| 欧美熟爽综合| 18禁网站在线播放| 超碰97综合| 麻豆国产成人精品| 婷婷五月天成人网| 99re热有精品视频国产| 九九五月天| 天堂精品小草| 亚洲中文字幕av| 成人无码在线视频网站| 91天天爽| 啊啊啊97视频| 婷婷久久网| 国产久久成人| 成人性交午夜免费片| 97天天弄| 人妻加勒比东京热| 亚洲AV无码黄色强奸| 亚洲色欧美| 亚洲成人在线资源| 九九英色视频| 日日日日日| 久久久亚洲欧美综合| J?P?NESEHD熟女熟妇伦| 蜜桃午夜视频一区二区 | 91爱看| 亚洲一区二区三区久久 亚洲一区二区| 精品欧美А∨无码黑人大荫蒂| www.91视频网| 97视频新免费| 色婷婷综合久久久久中文一区二区| 国产一区二区三区影片| 台湾佬中文娱乐网久久久久久久久久com | 无套内射性感少妇视频| 激情 欧美 亚洲 小说| www.91视频网| 亚洲综合一| 日本丝袜美腿人妻九九| 亚洲激情久久| 亚洲黄网在哪免费看| 最新国内自拍av免费| 久久久久久久久久9| 乱色老一区二区三区的观看方式 | 大香蕉一区二区在线观看.| 亚洲日韩美女丝袜美腿人妻视频| 欧美激情黑人| 激情四射五月天| 狠狠操一区二区| 亚洲日本男人天堂网| 国产91美女高潮| 成人精品在线观看| 天天色综合天天操| 亚洲国产一级精品毛一级精品看免费视频| yaouchengrenav| 日日夜夜精品视频| 日夜伊人网| 青娱乐91| 人妻少妇精品视频一区二区三区| 呻吟 欧美 日本 中出| 观看免费区二区三区二| 欧美狠狠操| 大香蕉碰| 中文字幕啊啊啊在线观看视频| 在线可观看的黄色网址| 久久成人午夜精品影院 | 粉嫩绯色AV一区二区在线| 萌白酱自拍视频| 一线黄色免费性爱片| www.99中文字幕| 熟女精品va中文字幕| 黄色在线网站| 欧美性爱www免费版| 2021久久国产综合精品青草| 看一级特黄a大一片| 成年女人黄网站| 思思热国产在线视频| 亚洲成熟国产精品美女| 伊人女女资源在线观看| 欧美综合区| 色婷婷久久| 大香蕉伊利av| 97日视频| 91色s| 日曰骚久久精品| 日本色日夜干|