久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

輕量級(jí)實(shí)時(shí)事件聚合器rea:用Python構(gòu)建實(shí)時(shí)監(jiān)控與告警系統(tǒng)

輕量級(jí)實(shí)時(shí)事件聚合器rea:用Python構(gòu)建實(shí)時(shí)監(jiān)控與告警系統(tǒng) 如果你在做后端或者數(shù)據(jù)系統(tǒng)相關(guān)的工作大概率遇到過(guò)這種狀態(tài)服務(wù)上線了一堆日志散落在各個(gè)角落報(bào)表永遠(yuǎn)是第二天的領(lǐng)導(dǎo)或者運(yùn)營(yíng)突然問(wèn)一句“現(xiàn)在支付成功率是多少”你只能打開(kāi)幾個(gè)終端去數(shù)日志。我去年在某公司內(nèi)部就折騰了這樣一個(gè)小項(xiàng)目名字就叫rea全稱(chēng)是Real-time Event Aggregator實(shí)時(shí)事件聚合器。rea 做的事不復(fù)雜把不同服務(wù)產(chǎn)生的結(jié)構(gòu)化事件統(tǒng)一收上來(lái)按業(yè)務(wù)規(guī)則做實(shí)時(shí)窗口聚合算出大家關(guān)心的指標(biāo)再在指標(biāo)異常時(shí)把消息推給負(fù)責(zé)人。文章后面我準(zhǔn)備把整個(gè)項(xiàng)目從需求拆解、架構(gòu)設(shè)計(jì)、核心實(shí)現(xiàn)到踩坑記錄完整講一遍如果你正在做數(shù)據(jù)采集、監(jiān)控看板或者想自己搭一套輕量級(jí)實(shí)時(shí)處理管線這里面的思路和代碼應(yīng)該能直接參考。1. 項(xiàng)目背景與需求拆解為什么會(huì)有 rea1.1 最初的痛點(diǎn)數(shù)據(jù)很多答案很少項(xiàng)目開(kāi)始前我面對(duì)的情況很典型。支付鏈路的成功率算不出來(lái)實(shí)時(shí)值因?yàn)橹Ц妒录诮灰追?wù)扣款結(jié)果在賬務(wù)服務(wù)前端埋點(diǎn)在客戶(hù)端三個(gè)地方的數(shù)據(jù)分散在不同的存儲(chǔ)里。運(yùn)營(yíng)想第二天看數(shù)據(jù)數(shù)據(jù)分析那邊要凌晨跑批任務(wù)等結(jié)果出來(lái)已經(jīng)是早上六七點(diǎn)。而當(dāng)時(shí)最常被問(wèn)到的問(wèn)題恰恰都是“現(xiàn)在怎么樣”現(xiàn)在下單成功率是多少、現(xiàn)在告警數(shù)多不多、新版功能上線后點(diǎn)擊率有沒(méi)有變化。我以前也做過(guò)一些臨時(shí)腳本從日志文件里 grep 關(guān)鍵詞再用時(shí)間戳統(tǒng)計(jì)。這種辦法在請(qǐng)求量小的時(shí)候勉強(qiáng)能用但事件一多就亂了而且每次都要重新寫(xiě)一遍解析邏輯完全沒(méi)有積累。說(shuō)到底不是沒(méi)有數(shù)據(jù)是缺一條能實(shí)時(shí)匯總結(jié)論的鏈路。rea 的核心訴求就是把“散落的事件”變成“實(shí)時(shí)的指標(biāo)”。1.2 需求收斂三個(gè)核心能力項(xiàng)目一開(kāi)始很容易貪大想一個(gè)系統(tǒng)搞定采集、清洗、計(jì)算、存儲(chǔ)、展示、告警、權(quán)限管理。后來(lái)我把需求砍到只保留真正要用的三塊第一統(tǒng)一接入。所有來(lái)源的事件不管原來(lái)是日志、HTTP 回調(diào)還是消息隊(duì)列里的數(shù)據(jù)都通過(guò)同一個(gè)協(xié)議進(jìn)入 rea統(tǒng)一成一種結(jié)構(gòu)。這一步解決了“多系統(tǒng)重復(fù)對(duì)接”的麻煩。第二實(shí)時(shí)聚合。對(duì)特定事件按時(shí)間窗口做計(jì)數(shù)、求和、平均、去重、分位數(shù)等計(jì)算窗口能精細(xì)到 10 秒或 1 分鐘級(jí)別結(jié)果要能立刻查到。第三規(guī)則告警。預(yù)設(shè)閾值比如“最近 5 分鐘支付失敗率大于 10%”一旦命中就通過(guò) webhook 推到團(tuán)隊(duì)群里替代人工盯日志。查詢(xún)展示是后加的但很輕量只做了一個(gè)簡(jiǎn)單的指標(biāo)接口讓運(yùn)營(yíng)那邊能用表格工具拉數(shù)。當(dāng)時(shí)如果加太多權(quán)限、審計(jì)、多租戶(hù)的需求項(xiàng)目大概率會(huì)爛尾。小團(tuán)隊(duì)做內(nèi)部工具先把主鏈路打通比什么功能都重要。1.3 技術(shù)選型思考為什么不直接上重型方案討論方案時(shí)難免有人提議用現(xiàn)成的流處理框架加時(shí)序數(shù)據(jù)庫(kù)再配一套監(jiān)控告警組件。不能說(shuō)這個(gè)思路不對(duì)但對(duì)當(dāng)時(shí)的數(shù)據(jù)規(guī)模不劃算。每天事件量在幾百萬(wàn)條級(jí)別規(guī)則只有十幾條團(tuán)隊(duì)就兩三個(gè)人還需要同時(shí)維護(hù)多個(gè)節(jié)點(diǎn)學(xué)習(xí)成本和運(yùn)維成本反而吞掉了業(yè)務(wù)收益。rea 走的是一條中間路線用輕量消息中間件接收事件用 Python 做聚合邏輯用內(nèi)存存儲(chǔ)保存近期窗口結(jié)果定期把快照和明細(xì)落到磁盤(pán)。這樣的組合勝在簡(jiǎn)單一個(gè)進(jìn)程就能跑起來(lái)出現(xiàn)問(wèn)題我能直接看代碼定位不需要翻一堆分布式系統(tǒng)的日志。我列過(guò)一個(gè)對(duì)比也貼在當(dāng)時(shí)的方案文檔里對(duì)比維度重型方案rea 輕量方案部署節(jié)點(diǎn)數(shù)至少 5 個(gè)以上1 個(gè)主進(jìn)程學(xué)習(xí)成本需要理解流處理概念和運(yùn)維細(xì)節(jié)只需掌握 Python 和基礎(chǔ)隊(duì)列擴(kuò)展能力適合每天億級(jí)事件百萬(wàn)級(jí)事件夠用故障排查涉及多組件協(xié)調(diào)鏈路長(zhǎng)單進(jìn)程日志清晰迭代速度改一行邏輯可能要重新提交任務(wù)改完重啟即可這個(gè)選擇的核心邏輯是控制復(fù)雜度先把業(yè)務(wù)問(wèn)題解決掉。如果將來(lái)事件規(guī)模漲到億級(jí)再遷到重型架構(gòu)也不遲而且遷移時(shí)聚合規(guī)則和告警邏輯是可以原樣帶過(guò)去的。2. 整體架構(gòu)設(shè)計(jì)從一個(gè)采集口到完整處理管線2.1 模塊劃分與數(shù)據(jù)流向rea 的架構(gòu)沒(méi)有特別玄乎數(shù)據(jù)流是單向的接入端收到事件經(jīng)過(guò)校驗(yàn)和規(guī)范化放進(jìn)一個(gè)有界隊(duì)列聚合進(jìn)程從隊(duì)列里取事件按事件名和維度分組更新對(duì)應(yīng)時(shí)間窗口的累加值規(guī)則引擎定時(shí)掃描窗口狀態(tài)命中閾值就觸發(fā)告警查詢(xún)接口直接讀窗口狀態(tài)返回近實(shí)時(shí)指標(biāo)。展開(kāi)成模塊就是五個(gè)部分接入適配器、事件隊(duì)列、聚合內(nèi)核、規(guī)則引擎、存儲(chǔ)與查詢(xún)。接入適配器負(fù)責(zé)把不同來(lái)源的數(shù)據(jù)格式轉(zhuǎn)成統(tǒng)一事件事件隊(duì)列起到緩沖作用避免瞬時(shí)流量沖垮聚合端聚合內(nèi)核是核心后面重點(diǎn)講規(guī)則引擎不參與計(jì)算只做判斷存儲(chǔ)層管窗口狀態(tài)的快照和查詢(xún)。我特意沒(méi)有引入外部存儲(chǔ)依賴(lài)來(lái)存每條原始事件只在內(nèi)存里維護(hù)聚合狀態(tài)。因?yàn)橹笜?biāo)計(jì)算需要的是窗口內(nèi)的匯總值不是每條明細(xì)明細(xì)另外落一份磁盤(pán)文件就夠了平時(shí)沒(méi)有人會(huì)去逐條查。2.2 數(shù)據(jù)接入層統(tǒng)一協(xié)議與適配器接入層要解決的核心問(wèn)題是格式混亂。有的服務(wù)發(fā) JSON有的發(fā)純文本日志有的通過(guò)回調(diào)帶一串加密參數(shù)。rea 的做法是定一個(gè)內(nèi)部標(biāo)準(zhǔn)事件結(jié)構(gòu)所有外部數(shù)據(jù)都通過(guò)適配器轉(zhuǎn)換成標(biāo)準(zhǔn)結(jié)構(gòu)。標(biāo)準(zhǔn)事件包含五類(lèi)字段事件名、發(fā)生時(shí)間、來(lái)源服務(wù)、維度標(biāo)簽、數(shù)值。事件名決定算哪類(lèi)指標(biāo)維度標(biāo)簽用于拆分統(tǒng)計(jì)數(shù)值用于求和或平均。這樣設(shè)計(jì)有一個(gè)好處新接入一個(gè)數(shù)據(jù)源時(shí)只需要寫(xiě)一個(gè)適配器函數(shù)不需要改聚合邏輯。之前新業(yè)務(wù)接入平均半天就能完成大部分時(shí)間花在溝通字段含義上而不是寫(xiě)代碼。2.3 聚合內(nèi)核為什么不用每條事件都寫(xiě)庫(kù)聚合最忌諱的做法是每來(lái)一條事件就寫(xiě)一次數(shù)據(jù)庫(kù)。之前我用關(guān)系表做過(guò)一版每秒一千條事件時(shí)數(shù)據(jù)庫(kù)寫(xiě)并發(fā)就把服務(wù)拖垮了。后來(lái)改成窗口預(yù)聚合事件只寫(xiě)內(nèi)存窗口關(guān)閉時(shí)才把匯總結(jié)果寫(xiě)一次。具體做法是用事件名和維度組合作為桶的 key每個(gè)桶里保存若干時(shí)間窗口的累加值。比如一個(gè)桶 key 可能是pay_result:pay_success:dcsz同一秒內(nèi)所有到達(dá)事件累加到一個(gè)計(jì)數(shù)器上。查詢(xún)時(shí)直接取桶內(nèi)當(dāng)前窗口的值不用掃描明細(xì)。這條思路其實(shí)就是流式聚合里的“增量更新”rea 只是用最簡(jiǎn)單的方式實(shí)現(xiàn)了它。2.4 存儲(chǔ)與查詢(xún)熱數(shù)據(jù)在內(nèi)存快照落磁盤(pán)窗口聚合結(jié)果屬于熱數(shù)據(jù)讀取頻繁且過(guò)期很快放在內(nèi)存里最合適。rea 用一個(gè)全局字典保存所有桶的窗口狀態(tài)字典的 key 是維度組合value 是窗口數(shù)組。窗口過(guò)期后不是立刻刪除而是把它轉(zhuǎn)成一行匯總記錄寫(xiě)入磁盤(pán)上的日志文件方便以后按小時(shí)回看。查詢(xún)接口讀取內(nèi)存字典返回當(dāng)前窗口的指標(biāo)值。如果某個(gè)維度組合沒(méi)有數(shù)據(jù)接口返回空而不是報(bào)錯(cuò)這樣在看板工具里顯示成 0 或 null 都由前端決定。存儲(chǔ)層的核心取舍是為查詢(xún)速度犧牲少量一致性。重啟或崩潰時(shí)最多丟幾秒窗口數(shù)據(jù)對(duì)業(yè)務(wù)影響可以接受。3. 關(guān)鍵技術(shù)細(xì)節(jié)與實(shí)現(xiàn)3.1 統(tǒng)一事件模型字段與約定rea 的事件模型長(zhǎng)這樣{ event_name: pay_result, occurred_at: 1727600000000, source: trade-service, dimensions: { result: pay_success, dc: sz }, value: 1, trace_id: 8f3a2b }event_name 用“業(yè)務(wù)動(dòng)作”而不是“日志級(jí)別”來(lái)命名比如 pay_result、order_created、button_click。occurred_at 使用毫秒級(jí) UTC 時(shí)間戳這是整個(gè)系統(tǒng)統(tǒng)一時(shí)間的基礎(chǔ)。dimensions 是維度標(biāo)簽的集合聚合時(shí)會(huì)把整個(gè) dimensions 字典序列化后拼進(jìn)桶 key這意味著不同維度組合會(huì)獨(dú)立計(jì)算互不干擾。value 默認(rèn)是 1如果需要統(tǒng)計(jì)金額就傳具體數(shù)值。時(shí)間戳有一個(gè)容易被忽略的細(xì)節(jié)客戶(hù)端和服務(wù)端時(shí)鐘可能不一致。如果客戶(hù)端提前兩秒上報(bào)按處理時(shí)間統(tǒng)計(jì)會(huì)落到錯(cuò)誤的窗口。rea 統(tǒng)一用 occurred_at 作為事件時(shí)間處理進(jìn)程只負(fù)責(zé)記賬不負(fù)責(zé)打時(shí)間戳。3.2 窗口聚合算法滾動(dòng)窗口與滑動(dòng)窗口窗口是實(shí)時(shí)聚合的基本單位。我實(shí)現(xiàn)了兩種窗口。滾動(dòng)窗口最直觀固定時(shí)間長(zhǎng)度比如每分鐘一個(gè)桶。實(shí)現(xiàn)上依賴(lài)取整函數(shù)把 occurred_at 除以窗口毫秒數(shù)再取整就得到窗口序號(hào)同一個(gè)窗口序號(hào)的事件歸到同一批。代碼如下def window_key(event_time_ms: int, window_ms: int) - int: return event_time_ms // window_ms滑動(dòng)窗口更復(fù)雜一點(diǎn)比如“最近 5 分鐘”每秒滑動(dòng)一次。如果每個(gè)窗口都單獨(dú)存一份累加值內(nèi)存消耗會(huì)很大。rea 的簡(jiǎn)化做法是維護(hù)一個(gè)按秒拆分的數(shù)組長(zhǎng)度等于窗口秒數(shù)每秒一個(gè)計(jì)數(shù)器。計(jì)算窗口總量時(shí)把數(shù)組里所有元素相加而不是存多份窗口狀態(tài)。class SlidingWindow: def __init__(self, window_seconds300): self.buckets [0] * window_seconds self.window_seconds window_seconds def add(self, occurred_at_ms: int, delta: float): idx (occurred_at_ms // 1000) % self.window_seconds self.buckets[idx] delta def total(self) - float: return sum(self.buckets)這個(gè)實(shí)現(xiàn)把內(nèi)存占用壓到最低代價(jià)是總量計(jì)算需要遍歷數(shù)組。窗口切成 300 個(gè)一秒桶時(shí)每次求和是 300 次加法在百萬(wàn)級(jí)事件下完全可接受。3.3 事件亂序與遲到數(shù)據(jù)用延遲緩沖兜底分布式環(huán)境下事件亂序是必然的。A 服務(wù)先發(fā)出事件但因?yàn)榫W(wǎng)絡(luò)重試比 B 服務(wù)的事件晚到如果直接按事件時(shí)間累加窗口狀態(tài)就會(huì)出現(xiàn)偏差。rea 的解決方案是一個(gè)簡(jiǎn)單的延遲緩沖器接收到事件后先不立刻累加而是放進(jìn)一個(gè)按事件時(shí)間排序的待處理列表停留 2 秒。如果事件遲到時(shí)間小于緩沖就能歸到正確的窗口。大于緩沖時(shí)間的遲到事件會(huì)單獨(dú)進(jìn)入“l(fā)ate_events”計(jì)數(shù)器。這樣做不是完美方案但能覆蓋大部分亂序情況。想完全處理亂序需要引入水印機(jī)制和更復(fù)雜的窗口觸發(fā)邏輯對(duì)這些規(guī)則的場(chǎng)景來(lái)說(shuō)不劃算。3.4 狀態(tài)快照與恢復(fù)重啟不丟全部狀態(tài)聚合狀態(tài)全在內(nèi)存進(jìn)程一重啟就全沒(méi)了這不滿足實(shí)用性要求。rea 實(shí)現(xiàn)了兩個(gè)輔助機(jī)制窗口快照和事件日志。窗口快照每隔 30 秒全量把內(nèi)存字典寫(xiě)入本地文件文件名帶時(shí)間戳。事件日志則是把進(jìn)入聚合內(nèi)核的每一條事件追加寫(xiě)入一個(gè)滾動(dòng)文件。重啟時(shí)先加載最近一個(gè)快照再重放快照之后的事件日志就能恢復(fù)到接近實(shí)時(shí)狀態(tài)。這個(gè)機(jī)制有點(diǎn)像數(shù)據(jù)庫(kù)的 checkpoint binlog只不過(guò)做得粗糙直接。實(shí)際操作中我一般直接手動(dòng)重啟恢復(fù)時(shí)間控制在幾秒內(nèi)。涉及丟失的數(shù)據(jù)最多是快照之后、重啟之前到達(dá)的少量事件業(yè)務(wù)上能容忍。4. 實(shí)操過(guò)程從零搭起一套最小可用 rea4.1 環(huán)境準(zhǔn)備與依賴(lài)選擇rea 原型只用 Python 標(biāo)準(zhǔn)庫(kù)加一個(gè)輕量 HTTP 處理模塊沒(méi)有引入復(fù)雜的流處理框架。要做到快速?gòu)?fù)現(xiàn)你需要 Python 3.10 以上環(huán)境能跑python -m http.server就行。我建議再準(zhǔn)備一個(gè)本地目錄存快照和事件日志后續(xù)查看調(diào)試方便。因?yàn)椴幌胱屧鸵蕾?lài)太多外部服務(wù)消息隊(duì)列我用一個(gè)簡(jiǎn)單的內(nèi)存有界隊(duì)列代替。生產(chǎn)環(huán)境可以換成成熟的消息中間件但對(duì)驗(yàn)證流程來(lái)說(shuō)不影響核心邏輯。4.2 定義配置與規(guī)則rea 的配置分為兩塊全局配置和規(guī)則配置。全局配置定義端口、窗口大小、快照間隔。規(guī)則配置定義監(jiān)控什么事件、按什么維度聚合、觸發(fā)什么條件。規(guī)則我設(shè)計(jì)成 JSON方便接入方自己改。{ rules: [ { name: pay_failure_rate_5min, event_name: pay_result, window_seconds: 300, metric: rate, condition: 0.10 } ] }規(guī)則里 metric 支持 count、sum、avg、rate。rate 會(huì)先算出窗口內(nèi)失敗數(shù)除以總數(shù)再和閾值比較。寫(xiě)規(guī)則時(shí)最關(guān)鍵的是想清楚窗口大小太短容易誤報(bào)太長(zhǎng)反饋慢我通常建議從 5 分鐘起步再微調(diào)。4.3 核心代碼實(shí)現(xiàn)下面是一個(gè)濃縮版的核心實(shí)現(xiàn)只保留接入、聚合、規(guī)則判斷三塊邏輯。import json import time import threading from collections import defaultdict from http.server import BaseHTTPRequestHandler, HTTPServer class WindowAggregator: def __init__(self, window_seconds300): self.window_seconds window_seconds self.counters defaultdict(lambda: defaultdict(float)) self.lock threading.Lock() def add(self, event): event_name event[event_name] dim_key json.dumps(event.get(dimensions, {}), sort_keysTrue) bucket event[occurred_at] // 1000 // self.window_seconds with self.lock: self.counters[event_name][dim_key][bucket] event.get(value, 1) def snapshot(self): with self.lock: return json.dumps(self.counters)這個(gè)類(lèi)把事件累加到對(duì)應(yīng)窗口桶。注意并發(fā)安全HTTP 線程和聚合線程同時(shí)訪問(wèn) counters所以加了一把鎖。規(guī)則引擎負(fù)責(zé)掃描窗口狀態(tài)class RuleEngine: def __init__(self, rules, aggregator): self.rules rules self.aggregator aggregator def evaluate(self): now time.time() * 1000 current_bucket now // 1000 // self.aggregator.window_seconds for rule in self.rules: event_name rule[event_name] dim_key rule.get(dim_key) for dims, buckets in self.aggregator.counters.get(event_name, {}).items(): if dim_key and dim_key ! dims: continue total sum(v for k, v in buckets.items() if k current_bucket) if rule[metric] count and total rule[threshold]: print(ftrigger rule: {rule[name]})這里為了展示邏輯閾值直接通過(guò)參數(shù)簡(jiǎn)化了實(shí)際項(xiàng)目里應(yīng)當(dāng)從 JSON 配置讀取。接入 HTTP 服務(wù)使用標(biāo)準(zhǔn)庫(kù) BaseHTTPRequestHandler接口路徑/collect接收 POST JSON 事件。收到后解析、校驗(yàn)、轉(zhuǎn)為標(biāo)準(zhǔn)事件放進(jìn)隊(duì)列。聚合線程每秒從隊(duì)列取一批事件調(diào)用 aggregator再執(zhí)行規(guī)則評(píng)估。4.4 模擬數(shù)據(jù)與結(jié)果驗(yàn)證為了驗(yàn)證鏈路我寫(xiě)了腳本模擬一萬(wàn)次支付事件其中失敗事件約 300 次每次事件隨機(jī)分布在 5 分鐘內(nèi)。模擬完成后調(diào)用指標(biāo)接口返回五個(gè)窗口的失敗率和我預(yù)設(shè)的概率基本一致。整個(gè)處理流程耗時(shí)約 2.8 秒內(nèi)存占用不到 50MB說(shuō)明這套輕量方案在小規(guī)模數(shù)據(jù)下完全跑得動(dòng)。壓測(cè)數(shù)據(jù)如下事件總量處理耗時(shí)峰值內(nèi)存16 核 CPU1 萬(wàn)2.8 秒45 MB~5%10 萬(wàn)26.1 秒168 MB~12%100 萬(wàn)約 5 分鐘1.1 GB~35%一百萬(wàn)條時(shí)內(nèi)存接近 1GB原因是窗口桶和維度 key 數(shù)量多。這是純 Python 實(shí)現(xiàn)的正常表現(xiàn)對(duì)于內(nèi)部工具是可接受的。如果數(shù)據(jù)量再漲第一件要做的事不是優(yōu)化代碼而是加維度基數(shù)限制。5. 常見(jiàn)問(wèn)題與排查實(shí)錄5.1 事件積壓寫(xiě)入慢拖垮消費(fèi)原型上線后遇到第一個(gè)問(wèn)題是事件積壓。HTTP 接口收到事件后直接落日志文件每一條都觸發(fā)一次磁盤(pán)寫(xiě)入壓力一大處理線程消費(fèi)不過(guò)來(lái)隊(duì)列長(zhǎng)度持續(xù)增長(zhǎng)。后來(lái)把日志寫(xiě)入改成批量緩沖每攢夠 512 條或者間隔 1 秒才寫(xiě)一次問(wèn)題立刻緩解。排查這類(lèi)問(wèn)題的思路很簡(jiǎn)單先看隊(duì)列長(zhǎng)度是不是持續(xù)增長(zhǎng)如果是就分階段量每段的耗時(shí)。當(dāng)時(shí)量化結(jié)果是磁盤(pán)寫(xiě)入占了 80% 以上耗時(shí)改掉就好。如果你在自建系統(tǒng)建議第一時(shí)間就把“批量讀寫(xiě)”作為默認(rèn)設(shè)計(jì)不要寫(xiě)出逐條落盤(pán)的版本。5.2 數(shù)據(jù)亂序兩個(gè)服務(wù)的時(shí)間差引發(fā)誤統(tǒng)計(jì)我用一個(gè)模擬客戶(hù)端同時(shí)發(fā)送事件發(fā)現(xiàn)服務(wù) A 的事件總是比服務(wù) B 晚 3 秒。原因是 A 服務(wù)里的日志時(shí)間用的是本機(jī)時(shí)間該機(jī)器時(shí)鐘慢了 3 秒。結(jié)果按事件時(shí)間統(tǒng)計(jì)時(shí)部分事件被分到錯(cuò)誤窗口導(dǎo)致指標(biāo)時(shí)高時(shí)低。解決辦法分兩步客戶(hù)端統(tǒng)一改用 rea 下發(fā)的標(biāo)準(zhǔn)時(shí)間戳同時(shí)保留事件發(fā)生時(shí)間rea 內(nèi)部對(duì)遲到事件做延遲緩沖覆蓋網(wǎng)絡(luò)抖動(dòng)和輕微時(shí)鐘偏差。如果偏差超過(guò)幾分鐘再精確處理就不劃算了應(yīng)該直接從數(shù)據(jù)源修時(shí)鐘而不是在聚合層硬扛。5.3 內(nèi)存溢出維度基數(shù)失控事件里有一個(gè)維度叫request_id本來(lái)是想做鏈路追蹤但被誤加進(jìn)了聚合維度。每條請(qǐng)求的 request_id 都不同導(dǎo)致桶 key 數(shù)量飛速增長(zhǎng)內(nèi)存直接暴漲。這個(gè)問(wèn)題很隱蔽因?yàn)闇y(cè)試數(shù)據(jù)量小看不出問(wèn)題一上真實(shí)流量就暴露了。解決方法是兩招一是在規(guī)則配置里顯式聲明參與聚合的維度白名單不在白名單里的字段不拼進(jìn) key二是給桶數(shù)量設(shè)置上限超過(guò)上限時(shí)輸出告警而不是繼續(xù)建新桶。自那以后我對(duì)“維度基數(shù)”就特別敏感制定新規(guī)則前必須先問(wèn)一句這個(gè)維度會(huì)有多少個(gè)不同的值。5.4 窗口邊界時(shí)間取整帶來(lái)的誤差另一個(gè)經(jīng)典問(wèn)題是窗口邊界。假設(shè)窗口是 5 分鐘我用occurred_at / 1000 / 300取整剛好整點(diǎn) 12:00:00 的事件會(huì)被分到下一個(gè)窗口嗎不會(huì)整除邏輯是歸到當(dāng)前窗口。但查詢(xún)端展示時(shí)如果前端自己按“當(dāng)前時(shí)間 -5 分鐘”做聚合就跟 rea 的窗口錯(cuò)位了。這里我踩過(guò)坑之后總結(jié)了兩條約定所有時(shí)間顯示統(tǒng)一使用 UTC不能直接用本地時(shí)間拼字符串所有窗口的起止時(shí)間由 rea 接口返回前端只渲染不在查詢(xún)端二次計(jì)算窗口。跨天、跨小時(shí)的邊界問(wèn)題在統(tǒng)一時(shí)間基準(zhǔn)后基本都消失了。6. 落地效果與擴(kuò)展空間6.1 實(shí)際收益從十分鐘到五秒rea 上線之后最直觀的變化是業(yè)務(wù)方問(wèn)“現(xiàn)在怎么樣”時(shí)能在幾秒內(nèi)給出答案。支付成功率、錯(cuò)誤數(shù)、關(guān)鍵埋點(diǎn)點(diǎn)擊量這些指標(biāo)不再等第二天的報(bào)表。告警方面原來(lái)靠人工盯日志平均發(fā)現(xiàn)一次異常要十分鐘左右rea 把瓶頸壓到 5 秒級(jí)別而且直接在團(tuán)隊(duì)群推送比人肉監(jiān)控可靠得多。從成本上看這一整套系統(tǒng)只占一個(gè)低配容器每月資源開(kāi)銷(xiāo)可以忽略不計(jì)。對(duì)于兩三個(gè)人的小組rea 的投入產(chǎn)出比相當(dāng)高。它沒(méi)有解決所有數(shù)據(jù)問(wèn)題但解決了當(dāng)時(shí)最痛的那一個(gè)。6.2 可擴(kuò)展方向規(guī)則沉淀與多級(jí)聚合如果繼續(xù)演進(jìn)我會(huì)做三件事。第一把規(guī)則從 JSON 升級(jí)成可以熱加載的配置中心業(yè)務(wù)方自助提交規(guī)則不用每次改代碼重啟。第二增加多級(jí)聚合能力先按原始維度聚合再按省份、機(jī)房等上級(jí)維度合并這樣能省掉大量重復(fù)計(jì)算。第三把窗口結(jié)果定時(shí)導(dǎo)出到離線數(shù)倉(cāng)做趨勢(shì)分析讓實(shí)時(shí)指標(biāo)和歷史報(bào)表在同一套口徑下對(duì)齊。還有一個(gè)方向是預(yù)警自愈。告警觸發(fā)后自動(dòng)附帶最近十分鐘的趨勢(shì)圖鏈接甚至觸發(fā)一個(gè)預(yù)置的處置腳本比如限流或者切流量。這些能力并不難加因?yàn)榫酆蠣顟B(tài)已經(jīng)在內(nèi)存里了只是多一步動(dòng)作。6.3 個(gè)人體會(huì)簡(jiǎn)單系統(tǒng)也能解決真問(wèn)題做完 rea我最大的體會(huì)是不要總想著一步到位。當(dāng)時(shí)如果堅(jiān)持上全家桶方案大概率到現(xiàn)在還在調(diào)集群業(yè)務(wù)問(wèn)題一個(gè)都沒(méi)解決。反而是一個(gè)單進(jìn)程、代碼能一眼看穿的輕量系統(tǒng)實(shí)實(shí)在在跑了大半年。另外對(duì)實(shí)時(shí)系統(tǒng)的監(jiān)控、告警、恢復(fù)機(jī)制一定要在一開(kāi)始預(yù)留好位置。哪怕用最簡(jiǎn)單的日志打印、文件快照也比完全沒(méi)有強(qiáng)。我就是因?yàn)橐婚_(kāi)始沒(méi)有快照機(jī)制第一次重啟時(shí)全狀態(tài)丟失才回頭補(bǔ)的。如果讓我現(xiàn)在重新面對(duì)三個(gè)字母“rea”我還是會(huì)選同樣的路先想清楚要解決誰(shuí)的問(wèn)題用最小閉環(huán)跑通再讓系統(tǒng)隨著真實(shí)需求慢慢長(zhǎng)。很多系統(tǒng)不是死在性能上而是死在復(fù)雜度失控上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久精品国产久精国产| 熟妇在线视频一区二区| 激情婷婷黑人91| 丁香五月成人| 最新岛国大片| 精品欧美不卡在线播放| 亚洲美女精品九九视频| 不卡啪啪视频| 亚洲高清无码AAA久久久精品| 超碰色大香蕉| 91国产大片| 五月丁香综合啪啪| 欧美成人一区二区三区在线播放| 成人97人人超碰人人| 日本天堂在线播放| 后入人妻一区| 久久草大香蕉| 狠狠操狠狠插| 操逼无码一区| 三级日本一区二区三区| 亚洲天天更新| 亚洲脚交| 99在线啪| 91N综合在线| 精品国产www久久| 亚洲日韩电影| 亚洲双插| 天堂亚洲精品| 日韩av色图综合| 熟女视频久久| 蜜乳AV网址| 精品九九国产无码| 久久综合资源一区二区| 大香蕉免费3| av网站在线看| 夜夜夜夜久久久久| 噜噜噜噜久久久精品免费| 91爱看| 天天色综亚洲91污| 3028国产精品| 婷婷中文网| 国产黄色影片在线观看| 久久双插| 色欲无码人妻日韩欧美精品| 岛国黄| 色就色综合| 欧美片第一页| 人人人摸人人| av日韩国产一区二区| 97综合国产| 欧美在线啊啊| 亚洲人综合19| 男女啪啪网站免费视频| 国产女同在线观看视频| 爱妃国产亚洲视频中文字幕| 中文字幕视频在线观看| 黄片视频观看| 久久免费少妇| 国产91亚洲精品一区二区三区| 日韩九九九| 熟女少妇视频| 第四色奇米影视777| 国产中出内射一区二区| 欧美日韩亚洲天堂| 97色综合中文网| 中出后入| 久久久久久久| 欧美se综合| 九九九久千久久激情蜜桃在线看 | 超碰日韩人妻| 偷拍三区| 蜜臀少妇一区二区| 色综合久久888| 五月丁香啪| av天天在线观看| 天天精品| 色欲人妻一区二区在线| 97伪v| m欧洲一级午老| 91四海无码日韩欧美| 亚洲最新中文字幕免费| 99RE在线视频精品,这里只有精品| 日本久久久精品电影| 亚洲国产成人精品女人久久久| 97视频在线看| 人妻在线臀日韩| 欧美性91| 另类图片五月| 97啪啪| 最新AVzaixian| 亚洲第一页色网| 十八禁视频网站| 男人天堂无码| 91丨九色丨43老版熟女| 精品无码少妇| 亚洲欧美大| 欧美熟女丝袜| 欧美成人一区二区三区在线播放| 色婷婷婷五月天激情四射| TS人妖另类精品视频系列| 亚洲精品亚洲人成在线麻豆| 乱操乱伦AV| 人人乐大香蕉| 黄骗免费| 97免费视频在线| 98人妻精品一区二区色欲| 99久久婷婷| 麻豆尤物视频网| 国产精品一二三免费网站| 极品另类| 国产AV人人 夜夜人人澡| 色天使亚洲综合在线观看| 97玖玖人妻| 人人看人人爰人人操| 国产精品一二三| 人妻少妇久久久| 免费αV在线视频| 91在线免费观看处女| 台湾成人无码AV| 久久久无码精品人妻二区| 狠狠色噜噜狠狠狠狠狠色综合久久| 丰满人妻一区二区中文| 老女人爆菊| 精品v日韩欧美国产| 欧美97爱| 另类专区加勒比| 色噜噜婷婷| 外国91| 丁香7月婷婷| 国产99999久久精品| 熟妇熟女一区二三区| 91粉嫩萝控精品福利网站_精品影音先锋国 | 日韩av不卡在线看| 第四色奇米影视777| 免费无码婬片AAAA片直播色戒| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 欧美人与动性人交a| 国产乱婷婷精品二区三区| 97日本超碰综合| 天天看天天综合成人网| 97天天爽| 亚洲人妻熟妇三十三区| 日本一区二区电影网站| 殴美日韩m| 成人熟女视频一区二区三区| 综合色久欲| 欧美日韩插逼视频| 天堂8在线新版官网| 亚洲āv网址在线观看| 天天色欧美| 中文字幕99999| 亚洲 欧美 色图| 老色69| 国产中文大片资源中文字幕| AV网站高清无码在线观看| 中文字幕二区日韩天堂| 人人澡人人爽人人精品| 亚欧日韩成人| 伊色久人大在线| 偷拍 欧美 日韩| 91网亚洲| 91美女精品| 99re这里只有精品中心播放 | 人人色97| 欧美亚洲图片| 日韩欧美天堂| 操逼逼一区视频| 欧美人人AAA| 激情五月丁香五月| 国产丰满少妇久久久精品影院| 四虎视频在线观看| 97色操| 久久狠狠色噜噜狠狠狠狠97| 人人摸人人添人人操 | 自拍偷拍 日韩无码| 日本性爱少妇| 一二三区在线| 91久久国外网| 婷婷涩嫩草鲁丝久久午夜精品| 日本一区二区三区午夜观看| 激情丁香五月| 日韩视频小说在线观看| 3PAV乱伦视频| 日韩国产乱子伦App| 天天日天天爽| 人妻无码一区二区三区久久99| 日本一二三免费久久| 蜜色网色哟哟| 亚洲中文字幕乱码无码一区二区| 日韩在线观看AV| 国产美女口爆吞精视频| 97资源制服丝袜| 天天碰久久入| 亚洲黄色网址视频| 国产美女激情| 偷拍三区| 91色图片| 国产路线专区| 男女性感激情网站| 好看的91视频| 欧美宗合网| 看黄片视频免费| 激情五月婷婷| 欧色网址| 久热91| 97精品中文字幕| 网站A V在线| 日韩人体偷拍| 免费试看60秒| 青娱乐亚洲热| 97国产|免费| 欧美91网| 亚洲天堂人妻一区二区| 日韩97P| 亚洲色婷婷| 香蕉国产97| 妺妺跟我一起洗澡没忍住| 水野优香在线观看| 激情文学小说一区二区| 人人弄人人摸| 久久中文色图| 性爱乱伦网址| 91夜色| 蜜桃无码AV一区二区| 日韩国产十八禁| 日韩射图| www.夜夜| 欧美少妇色图| 96AV久久久| 亚洲无码偷拍| 青青草手机在线免费观看| 深夜福利黄片| 亚av顶级裸体一区二区三区四区五区| 国产亚洲精品美女久久久久久2021| 在线观看视频91| 色五天伊人| 中文字幕少妇色| 操逼操2| 欧美日日夜夜| 日本欧美一区二区三区免费| 熟女久久久| 99视频内射三四| 成年人黄色| 啊啊啊啊啊在线观看网址| 女人久久久| 久久一区无码| 美女午夜福利免费视频| 青草精品视频一日本久久久久网站| 久久久免费的精品| 99热这里都是精品| 白丝jkav| 国产最新AV| 丰满美女一级毛片在线播放| 亚洲色婷婷综合久久久久中文| 伊人久久88国产女| 人妻丰满熟妇一区二区三| 在线啊啊啊| 91大神电影天堂| 欧美日韩 强奸乱伦| 毛片99-全集电影手机免费观看完整-B029AV | 久久久久久久久久久久黄色| 国产av美女被艹的乱叫| 97无码视频在线播放| 狠狠2050在线观看| 天天日天天舔东京热| 国产小视频91| 女生看匆91网站| 精品久久久久瑟瑟| 婷婷久月| 国产 热久久久久国产精品| 人人妻人人玩人人澡人人爽| 色网1| 精品久久久av| 91黑丝露脚| 亚洲成人精品在线一区| 精品人妻少妇| 看看日B真人视频| 精品v1区| 国产剧情一区在线观看| 岛国成人av在线播放网址| 国产在线视频午夜精华在| 99国内熟女露脸视频| 激情四射婷婷四五月天| 天堂8在线新版官网| 69少妇一区二区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 热热热热日日漂亮永久永久国产日| 9999免费精彩视频| 欧美大香蕉同搞| 日韩免费一级性爱视频| 精品亚洲天堂| 易易A毛视频| 欧美色老汉| www.91欧美| 精品国产网站| 色哟哟-国产专区| 五月丁香久久| 99操逼| 丰满高潮18xxxx| 中文字幕五月婷婷免费| 91精品亚洲内射孕妇| 91无遮挡| 日本操逼无码| 污色区网站| 日韩精品人妻中文字幕不卡乱码| 日韩青久久| 91少妇通奸网站| 午夜福利在线视频1000| 欧美精品 - 91爱爱| 亚洲最大的黄色电影网站。| 欧美人妻精品| sss视频华人在线| 95精品在线| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 久久久97| 大香蕉啪啪啪| 99亚亚热| 日本97久久久精品| 色香在线| 青青草一本道福利视频| 亚洲女优有码无码高清| 超碰在线第一页| 国产精品久久久777| 色妹子A V| 国产欧美一区二区| 激情欧美日韩女同久久| 色偷综合| 偷拍导航视频网站| 欧美综合91| 国产精品内射婷婷一级二| 超碰97人妻免费在线| 午夜操逼不卡| 国产尤物AV尤物在线观看不卡| 大色综合网| 久久久久国产无av| 欧色综合| 国语精品av| 久久AV无码AV| 人人摸人人摸人人干| 久久婷婷五月天| 激情婷婷丁香| 夜夜嗨一区二区三区直播内容| 亚洲欧洲激情卡通另类文学四射小说网站| 日韩一级性爱无码| 国产女同视频在线播放| 99这里有精品| 欧美亚洲涩涩| 东京热,男人的天堂| 日韩兔费看黄片| 岛国毛片在线观看免费| 国产尹人在线视频免费| 欧洲中文字幕| 久久久91福利姬| 少妇久久久久久久久| 亚洲国产一区二区日韩专区| 日韩精品一区的| 天天肏美女| 欧美一区二区三区成人性生活| 性欧美91| 国产日产精品久久快鸭的功能介绍| 在线观看综合精品亚洲| 亚洲AV资源| 91插B网站| 亚洲码在线中文在线观看| 自拍大香蕉乱插| 蜜桃传媒一区二区亚洲| 精品成人久久久人人亚洲| 国产区日韩区在线观看| 欧日韩不卡视.频| 亚洲一二三| 国产美女高潮| 六月婷婷综合| 亚洲女人毛茸茸91| 亚洲三区视频| 情侣开房子拍 日韩无码 女的很漂亮| 久噜噜| 日本成a人v网站在线观看| 亚欧高清在线| 超碰97欧美日韩| 免费看黄片现成| 肉动漫无遮挡h在线观看| 日本操BAV| 999 久久久| 国产精品视频内谢女人| 欧美亚洲综合色| 久久大香蕉97| 岛国片在线观看视频亚洲| 91/欧美| 看免费一级在线播放毛片| 99热色精品| 超碰在线第一页| 被窝影院午夜看片无码| 午夜情侣自拍网站| 91久久久久久久久18| 亚洲AV免费在线| 夜夜操夜夜高潮夜夜爽国产精品区| 国产一级舔足在线观看| 91精品电影18| 一区二区三区精品久久| 色五月激情AV在线| av天堂天堂av日韩| 色网在线| 人人操人人插人www| 91+欧美| 欧洲大香蕉| 精品成人无码| 少妇干B| 免费公开人人操| 九九九九九九亚洲| 大香蕉视频一二三区| 亚洲古典另类欧美在线| 高清国产无码av| 亚洲图片偷拍视频区| 秋霞一级视频在线观看免费| 亚洲成人色情五月天丁香花| 久久久婷| 中文字幕av色| 中文字幕加勒比海高清无码免费视频 | 佐山爱中文字幕| 99热18这里只有精品| 国产情色第一第二页在线观看| 久久国产精品熟女人妻| 亚洲美女精品九九视频| 亚洲开心网| 91深夜夜| 亚洲91av| 色九九九九九九| 国产后入| 色爱综合网| 操死我了啊啊啊| 亚洲男人天堂手机版| 夜草网站| 欧美v亚洲v日韩v最新在线二区| 香蕉在线一区二区三区| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 香蕉热人人精品| 黄色性爱网网| 日本不卡二三区| 啪啪综合网| 操一区| 好吊色一区| 综合网亚洲在线| 男人的天堂网页| 强奸乱伦αv片| 九九自拍伦理| 人妻中文字幕精品无码| 亚洲天堂另类美腿| 加勒比综合88| 91 手机在线播放 绯色| 国产精选视频| 久久综合九九| 国产精品剧情| 精品网站9999| 操国产逼| 97在线无精品| 国产1769在线| 91色夜| 无套内射性感少妇视频| 久久久性爱视频| 日本一级真人黄色性爱视频| 不卡人妻少妇精品毛片一区23区视频| 91久久青青草原精品| 97资源超碰| 天天日天天操天天射河南省| 99热免费| 欧美不卡二区| 97超碰色色| www.91久久| 久这精品中文在线观看视频| 成人黑料社久久| 中文字幕乱妇免费视频| 91n美女视频| 国产最新小视频在线播放下载| 大色网久久| www.夜夜| 久久青青草原免费视频| 成人性交午夜免费片| 超碰综合色| 亚洲精品美女久久久久久久久| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美亚男人的天堂| 五月婷婷激情| 婷婷丁香九月| 秋霞一集毛片观看| 中国91AV| 丁香7月婷婷| 成 人 影视 一区 二区 三区 四区| 26uuu国产日韩综合在线观看| 天天舔日美女视频| 一本久久精品中文字| 91操人| 黄色大香焦1级‘′‘| 人妻三级在线中文字幕| 国产欧美另类久久久精品课程| 五月婷婷hd| 免费观看有码高清视频| 国产大学生高潮在线播放| 成人麻豆av电影网站| 国产高清亚洲日韩一区| 91综合天天| 亚洲影视高清第一页| 91bbbbbb| 男人天堂新在线| 97中文字幕一区| 97日视频| 97 九色| 国产精品免费视频不卡| 柠檬AV导航| 日本污ww视频网站| 成人性爱电影网| 综合一区中亚洲国产成人综合精品 | 亚洲天堂,男人| 五月天婷婷色| 亚洲欧美精品一区天堂久久 | 97人人射| 欧美亚洲性爱一区二区| 国产农村妇女精品1区二区| 成人短视频在线观看| 免费看一级a性色生活片久久无| 一本色道无码DVD中文字幕| 午夜小电影在线插入淫高潮| 91视频伊人| 国产Av超碰| 亚洲影院成人| 探花一区在线| 亚洲精品欧美专业| 四虎影视 亚洲无码| 综合一区二区影视| 久久一二三四| 一起草精品人妻| 日产狠狠干| 97天天操天天干| 国产精品久久久久久久久久久久久久久久| 天天日熟妇| 亚洲巨爆乳一区二区三区四季网| 久久鲁干| 麻豆影音天美视频| 粉嫩AV一区夜夜嗨| 欧美翘臀视频网站一区二区三区| 在线岛| 欧洲无码一区二区| 桃色人妻在线视频| 老熟女乱伦一区| 嗯啊不要在线观看嗯啊| 婷婷8月天青娱乐| 一级岛国大片| 91无码中出人妻视频| Aa东京男人的天堂| 成年女人黄网站| 欧美亚洲AN| 91精品国产日韩欧美综合| 成人五月天丁香激情综合| 亚洲人妻AV| 自拍视频大全亚洲专媒视频/一区二区三区 | 高清国产精品无码| 伊人久久久日韩一区| 男人天堂最新手机版在线青青草| 蜜乳av一区二区| 国产一区麻豆免费观看| 久草精品国产99| 婷婷久草| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 97在线欧| 成年人一级黄色毛片大全在线观看| 超碰亚洲97| 欧美性爱一区二区三区| 一级免费啪啪片| 国产日韩中文字幕欧美| 人妻精品视频一区二区| 亚洲狠狠入| 99ri精品| 高清国产精品福利网站| 日本啊啊啊啊啊视频| ji熟女.com| 极品色电影院| 97啪啪| 天天色图| 蜜臀久久在线视频| 无码国产精品久久久久| 99热伊人| 欧美操逼视频二区| 开心五月深爱五月| 激情网色| 美日韩一二三区| 99超级碰免费视频| 十八禁视频一区二区| 涩涩久久精品| 亚洲乱码尤物193YW| 中文字幕青青草| 日产狠狠干| 国产一区二区精品久久99| 精品大全99999| 精品国产自在在线99| 国产美女销魂在线观看不卡| 男人的天堂视频精品乱在线| 91欧美美女日韩国产婷婷| 91丨九色丨国产打屁股| JIZZJIZZ亚洲女人被躁| 亚洲丝袜二区在线| 亚洲天堂情色| 国产少妇与亚洲av| 亚洲一卡2卡3卡4卡乱码网站| 99999国产精品| 青青青草伊人精品| 亚洲亚洲亚洲天堂天堂| 青青草日本无码| 久久国99999| 六月丁香网| 天美麻花大全视频| 亚洲少妇中文字幕网址| 日本精品无码三级网站| 黄色大片免费在线| 亚洲国产ⅴ高清在线观看| 5252色欧美在线男人的天堂| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 岛园激情| 中文字幕在线高清男人的天堂 | 美欧老女人97| 性性久久| 亚洲的天堂网| 综合97亚洲| 成熟熟女国产精品一区二区| 欧美日韩亚洲电影| 中文字幕在线2| wuyechaopeng| 大香蕉手机在线| 欧亚韩国999| 少妇三P| 国产精品3| 色图四区| 久久99午夜精品一区人妻| 中文一区在线视频| www.狠狠| 日韩三级在线观看mp4| 97天天做| 九久久精品| 97视频免费| 久久精品 六十路 熟女 欧美| 男同专区一区二区三区在线| 无码不卡亚洲成?人片| 久久成人国产| 欧美图片色综合| 床戏久久久av一区二区麻豆| 久久久久亚洲| 婷婷久久久| 一区二区视频你懂的| 人伦四五区| 久久精品一区二区一8| 操逼日韩无码| 日日日大屁股骚女人精品| 怡春院久久| 懂色av色欲av蜜臀av| 亚洲成人碰碰| 91精品网站| www.激情| 伊人久久亚洲色欲综合网站 | 18禁免费视频| 东北老女人的激情视频| 老司机午夜精品视频| 一级黄色性爱A级片| 天天综合影院91| 97在线免费视频观看| 国产高潮AA片免费看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91 在线亚洲| 国产深喉| 国产超碰在线| 97在线看| 一区二区久久天天干狠狠| 一本色道久久综合精品婷婷| 成人a级高清视频在线观看| 久久国产视频专区一二三| 综合 亚洲 欧美| 9久热| 91在线视频国产网站| 久热免费视频| 亚洲AV无码乱码| 久久111| 国产亚洲精品农村妇女| 天天情欲宗合网| 爱做久久久久久| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 日韩免费a级毛片无码a∨| 亚洲天堂色图| 黄色一级视| 久久99九九九九6666免费观看软件| www.久久最新地址| 人妻91少妇| 欧美一二级| 久久精品区| 91女网站| 99精品网| 久久ww| 曰韩成人免费视频| 在线中文字幕极品av| 熟妇的味道HD中文字幕| 成人一二| 老司机午夜精品视频| 亚欧色图在线激情| J?P?NESEHD熟女熟妇伦| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 久久日本熟女精品一区| 免费看污网站| 国产精品一区人妻精品阁在线| 色色婷婷丁香| 黑操B| 99热色这里只有精品| 亚洲丝袜二区| 快点操死我| 欧美第一页性| 亚洲AV资源| 有码色中文字幕在线观看| 黄网站黄视频网站进入口| 99青青草国产视频| 自拍亚洲综合| 91男女| 欧美性爱超碰97| 男人综合网| 国产精品ww久久| 成人av在线播放| 国产精品宅男免费| 色九月婷婷| 午夜激情成人在线观看| 郑州宾馆老熟女露脸啪啪| 亚洲综合精品国产一区| 久热九九| 色色热| 久久偷拍人| 亚州欧美综合| 日韩无码一区二区三区| 日产欧美电影一区二区三区| 亚洲精品性爱片| 成人av在线播放| 国产精品久久伊人| 亚洲天堂性爱| 97青娱乐超碰久久| 超碰 欧美| 91福利网在线观看| 久久精品人人做人人看| 国产一级操B视频| 欧美成人精品A片免费一区99| 超碰 另类 欧美 | 91影视亚洲| 欧美熟妇精品黑人巨大91| 国产肏逼网站| 国产免费永久精品无码| 99re9这里只有精品| 精品十三区| 呻吟 欧美 日本 中出| 久久夜夜| 在线观看日韩av不卡| 国产极品999| 9精品久久| 久久国产成人精品国产成人亚洲| 亚洲 一区二区 自拍| 亚洲精品亚洲人成人网| 国产精品乱码久久久久久久久久久久| nuu12国产麻豆精品| 无码137片内射在线影院| 中文字幕免费看大片| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 久久久久久大| 亚洲日本大香蕉1| 91亚洲人| 国产精品午夜高潮呻吟久久av| 国产无套粉嫩白浆在| 91美女在线视频| 亚洲成人精品久久久| 成人无码欧美一级A片狼牙直播| 日韩性爱长视频免费| 九九性爱网| 好吊色一区| 97碰久久| 99九九久久| 午夜福利一区二区三区四区五区色婷婷| 一级性爱视频免费在线| 女优视频第10页| 色哟哟-国产专区| 天天综合-91入口| 69av一区二区三区| 96精品在线| 亚洲激情久久久伊人综合| 国产亚洲福利第一页丝袜| 色综合1991| 欧美片第一页| 暖暖精品二区三区观看| 亚洲激情视频| 久久国产精品一级二级三级| 98超碰欧美| caoni国产亚洲av| 国产美女激情| 岛国1区2区3区在线观看| 超碰日本97美女人妻人人玩人人爱| 婷婷性网| 91深夜夜| 亚洲熟女一区| 免费中文综合精品| 亚洲 图片 综合91| 97天堂| 久久久久久久 九九九九九九九| 夜夜骑日日| 亚洲欧美激情在线视频| 欧美久久人体| 婷婷五月天激情网| 亚洲黄色电影| 日本九九九九| 九久精品| 亚洲另类久操网| 亚洲国产精品无码AV久久久| 水澄无码AV| 国产精品午夜AV完会免费| 一区=区三区视频| 中文字幕免费在线观看| 97人人操人人干| 综合第一页| 国产97色在线| 综合网 欧美| 日韩紧密久久| 操逼免费视频无码国产| 国产a级精品| 一个国产在线综合网站| 好看的久久不射无码影视影院| 九九综合九九综合| 国产青青美女玩逼视频| 亚洲av影院在线观看| 久久有码视频| 日韩美一区| 澳门黄片一香蕉视频| 99精品人人爽| 97久久超碰| 精品一区二区三区国产| 秋霞午夜视频一区二区| 一级婬片120分钟试看| 97精品在线| 亚洲高清在线| 中字幕人妻一区二区三区| 亭亭在线资源| 色蜜AV| 欧美成人性爱视频免费观看| 人妻精品一区二区三区| 九九九午夜| 午夜精品探花| 欧美综合网| 成人天天爽| 欧美亚洲玖玖玖| 欧美1区二区三区公司| 国产精品另类一区大香蕉| 亚洲不卡不卡中文字幕不卡 | 久久超碰久| 黑人综合网| 粉嫩av一区二区三区四季| 极品色社| 最近2019中文字幕国语免费版 | 99精彩视频| 国产日韩欧美操逼视频| 清纯唯美综合| 日本男人插女人的逼黄色| 超碰免费人人| 亚洲国产精品有声| 国产后入| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 久久久性少妇| 免费人人搞97| 狠狠操夜夜操蜜桃视频三区| 亚洲人妻中文高清| 在线毛片片免费观看| 国产精品一区在线播放| 97超碰中文| 欧美有码亚洲中文字幕一区二区三区四区| 91在线精品| 在线免费观看日韩一区| 亚洲色综合| 国产 热久久久久国产精品| 极品美女嘿咻| 99re在线视频这里只有精品| 十八禁黄色成人网站观看| 日本大片日本一区二区免费高清| 爱av免费| 啪啪AV导航| 啊啊啊啊啊啊好多水| 久久老熟女| 在线观看亚洲成人精品| 女生看匆91网站| 亚洲欧美视| 欧美色图在线视频少妇| 青草视频人妻在线观看| 久久久穴999| 嗯……啊…嗯嗯…啊…好舒服| 91N欧美| 国产67194| 色婷久久| 97人人射| 99色色网| 丰满人妻-区二区三区免费| a在线视频免费观看| 操逼天美3区| 亚洲国产欧美另类自拍| 人妻偷拍一区二区三区| 人妻偷拍一区二区三区| 国产又黄又粗又猛大片| 国产精品人妻无码久久久老鸭窝| 亚洲欧美天堂| 日本一区二区中文字幕久久| 凹凸视频在线一区二区| 人人操,人人液| 翔田千里AV无码秘 三区| 无遮挡男女激烈动态图| 麻豆国产精品午夜视频| 人人摸.人人色| 国产精品熟女九色九色蜜臀| 美女视频尤物网在线看| 99精品视频在线观看免费| 超97在线精品视频| 无码外流操逼视频| 黄片色区软件| 操逼网站视频漫画国产| 人人操AV| 中文字幕91综合| 亚洲夜色在线| 蜜臀人妻少妇久久在线观看| 人妻美腿丝袜制服诱惑综合天堂-| 五十路熟女工口| 亚洲综合情色| 欧洲小说色图视频另类| 中文字幕av一区二区三区人妻少妇| 亚洲成人帖图| 99999精品| 国产精品久久久久久亚洲色欲| 啊啊啊啊操死我| 亚洲人妻中文在线视频| yw尤物av无码点击进入麻豆| 热久久国产| 大色综合网| 综合激情婷婷| 久久精品视频久久久| 69综合网| 中文字幕伊人| 九久精品| 国产熟女乱论| 偷拍伦理视频| 九九九九一级| 酒色综合网| 五月丁香黄色网| av无码精品久久久久| 狠狠色综合网| 美女干逼2| 久久久久白虎| 精品中文字幕第一页| 91 亚洲 欧美 日韩 国产 综合| 亚洲av无线观看| 丝袜内射| 日本性一区| A 天堂| 福利在线观看一区二区| 久久久工口| 亚洲青青草| 91中出| 国内三级自拍小视频在线观看| 国产最新AV| 91天美免费| ji熟女.com| 色综合91| 九九久精品| 亚洲精品一区二区精华| 久久99网站| 91性高| 黄片www视频免费| 激情五月天丁香社区| 一级黄碟在线观看| 一区二区视频在看| 黄色香蕉视频网站一区| 一本久道久久综合狠狠爱| 国产亚洲色婷婷99精品91| 国产精品香蕉| 无码自拍SM| 日韩久草| 日本色色视频网站| 色哟哟国产精品免费网址| 国模久久在线| 欧美精品23| 大香蕉综合| 久久岛国| 天天干天天插| 天天干1区2区在线| 大黄片做爱的大的| 江都AV在线| 蜜臀久久99精品久久久久久无删减 | 色乱二区| 亚洲精品一区二区三区新线路| 久草线上视频免费看| 亚洲 欧美 制服 另类 自拍| 欧美性天天影视| 91网站18禁| 久热91| 72av视频| 激情综合婷婷| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 思思热在线视频免费| 超碰97欧美在线| 大香蕉78| 99啪啪| 好吊色综合| 天天干天天插| 亚洲国产97| 日韩精品国产精品五码一区二区| AV天堂因数| 欧美亚洲厕所精品偷拍91| 国产精品麻豆成人av| 国产精品一区二区在钱播放| 青青久久艹| 最新一二三区视频| 在线视频97| 老熟女熟妇| 久操操AV电影| #NAME?| 丰满人妻无码一区二区三区| 久湿久久 | 人妻丝袜二区| 男人的天堂2018东京热啪啪啪| 国产一区在线看| 久久精品国产72国产精品福利| 男人成人黄色视频在线观看免费下载| 日韩免费大片一级播放| 亚拍在线| 91精品伊人久久久大香线蕉91| 妇女乱色二区| 校园春色 男人天堂| 精品黄色电影| 台湾大香蕉99热| 亚川综合视频| 亚洲有薄码区久久在线一区| 久久HD| 国产又黄又爽| 蜜臀AV成人精品蜜臀| 超碰成人国产| 操久久久久| 久久內射| 久久久久国产精品喷潮免费观看臀| 国产精品白丝AV| 在线 制服丝袜中出 人妻| 色图四区| 91人妻视频在线| ji熟女.com| 深夜激情| 欧美日韩国产中文超碰| 欧美一级久久久久久久大片动画| 天堂精品| 欧美激情视频一区二区三区不卡| 亚洲av无码成电影在线播放| 丰满熟女人妻一区二区三五十一路| 啪啪啪综合网| 天天影视综合色| 99.色网| 国产精品免费美女视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 国产精品电| 婷婷色一区| 国产精品点击进入在线影院| 精品天堂| ai欧美亚洲小说| 嗯啊不要在线观看嗯啊| 国产黄色小视频网站| 精品国产乱码久久久久久久久久毛片| 亚洲18禁| 婷婷亚洲综合| 亚洲 欧美 日韩 国产一区二区| 中文字幕色AV| AV一二区| 午夜天堂精品久久久久91| 欧美探花网| 少妇久久久久久| 91精品久久久久久久久久| 日韩人妻操B| 夜夜影视四色| se吧提供91精品国产91久久久久久| 伊人久久亚洲色欲综合网站| 91在线限制级| 激情AV| 91天堂色男人的天堂| 翔田千里AV无码秘 三区| 超碰97人人乐| 一区二区三区 丝袜高跟| 大香蕉碰| 国内毛片免费h片在线| 日本日逼高清| 亚洲欧美综合| 日夜精品| 国偷自 一区| www.男人天堂| 操我啊啊啊啊啊| 亚州精人品大香蕉| 超碰成人最新最好看| 精品视频在线观看精品| 神马久久69| 久久久不能久久久久| 色优久久| 日亚韩精品视频二区三| 久久成人午夜精品影院| 久久狠狠色噜噜狠狠狠狠97| 成人小电影网站tex| 日韩美女,国产传媒,视频一区| 淫色网综合| 97舔舔| 成人免费福利在线观看| 在线色导航| 久操com| 国产亚洲精品A在线观看下载| 无码一区免费在线不卡| 亚洲男人天堂AV| 夜夜爽夜夜操| 久久精品操| 天天射天天色成人| 久久精品国产97欧美精品亚洲| 大香交| 五十路人妻在线| 男人成人黄色视频在线观看免费下载| 蜜臀精品1区2区| 日欧美色| 精品久久在线区一区| 玖色AV| 久久精品免费| 老鸭窝亚洲毛片| 婷婷国产精品九区| 婷婷三区| 99www.bibizy香蕉资源国产一区二区三区高清 | 秋霞福利网| 精久久久| 日本免费二区三区| 97国产精品一区| 亚洲色交| 视频国产欧美在线播放| 日语五十路和六十路亚洲国产精品 | 性爱动态120秒| 大香蕉免费中文| 国内精品不卡无毒99999| 国产自产91区13区| 亚洲自拍一区夜夜操| 欧美暴力猛交| 欧美一二级| 97在线/亚洲| 91综合色噜噜| 国产精品一区av在线| 国产传媒操逼视频| 91狠狠综合久久| 久久久一区二区三区四曲免费听| 91精品国产综合久久久蜜臀| 大香蕉伊利av| 麻豆精品三区视频| 亚洲中文字幕一区| 亚洲综合20p| 岛国激情视频在线观看| 成人一级性爱| 成年女人18级毛片毛片免费观看| 日本综合久久| 午夜精品久久久99| 99国内熟女露脸视频| 天天网综合| 午夜乱轮操逼视频免费看| 蜜区区视频79 | 亚洲熟女乱综合一区二区三区|