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

ARTICLE DETAIL

資訊詳情

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

Java生產(chǎn)事故復(fù)盤:從并發(fā)超賣到系統(tǒng)雪崩的避坑指南

Java生產(chǎn)事故復(fù)盤:從并發(fā)超賣到系統(tǒng)雪崩的避坑指南 1. 從一次夜間緊急工單說起做Java開發(fā)這幾年最怕的不是需求復(fù)雜也不是工期緊張而是半夜手機(jī)震動(dòng)——線上報(bào)警了。有一次我印象特別深凌晨兩點(diǎn)多某商城系統(tǒng)的下單接口突然大面積超時(shí)緊接著庫存數(shù)據(jù)出現(xiàn)負(fù)數(shù)用戶瘋狂下單系統(tǒng)直接被打穿。事后復(fù)盤發(fā)現(xiàn)問題根源居然只是一個(gè)很不起眼的并發(fā)控制缺失庫存扣減用的是先查詢?cè)俑碌倪壿嫑]有加鎖也沒有做樂觀鎖控制多個(gè)請(qǐng)求同時(shí)讀到同一個(gè)庫存值各自扣減后寫回于是出現(xiàn)了嚴(yán)重超賣。那次事故直接導(dǎo)致故障時(shí)長近一小時(shí)損失難以估量。但也正是從那次開始我養(yǎng)成了一個(gè)習(xí)慣每遇到一起線上事故不管大小都會(huì)認(rèn)真做一次復(fù)盤把根因、修復(fù)過程、預(yù)防措施完整記錄下來。這篇文章就是基于我這些年積累的編碼生產(chǎn)事故總結(jié)復(fù)盤經(jīng)驗(yàn)整理成一份可以反復(fù)參考的資料。如果你也是一名Java開發(fā)尤其在做電商、交易、支付這類高并發(fā)場景的系統(tǒng)這篇文章應(yīng)該能幫你少踩不少坑。我不會(huì)去講那些教科書上早就寫過的理論而是把真實(shí)遇到過的場景、當(dāng)時(shí)怎么排查、問題出在哪里、代碼層面怎么改、流程層面怎么堵一五一十說清楚。很多內(nèi)容是我個(gè)人踩坑后的沉淀不一定適合所有團(tuán)隊(duì)但至少代表了一條被驗(yàn)證過的路。2. 編碼生產(chǎn)事故的主要形態(tài)與根因分析生產(chǎn)事故千奇百怪但把根子刨出來看Java后端領(lǐng)域的事故大多集中在幾個(gè)點(diǎn)上。我先把這幾年見過、經(jīng)歷過的典型類型梳理一遍再逐一展開講案例。事故類型典型現(xiàn)象根因走向并發(fā)控制缺失超賣、重復(fù)扣款、數(shù)據(jù)被覆蓋鎖粒度、事務(wù)隔離級(jí)別、冪等設(shè)計(jì)空指針與數(shù)據(jù)異常接口500、NullPointerException刷屏下游數(shù)據(jù)為空、參數(shù)校驗(yàn)缺失事務(wù)邊界錯(cuò)位部分成功部分失敗、數(shù)據(jù)不一致事務(wù)方法自調(diào)用、異常被吞異步與線程池問題消息積壓、線程池拒絕、狀態(tài)丟失異步鏈路未做補(bǔ)償、參數(shù)未傳全內(nèi)存與性能問題頻繁Full GC、OOM、接口RT飆升大對(duì)象、集合無界、慢SQL2.1 并發(fā)控制缺失從超賣事故講到鎖的選型先說我開頭提到的那個(gè)超賣案例。當(dāng)時(shí)的下單接口代碼大致長這樣public boolean createOrder(Long userId, Long skuId, Integer num) { // 1. 查庫存 Stock stock stockMapper.selectBySkuId(skuId); // 2. 判斷庫存是否足夠 if (stock.getAvailable() num) { return false; } // 3. 扣減庫存 stock.setAvailable(stock.getAvailable() - num); stockMapper.updateById(stock); // 4. 創(chuàng)建訂單 orderMapper.insert(Order.build(userId, skuId, num)); return true; }這段代碼在低并發(fā)下完全沒問題但一旦遇到秒殺或者大促問題立刻暴露。兩個(gè)線程同時(shí)執(zhí)行到第二步讀到的可用庫存都是10都認(rèn)為可以扣5分別更新成5寫回實(shí)際賣出了10件而庫存只剩5件系統(tǒng)還能繼續(xù)往下賣直到庫存變負(fù)數(shù)為止。這類問題的解法業(yè)內(nèi)已經(jīng)比較成熟了無非幾種樂觀鎖方式在更新SQL里加上庫存充足條件UPDATE stock SET available available - #{num} WHERE sku_id #{skuId} AND available #{num}悲觀鎖方式查詢時(shí)加上行鎖。分布式鎖方式適合跨服務(wù)的庫存扣減。我用得最多的是第一種因?yàn)閷?shí)現(xiàn)簡單、性能也好。實(shí)際工作中要注意很多人以為加上synchronized就萬事大吉了但如果是多實(shí)例部署synchronized只能鎖住本機(jī)JVM內(nèi)的線程跨節(jié)點(diǎn)依然會(huì)有問題。這點(diǎn)新手特別容易踩。后來我還總結(jié)出一條經(jīng)驗(yàn)**凡是涉及金額、庫存、狀態(tài)流轉(zhuǎn)的寫操作必須在設(shè)計(jì)階段就把并發(fā)模型畫出來而不是等上線出了事再去補(bǔ)鎖。**并發(fā)問題的修復(fù)成本永遠(yuǎn)比預(yù)防成本高一個(gè)數(shù)量級(jí)。2.2 空指針與數(shù)據(jù)異常那些被“看似不會(huì)為空”的數(shù)據(jù)坑慘的時(shí)刻如果說并發(fā)問題還分場景那空指針就是天天見的常客。有一次我們的用戶信息接口突然在某個(gè)渠道報(bào)錯(cuò)排查發(fā)現(xiàn)是上游服務(wù)返回的用戶擴(kuò)展字段里某個(gè)屬性為null而我們?cè)诖a里直接調(diào)用了該屬性的方法。這種問題在Java里實(shí)在太多了尤其是從接口拿數(shù)據(jù)時(shí)對(duì)方的文檔寫著“非空”但實(shí)際上某些歷史數(shù)據(jù)就是不滿足約束。我當(dāng)時(shí)給團(tuán)隊(duì)立了一條規(guī)矩**除了基礎(chǔ)類型和明確由自己寫入且必填的字段其他所有外部數(shù)據(jù)都要按可能為null來處理。**這不是代碼潔癖是對(duì)系統(tǒng)邊界保持敬畏。處理空指針的方法很多我用得最多的組合是方法入口用Objects.requireNonNull或者提前校驗(yàn)。傳輸對(duì)象用Optional做顯式處理不要無腦get()。集合操作前判斷空集合Collections.emptyList()兜底。參數(shù)校驗(yàn)落地到注解上比如NotNull、NotBlank在Controller層就把問題擋住。數(shù)據(jù)異常類的事故就更隱蔽了。比如前一陣我們做數(shù)據(jù)訂正腳本把一批訂單的金額字段從字符串轉(zhuǎn)成了整數(shù)結(jié)果有個(gè)別訂單因?yàn)榘诵?shù)點(diǎn)后兩位以外的特殊字符轉(zhuǎn)換直接拋異常腳本中斷。這種看起來不影響線上接口的事故往往會(huì)造成更大的數(shù)據(jù)污染。我現(xiàn)在的習(xí)慣是凡是批量更新、數(shù)據(jù)訂正、遷移腳本先加試跑模式只輸出結(jié)果不落庫核對(duì)無誤后再全量執(zhí)行而且在執(zhí)行前必須手動(dòng)備份相關(guān)表。2.3 事務(wù)邊界錯(cuò)位一個(gè)Transactional引發(fā)的連環(huán)事故事務(wù)是Java后端最常用的能力之一但也是最容易被誤用的。我遇到過一個(gè)特別典型的案例某個(gè)訂單回調(diào)服務(wù)里開發(fā)同學(xué)在方法上加了Transactional方法內(nèi)部先更新訂單狀態(tài)再調(diào)用遠(yuǎn)程接口通知倉庫發(fā)貨最后更新一張積分表。整個(gè)方法跑完大約需要3秒期間事務(wù)一直持有數(shù)據(jù)庫連接。問題出在遠(yuǎn)程調(diào)用如果超時(shí)事務(wù)會(huì)長時(shí)間掛起連接池很快被耗盡其他請(qǐng)求全部排隊(duì)等待最終導(dǎo)致服務(wù)雪崩。事務(wù)里做遠(yuǎn)程調(diào)用這件事我一直強(qiáng)調(diào)嚴(yán)格控制事務(wù)邊界絕不在事務(wù)內(nèi)做耗時(shí)操作。另一個(gè)坑是事務(wù)自調(diào)用。同一個(gè)類里A方法調(diào)用B方法B上有Transactional但Spring的AOP基于代理自調(diào)用不會(huì)觸發(fā)代理邏輯事務(wù)注解直接失效。很多團(tuán)隊(duì)因此專門用Autowired注入自身來繞開或者把被調(diào)方法拆到另一個(gè)Service里。后來我還在Code Review清單里加了一條自查項(xiàng)檢查所有事務(wù)注解是否真正生效。還有一類事務(wù)問題是異常被吞。方法上聲明了Transactional(rollbackFor Exception.class)但內(nèi)部catch了異常又沒往外拋事務(wù)照樣不回滾。數(shù)據(jù)已經(jīng)寫了一半接口返回成功下游卻看到的是半成品數(shù)據(jù)?,F(xiàn)在我對(duì)團(tuán)隊(duì)的規(guī)范是事務(wù)方法內(nèi)部盡量不要自己catch異常要catch就處理后重新拋出至少要區(qū)分哪些異常必須回滾、哪些可以忽略。2.4 異步處理與線程池場景下的隱患異步化是提升接口響應(yīng)速度的利器但異步鏈路里的坑一點(diǎn)也不少。第一個(gè)坑是線程池參數(shù)拍腦袋定。有一次我們把一個(gè)異步推送任務(wù)放到了一個(gè)無界的線程池里高峰時(shí)任務(wù)排隊(duì)上百萬個(gè)內(nèi)存直接飆升到接近堆上限頻繁Full GC。后來改成有界隊(duì)列、自定義拒絕策略才穩(wěn)定下來。線程池的核心參數(shù)并沒有萬能公式但至少要根據(jù)任務(wù)類型估算。比如任務(wù)平均執(zhí)行時(shí)間是50ms期望吞吐是每秒200個(gè)任務(wù)那核心線程數(shù)至少要讓處理能力大于流入速度否則隊(duì)列只會(huì)越積越長。我們?cè)谏a(chǎn)環(huán)境的做法是核心線程數(shù)和最大線程數(shù)壓到合理范圍內(nèi)隊(duì)列用有界隊(duì)列拒絕策略選擇CallerRunsPolicy讓提交任務(wù)的線程自己跑這樣不會(huì)丟任務(wù)也起到了天然限流的作用。還有一個(gè)經(jīng)典問題異步線程里的上下文丟失。比如在普通請(qǐng)求線程里設(shè)置了一個(gè)追蹤ID丟到異步線程池執(zhí)行時(shí)追蹤ID就拿不到了排查問題的時(shí)候日志全對(duì)不上。我們后期統(tǒng)一通過TransmittableThreadLocal解決沒有用原生的ThreadLocal。異步場景另一個(gè)高頻事故是漏傳參數(shù)或者丟失主鍵。有一次我們把某個(gè)通知任務(wù)異步化只傳了訂單號(hào)過去異步線程里根據(jù)訂單號(hào)查詢時(shí)訂單狀態(tài)已經(jīng)變了導(dǎo)致通知內(nèi)容發(fā)錯(cuò)。這個(gè)問題的本質(zhì)是異步執(zhí)行時(shí)的數(shù)據(jù)快照和提交時(shí)的數(shù)據(jù)快照可能完全不同依賴實(shí)時(shí)查詢的結(jié)果去做業(yè)務(wù)判斷要特別小心。2.5 內(nèi)存與性能方面的生產(chǎn)事故內(nèi)存和性能事故比較隱蔽往往不是一次性爆發(fā)的而是積少成多。我舉一個(gè)例子有個(gè)報(bào)表導(dǎo)出功能一次性從數(shù)據(jù)庫查了幾十萬條記錄放進(jìn)了List然后逐個(gè)處理每個(gè)對(duì)象還保留著一個(gè)很大的JSON字段。幾個(gè)用戶同時(shí)操作內(nèi)存立刻吃緊Full GC頻繁整個(gè)服務(wù)RT翻倍其他接口跟著一起遭殃。這個(gè)問題的本質(zhì)是大對(duì)象駐留老年代解決思路就兩個(gè)字分頁或者流式處理。數(shù)據(jù)庫端用游標(biāo)讀取應(yīng)用端處理一批就釋放一批千萬不能把全量數(shù)據(jù)一次性load到內(nèi)存里。性能類的生產(chǎn)事故里慢SQL也是大頭。最常見的情況是查詢條件里用了函數(shù)計(jì)算導(dǎo)致索引失效。比如WHERE DATE_FORMAT(create_time, %Y-%m-%d) 2024-01-01這種寫法一定全表掃描。正確的做法是算好時(shí)間范圍再傳參WHERE create_time ? AND create_time ?。我在復(fù)盤這些性能事故的時(shí)候越來越覺得**性能問題不是什么高深莫測的東西大多數(shù)時(shí)候就是數(shù)據(jù)的訪問模式錯(cuò)了。**只要對(duì)數(shù)據(jù)量有感知對(duì)索引的使用有常識(shí)就能避免絕大部分問題。3. 事故復(fù)盤方法論與排查實(shí)操遇到生產(chǎn)事故最怕的是慌亂。我自己的排查流程已經(jīng)固定下來了不管什么事故都按這套思路走效率會(huì)高很多。第一步看監(jiān)控、看日志、定性。先把影響范圍搞清楚是全部用戶掛還是部分接口掛是持續(xù)掛還是間歇性掛。這一步?jīng)Q定了接下來的排查方向。第二步看最近變更。很多事故不是突然出現(xiàn)的而是某個(gè)發(fā)布或者配置改動(dòng)觸發(fā)的。排查變更比從代碼海洋里撈針快得多。我們團(tuán)隊(duì)已經(jīng)形成習(xí)慣每次發(fā)布都必須有變更記錄否則出了事故連方向都找不到。第三步定位根因。這一步要用到日志、線程棧、堆轉(zhuǎn)儲(chǔ)、APM鏈路追蹤等手段。第四步驗(yàn)證并修復(fù)。修復(fù)不能用“試試看”的心態(tài)必須能解釋為什么這么改是對(duì)的最好有壓測或者回放作為佐證。第五步沉淀復(fù)盤報(bào)告。這一步很多人忽略但恰恰是最重要的。3.1 第一時(shí)間定位問題的思路我舉個(gè)例子。有一次線上接口突然超時(shí)我第一反應(yīng)不是打開IDE看代碼而是先看監(jiān)控面板的P95和P99。發(fā)現(xiàn)P99飆升但P50正常?;究梢詳喽ú皇钦w負(fù)載問題而是少數(shù)慢請(qǐng)求或者某條特殊路徑存在問題。再往下看發(fā)現(xiàn)超時(shí)請(qǐng)求集中在某幾個(gè)商品SKU而這些SKU有一個(gè)共同特點(diǎn)積壓的庫存記錄特別多。再結(jié)合數(shù)據(jù)庫慢查詢?nèi)罩景l(fā)現(xiàn)對(duì)庫存表的分頁查詢走了全表掃描因?yàn)椴樵儣l件里store_id沒有索引。整個(gè)過程大概花了二十分鐘如果從代碼開始看可能兩小時(shí)都未必找得到。這里我要強(qiáng)調(diào)一點(diǎn)**排查事故時(shí)要克制住“憑經(jīng)驗(yàn)猜”的沖動(dòng)。**我見過不少老開發(fā)一看超時(shí)就說“是不是GC了”上去先抓堆棧折騰半天發(fā)現(xiàn)根本不是。正確做法是用數(shù)據(jù)說話用監(jiān)控面板一步步縮小范圍。一線排查的常用命令我也會(huì)整理成一個(gè)速查表場景命令/操作作用查看JVM堆使用jstat -gcutil pid 1000觀察GC頻率、內(nèi)存余量查看線程狀態(tài)jstack pid thread.txt分析死鎖、線程阻塞抓取堆轉(zhuǎn)儲(chǔ)jmap -dump:formatb,fileheap.hprof pid分析OOM、大對(duì)象查詢慢SQL開啟慢日志并分析定位SQL性能問題鏈路追蹤根據(jù)traceId串聯(lián)日志定位跨服務(wù)耗時(shí)3.2 日志與監(jiān)控如何幫助我們復(fù)盤做事故復(fù)盤最怕的是沒有數(shù)據(jù)全靠記憶。所以日志記錄這件事真到了復(fù)盤時(shí)才會(huì)發(fā)現(xiàn)有多重要。我之前踩過一個(gè)坑生產(chǎn)環(huán)境某個(gè)對(duì)象的序列化日志被打得鋪天蓋地一天幾個(gè)GB真正需要追蹤的業(yè)務(wù)字段卻沒有一個(gè)。后來我主導(dǎo)了一次日志規(guī)范梳理才把日志從“能跑就行”提升到“可觀測”的水平。日志規(guī)范里核心就幾條關(guān)鍵業(yè)務(wù)操作必須記錄入?yún)ⅰ⒊鰠?、耗時(shí)、traceId。日志級(jí)別要有明確規(guī)范debug不進(jìn)生產(chǎn)info記錄業(yè)務(wù)關(guān)鍵節(jié)點(diǎn)error記錄異常和失敗路徑。禁止在循環(huán)里打日志尤其禁止在大集合的循環(huán)里打。敏感信息脫敏不能把手機(jī)號(hào)、身份證明文打進(jìn)日志。監(jiān)控方面我們現(xiàn)在做到了三層基礎(chǔ)層監(jiān)控CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)應(yīng)用層監(jiān)控QPS、RT、錯(cuò)誤率、線程池活躍度業(yè)務(wù)層監(jiān)控訂單量、支付成功率、庫存扣減次數(shù)這種和用戶感受直接相關(guān)的指標(biāo)。有了這三層事故的定位速度會(huì)快非常多。3.3 從現(xiàn)象到根因的推理過程復(fù)盤文檔里我最看重的一個(gè)環(huán)節(jié)就是從現(xiàn)象到根因的推理過程而不是最終結(jié)論。因?yàn)橹挥邪淹评礞湆懗鰜聿拍茯?yàn)證當(dāng)時(shí)是不是有邏輯跳躍才能讓后人學(xué)習(xí)到完整的思路。舉一個(gè)之前遇到的事故?,F(xiàn)象是某天晚上整體訂單量無明顯增長但支付回調(diào)接口的錯(cuò)誤率突然上升持續(xù)了大概十分鐘后自行恢復(fù)。如果只看結(jié)論可能就寫一句“上游服務(wù)抖動(dòng)導(dǎo)致的偶發(fā)失敗”。但我們深入推理后發(fā)現(xiàn)錯(cuò)誤率上升的時(shí)間點(diǎn)正好和某臺(tái)Tomcat節(jié)點(diǎn)被重啟的時(shí)間吻合——那臺(tái)節(jié)點(diǎn)重啟是因?yàn)榻】禉z查失敗被自動(dòng)摘除了。健康檢查失敗的原因是JVM發(fā)生了一次長達(dá)20秒的Full GC而Full GC的誘因是前一天的灰度發(fā)布增加了對(duì)象緩存的大小。所以整條鏈路是灰度發(fā)布加緩存 → 內(nèi)存占用升高 → 觸發(fā)Full GC → 節(jié)點(diǎn)對(duì)健康檢查無響應(yīng) → 被摘除 → 流量重新分配到其他節(jié)點(diǎn) → 其他節(jié)點(diǎn)壓力短暫升高 → 支付回調(diào)偶發(fā)超時(shí) → 客戶端重試反饋到錯(cuò)誤率上。如果只停留在“上游抖動(dòng)”這件事永遠(yuǎn)不可能真正解決。也正因?yàn)槲覀儓?jiān)持把推理鏈挖到最底層才發(fā)現(xiàn)真正需要優(yōu)化的是對(duì)象緩存的過期策略和堆內(nèi)存參數(shù)。這種復(fù)盤方式讓我對(duì)系統(tǒng)運(yùn)行的理解上升了不止一個(gè)層次。4. 如何從制度與習(xí)慣上減少編碼生產(chǎn)事故事故復(fù)盤再多如果只是寫文檔那也只是一堆文字。真正有效的復(fù)盤一定要落在制度建設(shè)和習(xí)慣改變上。4.1 代碼評(píng)審與靜態(tài)檢查的落地很多人覺得代碼評(píng)審走形式但我認(rèn)為**評(píng)審是編碼生產(chǎn)事故的第一道防線。**問題在于很多團(tuán)隊(duì)的評(píng)審只關(guān)注“代碼能不能跑”“功能對(duì)不對(duì)”很少關(guān)注“會(huì)不會(huì)掛”。我建議評(píng)審時(shí)至少增加這幾個(gè)視角并發(fā)安全視角這段代碼有沒有可能被多個(gè)線程同時(shí)執(zhí)行覆蓋的共享資源是什么邊界視角傳入?yún)?shù)有沒有可能為null集合有沒有可能為空數(shù)據(jù)量有沒有可能超出預(yù)期依賴視角這個(gè)方法依賴的外部服務(wù)不可用時(shí)系統(tǒng)會(huì)怎樣生命周期視角臨時(shí)文件、線程、連接這些資源是否都會(huì)釋放靜態(tài)檢查工具也是必須的比如SonarQube、SpotBugs、Alibaba Java Coding Guidelines插件。但要記住工具只能抓明顯的壞味道抓不了設(shè)計(jì)層面的問題。真正有價(jià)值的還是人。后來我們團(tuán)隊(duì)要求所有代碼合并前必須有至少一個(gè)評(píng)審人認(rèn)真過一遍不是點(diǎn)個(gè)“通過”按鈕那種而是要真的理解改動(dòng)邏輯。4.2 測試策略與灰度發(fā)布編碼事故里很多都是可以通過測試提前發(fā)現(xiàn)的。我們現(xiàn)在的分支覆蓋率要求可能不算高但核心鏈路的場景測試覆蓋得很全。什么叫核心鏈路就是用戶下單、支付回調(diào)、退款、庫存扣減、對(duì)賬這些每一個(gè)都要有正反向用例。測試環(huán)境的問題是數(shù)據(jù)量小、不會(huì)觸發(fā)并發(fā)和性能隱患所以單測過了不代表生產(chǎn)安全。我比較推崇的是把壓測常態(tài)化。團(tuán)隊(duì)每隔一個(gè)迭代做一次核心接口的壓測不需要極其精確但至少能知道當(dāng)前接口的瓶頸在哪里。很多線上超時(shí)事故其實(shí)在壓測階段就該暴露了。灰度發(fā)布更是救命稻草。我們現(xiàn)在的發(fā)布方式是先金絲雀節(jié)點(diǎn)觀察幾分鐘沒有異常再全量。而且灰度期間要重點(diǎn)盯業(yè)務(wù)指標(biāo)不只是CPU、內(nèi)存這些技術(shù)指標(biāo)。有一次新版本發(fā)布后接口技術(shù)上一切正常但訂單轉(zhuǎn)化率掉了1.5%灰度監(jiān)控立刻把它抓了出來一查發(fā)現(xiàn)是前端頁面的某個(gè)控件被錯(cuò)誤地挪了位置。技術(shù)指標(biāo)正常不代表業(yè)務(wù)正常這條經(jīng)驗(yàn)很重要。4.3 團(tuán)隊(duì)層面的復(fù)盤與知識(shí)沉淀團(tuán)隊(duì)例行的事故復(fù)盤會(huì)一定要開成“學(xué)習(xí)會(huì)”而不是“追責(zé)會(huì)”。一旦追責(zé)所有人都會(huì)選擇隱瞞和掩藏事故信息就會(huì)丟失。我們的原則很簡單**只談技術(shù)根因不談責(zé)任人。**所有代碼都是團(tuán)隊(duì)資產(chǎn)別人寫的爛代碼如果你沒有在評(píng)審時(shí)攔住那這個(gè)責(zé)任是共同的。復(fù)盤會(huì)的流程通常是這樣的事故當(dāng)事人講時(shí)間線和現(xiàn)象。大家一起剖析根因允許反駁和補(bǔ)充。得出行動(dòng)計(jì)劃責(zé)任到人給截止時(shí)間。把復(fù)盤內(nèi)容歸檔到團(tuán)隊(duì)知識(shí)庫并且同步到新人學(xué)習(xí)資料里。我還特別建議做“事故案例庫”。每一起事故不論大小都記錄在一個(gè)共享文檔里標(biāo)注清楚標(biāo)題、現(xiàn)象、根因、影響、修復(fù)方案、預(yù)防措施。新人入職的時(shí)候不要先看規(guī)范文檔先看事故案例庫這比任何培訓(xùn)都有效。因?yàn)橐?guī)范講的是“應(yīng)該怎么做”事故案例講的是“不這么做會(huì)有什么后果”后者才能真正讓人記住。5. 我個(gè)人的幾條心得與建議講完這么多最后再說幾條比較零散、但確實(shí)是我工作里反復(fù)驗(yàn)證過的經(jīng)驗(yàn)吧。第一**寫代碼前先想一想失敗的情況。**很多事故的根源是開發(fā)默認(rèn)“所有事都會(huì)成功”。但真實(shí)生產(chǎn)環(huán)境里下游服務(wù)會(huì)超時(shí)數(shù)據(jù)庫連接會(huì)斷緩存會(huì)失效消息會(huì)丟失。寫代碼的時(shí)候把異常路徑和正常路徑同等對(duì)待很多事故從一開始就不會(huì)存在。第二**變更比故障更值得關(guān)注。**生產(chǎn)事故絕大多數(shù)是由某個(gè)變更觸發(fā)的。所以做任何變更前都要想一想影響范圍列一個(gè)回滾方案。發(fā)布后盯著看一會(huì)兒再離開工位。不用多十五分鐘就好往往能攔住大部分問題。第三**不要迷信“測試環(huán)境能測出來”。**生產(chǎn)環(huán)境的數(shù)據(jù)量、并發(fā)量、網(wǎng)絡(luò)狀況測試環(huán)境永遠(yuǎn)模擬不出來。所以線上監(jiān)控和日志必須從一開始就做好那是你唯一能在生產(chǎn)環(huán)境看清系統(tǒng)的眼睛。第四**復(fù)盤報(bào)告不是寫給領(lǐng)導(dǎo)看的是寫給自己和下一個(gè)人看的。**哪怕沒有人要求你寫出了事故我也會(huì)自己寫一份哪怕只是幾百字的備忘錄下次遇到類似問題翻出來看一眼能省幾個(gè)小時(shí)。做Java開發(fā)越久我越覺得真正拉開差距的往往不是框架用得有多熟新特性背得有多牢而是面對(duì)復(fù)雜系統(tǒng)時(shí)那種“下意識(shí)地敬畏”敬畏數(shù)據(jù)敬畏并發(fā)敬畏每一個(gè)可能為空的外部依賴。一次生產(chǎn)事故是一次很好的學(xué)習(xí)機(jī)會(huì)關(guān)鍵看你能不能把機(jī)會(huì)變成經(jīng)驗(yàn)把經(jīng)驗(yàn)變成制度把制度變成習(xí)慣。希望這篇文章里記錄的那些坑和思路能幫你在碼代碼的路上少翻幾次車。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天日天天干少妇日| 天天看人人操屄犊摸阴| 老熟女乱伦片| 久久久∴| 亚洲18禁| 能在线播放的国产三级| 中文熟女五十乱码在线| 97av在线视频| 国内偷自视频区视频综合| 久草在线| 精品无码一区二区三区| 97精品视频在线播放| 激情一区二区三区在线观看| 色婷婷色99国产综合精品| 国产婷婷综合在线观看| 欧美高清色| 久久伦理视频久久大香蕉视频| 婷婷色色五月天| 极品美女福利在线观看| 夜夜操二区| 天天射日日干| 精品少妇一区二区三区| 亚洲Av噜噜一区二区三区妖精| 大香蕉免费乱伦视频| 亚洲欧美高清无码| 天操老女人| 欧美色图自拍| 免费国产| 久久九操在线观看| 一区二区视频你懂的| 韩国女主播青草福利视频| 亚洲色综合| 亚洲黄色a级片| 成人热久久精品| 后入式五六区| 国产女人9999| 91N综合网在线| 欧美激色| a片在线播放| 亚洲高潮影院| 欧美 亚洲| 四虎影视在线| 黑丝少妇| 欧美制服另类丝袜| 看看小穴| 在线观看十八禁| 96精品在线| 亚洲综合九九| 五月丁香综合激情| 91人妻丝袜无码| 蜜臀人妻少妇久久在线观看| 95自拍视频在线观看| 成人久久久精品| 久草资源欧美在线视频| 女同在线视频一区| 亚洲在线91| 国产精品大香蕉| 思思热er精品视频| 日韩亚洲Av人人夜夜澡人人爽| 最新av中文字幕高清| 夫妻天天操岛国视频| 国产白丝网站| 日韩在线国产字幕| 97国产精品在线观看| 激情综合婷婷| 国模限制级电影| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 91色夜| 玖色av| 99久久免费看精品国产一区| 精品99999| 无码人妻精品一区二区中文 | 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 欧美最婬乱婬爆婬性视频 | 亚熟在线| 欧美在线综合| 天天色欧美| 日韩黄片影院| 欧美一区二区在线资源| 久久妇| 精品国产乱码久久久| 欧美色图色综合| 日本高清视频xxxx| 亚洲福利中文字幕在线| 人妻精品一区二区全免费| 日韩精品操少妇| 黄色一区三区| 91影视亚洲| 国产JDAV无码视频在线观看| 亚洲日韩在线a不卡99精品| 久久最新视频免费观看| 国产夜夜艹| 青青草乱入乱欲视频在线观看| 激情情色五月天| 男女啊啊啊啊啊| 日韩精品字幕| 99热免费| 香蕉免费一区二区三区不读| 久久岛国| 精品少妇一区二区三区在线视频| 亚洲棕合电彰| 少妇精品| 九九综合久久| 亚洲中文电影| 中国操逼无码| 东京成人一区| 欧美男人天堂| 大香樵伊人网| 97视频一区| 国模无码人体一区二区三| 蜜桃无码AV一区二区| 天天天肏屄欧美| 国产精品3| 国产精品亚洲一级av第二区| 国产91精品久久久久久久网曝门| 超碰地址久久| 中文啪啪视频| 天天干人人看综合| 日韩人妻少妇中文字幕| 99少妇| 日本性爱少妇| 蜜桃狠狠色伊人亚洲综合 | 亚州欧美在线| 日韩图区 偷拍| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 欧美性高潮| 欧美日韩性爱无码| 张柏芝国产一区在线观看| av日韩在线观看电影| 亚洲中文电影| 伊人精品久久网站| 女人一区| 欧美性爱第一页久久| 精品久久久久,69国产成人精| 久久精品国产97欧美精品亚洲| 国产亚洲精品av一区| 新视频sss国产| 日韩强奸av| 人妻精品4K4K4K4K4| 伊人操| 电影69乱码96| www.yeyecao| 99国产精品久久久在线播放| 26UUU欧美激情一区二区| 久久久久ab| 超碰精品国产无码| 成人十八禁日韩欧美一二三| 五月丁香网站| 91久久久亚洲| 二三四区精品| 天天综合精品| heyZO天然素人无码AⅤ专区| AV丝袜东京热| 超碰人人干| 加勒比中文av| 精品国产99| 亚洲精品国产日韩无码AV永久免| 人妻喷水| 亚洲精品视频二区| xxxx网站亚洲精品| 欧美第五页| 99视频自拍| 欧美18老人禁| 日本精品九九九| 九色婷婷| 亚洲精品性爱片| 欧美美女后入| 日本人妻一区二区| 亚精品无码毛片一区二区三区| 欧美高清无码免费视频高清版| 九九英色视频| 在线观看日韩av不卡| 综合色欧美| 97干色天堂| 色综合久| 久操操AV电影| 久操免费观看| 欧美亚洲AN| 色久综合| 日韩中文字幕av在线播放| 妇女性内射冈站HDWWWCOM| 欧色性第一页| 日本免费不卡二区| 亚洲综合20p| 婷婷久草一区二区三区| 婷婷去俺也去六月色| 久久伊人东京热| 亚洲AV资源| 无码日韩网站| 91久久九九精品国产综合| 另类欧美| 欧美激情片一区二区| 99啪啪视频| 亚洲欧洲综合av在线| 亚洲欧美洲综合| 校园春色宗合网| 亚洲 中文 女同| 国产一级αv免费看片| 久久性生大片免费观看性| 欧美在线 亚洲| 久久同城AV| 中文字幕一二三区| 国产毛片精品一区二区色欲黄A片| 日韩精品资源| 91红杏| 欧亚综合一卡二卡中文字幕| www.99在线| 国产特级毛片AAAAAA高潮流水 | 婷婷五月天网| 第一高清av中文字幕| 370p日韩欧美亚洲精品| 人人看黄色视频| 亚洲色欧美| 夜夜欢天天干| 国产无码三级视频在线观看| 久久 精品| 久久综合97| 青青草中出视频| 大屁股国产在线视频| 亚洲天堂女优在线| 欧美大色交| 欧美日韩另类字幕中文| 久久九九精品一区二区 | 强奸乱伦AV网站| 人妻一二三区| 日本操逼视频导航| 在线观看综合精品亚洲| 亚洲超碰AV| 人妻精品一区二区在线| 欧美,日韩综合久久| 91P0RNY大屁股人妻| 91精片| 久久午夜色播影院免费高清| 丁香色狠狠色综合久久小说| 国产精品白领在线观看| 日本欧美一区二区三区视频麻豆| 久久五十路熟女人妻| 国产一区二区三三视频| 一区二区视频在线播放| 91网站在线播放| 色偷偷超碰亚洲| 欧美极品色| 久久激情视频| 超碰97护士| 成人无遮挡毛片免费看| 美日韩男女操屄视频| 思思热国产在线视频| 一级黄色视频网| 日韩黄片影院| 日韩性爱小视频在线观看| 91丨九色丨东北熟女| JULIA一区二区三区在线播放| 九九99久久| 综合久欧洲| 日韩无码久久熟女一级片| 精品一区二区2| 999综合网| 成人26uuu| 3028国产精品| 丝袜制服字幕在线| 蜜臀va69| 亚洲激情综合另类男同| 日本福利二区视频| 成 人 影视 一区 二区 三区 四区| 99热日本| 超碰免费欧美7| 极品出轨视频网站| 久草视频观看视频在线| 日本午夜精品理论片A级APP发布| 91人妻超碰| 色www精品视频在线观看| 亚洲美腿丝袜香蕉影视欧美成人| 91综合色| 欧美成人都市人妻| 无码九九九九| 国产精品高潮久久久无码| 亚洲中文一区二区三区| 色五月69夫妻| 亚洲天天操| 激情九月婷婷| 欧美91在线+|+欧美| 男人的天堂无码| 日本506070| 日本免费中文字幕在线| 女一区二区| 成人国产二区三区在线,男女精品。| 国产成人亚洲精品无码最新在线| 蜜桃视频成a人v在线| 久99热| 欧美 亚洲 91| 午夜AV人气不卡| 九九精品美女高溯喷水| 日韩精品亚洲一二三| 麻花豆传媒剧国产MV出差| 日本三级韩三级99久久| 日本不卡中文| 乱伦日本色图AⅤ| 人人看人人插| 91狠狠狠| 国产精品视频白浆免费| 乱人伦 国语对白:视频直接看| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 中文字幕色AV| 美女操逼福利视频| 亚洲综合骚逼| 91精品综合久久久久久五月丁香| 亚洲人精品午夜不卡| 波多野结衣一级视频| 大香蕉伊人在线成人AV在线观看 | 日本在线播放不卡一区| 97在线/亚洲| 一区三区啪啪| 麻豆av一区二区| 秋霞视频一区二区| 男同专区一区二区三区在线| 五月婷婷啪啪| 老司机福利青青草| 青久操| 中文字幕国产在线天堂| 日本一区二区三区四区五区六区七区八区九区 | 五月天久久久| 欧美,日韩,亚洲视频| 男人的天堂VA在线| 精品人妻av在线播放| 国产黄片在线免费观看| 亚洲综合99999| 欧洲亚洲国产综合在线| 国产精品一区二区后入| 亚洲97| 人妻出轨一区二区三区| 人人摸人人添人人操| 久久久精| 中文无码一二三区| 久操网无码在线| 无码人妻系列少妇| 99精品无码| 欧美日韩传媒| 亚洲色资源| 亚洲成人性爱在线观看| 欧美日韩午夜精品一区二区三区| 欧美精品 - 91爱爱| 天天色黄色影院天天操| 亚洲自拍青操视频| 国产有码一区| 精品欧美А∨无码黑人大荫蒂| 亚洲欧美日韩免费观看| 色眯眯av| 性爱久久| 乱伦a片视频| 中文字幕乱偷人妻久久艾草网| 秋霞免费AV| 中文字幕欧美丝袜07资源| 久久国产精品,久久国产| 免费av在线播放二区| 欧洲精品久久| 中文有码第五页| 乱伦av麻豆| 天天综合网合集91| 日韩久久超碰色| 亚洲砖码砖专无区2023| 一级毛片电影免费看| 中文字幕精品乱码| 操我啊啊啊啊啊| 韩三级a视频在线观看 | 亚洲久久久| 欧美亚洲国产日本在线,久久精品国产| 久久色情| 性爱乱伦一区| 操高情无码| 超碰在线免费一区二区三区| 加勒比少妇AV婷婷六月天超碰超碰| 丁香六月天| 日韩AV一起草| 亚洲女毛多水多21P| 色综合久| 国产精品96久久久久久| 色一区二区三区综合| 久操99| 激情综合网五月婷婷五月天| 国产精品点击进入在线影院| 成人26uuu| a'v在线资源| 欧美 亚洲 在线| 嗯嗯啊啊的视频| 日韩电影天堂视频一区二区| 自怕偷自怕亚洲精品| 91n处女在线观看| 秋霞鲁丝午夜无码一区二区三| 丰满人妻一区二区三区在线| 亚洲在饯| jk白丝没脱就开始啪啪| 快播久久人人aV| 狠狠干妹子| 日韩素人无码一区二区三区三州| 无码人妻一区二区三区四区老鸭窝| 国内毛片免费h片在线| 秋霞一级鲁丝片A片| 婷婷精品视频| 国产熟女自拍| 9I1性色影院| 国产自产22区| 日韩AV噜噜噜一区二区三区四区| 热热色国产一二区AV| 日日夜夜模| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 先锋精品av色鲁| 天天操天天插| 中文字幕 码 自拍 视频 区| 久久久久久久极品香蕉视频| 中文字幕 一区二区 亚洲无码| 色香色香欲天天天影视综合网| 综合欧美日韩在线观看| 日韩在线观看中文字幕视频| 欧美色色色| 久久久蜜桃一区二区三区| 天天日天天插| 亚洲综合影视| 精品久操| 亚洲在线欧美| 成人麻豆av电影网站| 黄色AAAAAAAAAAA大片| 国产一区二区三区久久久精品| 丰满熟女一区二区三区在线播放| 婷婷在线视频在线观看| 日韩三级天堂在线观看| 天天影视网综合少妇| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美成人性爱视频大全| 殴美牲| 天天享受天天看| 欧美传媒一区| 日日爱99| 欧美色性爱| 国产按摩一区二区三区| 香蕉久久精品| 欧美日本不卡| 国产又粗又长的视频| 亚洲天堂在线怕怕视频| 97超碰欧美手机| 激情99| 日本精品国产视频| 久久久无码精品人妻二区| 免费试看60秒| 日本1区2区不卡视频| 国产呦精品一区二区三区下载| 久久久不卡区一区二区三区久久久| 97在线观看免费视频l| 999久久久久久久久| 欧美色图20p| 国产和美国毛片| 长长久久曰曰夜夜成人网| 有码人妻系列| 在线天堂资源亚洲| 中文字幕精品探花视频| 激情干在线| 91女在线观看| 久久精品综合| 亚洲囯产精品女人久久久| 国产成人亚洲精品自产在线| 十八禁电影伊人网| 日韩中文字幕精品一区在线| 久久99国产综合精品女同| 日日碰视频网| 欧美一区二区三区入口| 少妇同性| 国产精品96| 一区二区三区激情在线观看| 亚洲无限观看| 2019久久久久久久久福利| 精品国产少妇高潮视频| 99少妇| 中文久久爆乳| 日日骚一区二区三区| 91白嫩| 久久人人舔人人爽舔人人av片| 久久久久久久久久久人妻| 97国产|免费| 亚洲中文一区二区三区| 国产做?爰片久久毛片?片美国| 九九拍拍精品视频在线播放| 99999精品| 日本一级一级一级一级| 精品一区二区三区麻豆| 狠狠 91| 丝袜综合网| 九九aV| 精品一区二区三区18| 激情五月天社区| 欧美一二级| 美女黄频a美女大全免费皮| 国产av热热色| 中国一级αV| 99中出在线| 久久伊人最新网址视频| 一区二区三区日韩欧美| 免费av高清无码| 九一综合精品视品av| 97色碰| 亚洲成人精品久久久| 天堂а√在线最新版在线 | 青青草在线视频美女| 欧美色亚洲| 国产精品色| JIZZJIZZ亚洲女人被躁| 欧美韩国你懂得在线 | 操香逼| 最新岛国大片| 久久久久久99999国产精品| 探花精品视频| 好色综合| 四季AV一区二区凹凸精品小说| 日韩熟女精一区二区三区不卡| 久久草在线综合视频| 啊啊啊啊好疼| 亚洲影视综合网| 日韩精品国产一区二区| 九九热re99re6在线精品| 盗摄 精品 另类 一区| 国产免费黄色一级大片| 亚洲日韩乱码中文无码蜜桃臀网站| 97任你吞精| 日韩免费a级毛片无码a∨| 男人的亚洲天堂| 亚洲成人免费电影| 亚洲日本激情| 亚洲色图A| 日韩三级在线观看mp4| 入口操逼网站| 一区AV| 欧美色道啊| 艹我哪美一区无码| 岛园激情| 情趣丝袜无码操逼视频| 青草一区二区| 夜夜夜夜爽| 精品熟女一区=区三区| 午夜偷拍久久熟女| 99精品国产户外露出| 18禁久久| 久久久久网站-538在线视频-欧美永久乱码| 欧美综合区| 人人干黄色| 啊啊啊免费视频| 呻吟 欧美 日本 中出| 夜夜操老骚逼视频网站| 精品性爱一区二区| 色在线视频导航| 97ai亚洲| 蜜桃臀av一区二区| 亚州男人的天堂| 96AV久久久| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 黄色工厂这里只有精品| 免费草草草草草视频| 亚洲不卡av在线| 伊人久久88国产女| 久久婷婷五月综合| 欧美99热| 亚洲综合一区二区| 91精品啪在线观看国产城中村| 偷拍盗拍亚洲色图图片| 中文字幕无码不卡啪啪| 91+欧美| 国产伊人自拍| AV天天综合| 欧美桃色网| 操人妻丝袜高跟| 人人操人人摸人| 高清成年美女黄网站免费大全| 婷婷久久五月综合激情| 精品久久久久久中文字幕视频免费| 亚洲欧美国产精品久久久久久久| 蜜桃臀一区二区aV| SS久久| 91成人国产综合久久精品蜜月| 日韩一级片在线看| 不卡啪啪视频| 色丁香久久| 乱色视频中文字幕| 激情五月综合网| 亚洲天堂热| 成人婷婷丁香| 男人兔费天堂| 99爱久久视频频| 精品人妻一区二区三区-国产精品| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 97精品熟女少妇一区| 九色精品视频导航1| 欧美专区日本专区| av九九| 天天操女人| 欧亚不卡| 久艹视频在线| 美女黄站| 翔田千里Av在线| 操操逼操操逼操操逼逼| 亚洲黄色a级片| 国产农村一一级特黄毛片| 色玖玖| 一区久久久二区| 亚洲一区二区三区麻豆传媒| 蜜桃久久久久久久| 日本顶级天天操狠狠操夜夜操中文字幕| 亚洲综合 欧美| 超碰在线91| 国产精品福利视频播放| 天天干天天狼在线视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产一区二区三区高清视频| 国产精品白丝在线播放 | 九九九热| 不卡av在线中文字幕| 日本日皮视频逼| 78综合网| 少妇久久久免费| 欧美日韩国产色五月综合在线| 伊人91| 国产乱色国产精品免费视| 日本人妻A片成人免费看片| 天天色悠悠激情| 91视频综合在线| 91人妻少妇| 色呦呦呦在线观看视频| 久久久影院| 97色欧州| 蜜臀久久99精品久久久久久成人小说| 欧美一二三级精品在线| 1024人妻| 另类专区加勒比| 粉嫩av平台| 久久性视频| 四季AV一区二区凹凸精品小说| 中文三一区| 色综合天天| 精品国产一区二区久久| 黄色成年| 亚洲精品久久久久毛片A片拉屎 | 亚洲和欧美裸体美女双飞视频| 国产农村妇女毛片精品久久| aa片毛片| 亚洲精品男人的天堂| 啊啊啊啊好疼视频| 午夜乱轮操逼视频免费看| 殴美性色a级欧美| 国内毛片四区| 免费中文在线| 美女毛片999| 日韩情色一区二区| 色五月综合| 国产中午字一暮区| 国产剧情AV不卡在线观看| 躁躁日曰躁2020| 天天干人人看综合| 97爱爱爱综合| 久久久人妻| 熟女精品一区二区三区| 78精品在线| 亚洲一区日韩| 四虎在线免费视频| 日韩精品免费高清视频在线| 久久久久78| 大香焦A片| 天天摸夜夜操视频| 国产精品福利资源在线尤物| 亚洲熟妇图片| a亚洲欧美色欲| 欧美亚洲综合色| 人妻久久| 亚洲情色五月天 | 一区三区啪啪| 精品少妇一区二区| 高清国产av无码| 国内一级精品| 夜夜操天| 亚洲āv网址在线观看| 裸模AV女优| 综合 欧美 亚洲 日本| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 亚洲在线| 蜜桃视频精品一区二区三区| 国产精品无码成人精品| 亚洲老司机123专区| 成人性爱视频在线看| 97热视频在线观看| 综合激情婷婷| 亚洲综合电影| 亚洲色丰满少妇高潮| 97国产高清视频在线观看| 五月天久久人妻| 淫淫总合网| 老司机天天操| 精品国产乱码久久久影院| 久久久98网站免费视频| 97爱综合| 97 国产精品| 国产精品天美传媒| 精品久久久久久中文字幕三区| 亚洲图片 激情小说| 久久草大香蕉| 国产辣妈在线视频福利| 97视频在线视频| 五月天婷婷欧美三区| 国产精品麻豆成人av| chaopen97久久| 91女在线观看| 久久久久亚洲Aⅴ无码| 97资源久久| 精品一区二区三区四区外站| 国模无码一区二区三区在线| av中亚| 粉嫩AV一区夜夜嗨| 嫩草影院在线观看精品 | 人妻一区视频| 综合久久97| 青青操少妇| 久久性视频| 国产一区免费午夜视频| 97久久久久| 日本中文字幕一区| 亚洲不卡不卡中文字幕不卡 | 亚洲美腿丝袜香蕉影视欧美成人| 婷婷成人久久久精品| 最新日产中文在线麻豆| 精品久久久久久AV无码| 亚洲一区二区AV| 亚洲91射| 强奸熟女一区二区三区| 午夜免费视频1000| 91五月天| 十八禁视频网站| 三级AV入口| 国产精品不卡高清在线观看| 亚洲激情在线| 亚洲在钱| 97精品国产精品免费观看| 午夜激情床戏激情| 亚洲男人天堂2019| 人妻22p| 凸凹视频在线观看| 99久久婷婷丁香| 人人妻人人爽 97人人看碰人免费公开视频 | 久操91视频| 亚洲在线欧美| 不卡日本一区二区| 视频在线观看青青99国产| 97一本大道亚洲一区| 极品丝袜无码| 玖玖综合.com| 国产熟女少妇一区| 夜夜影视四色| 中文操嬖片。| 强奸乱伦免费网站| 日躁天天爽爽| 日本影视久久免费| av影片在线观看不卡| 青草精品视频-日本久久久久网站| 校园春色美腿丝袜 | 午夜.DJ高清在线观看免费7| 欧美精品黑人猛交高潮| 青青草大香蕉视频| 天天看片青娱乐| 久久久久久九九九| 少妇色欲综合网2| 精品少妇99| 啊啊嗯嗯好爽| 国产精品一区二区手机看片| 中日韩一区二区三区欧美| 日韩免费av片高清无码| 亚洲第一免费视频| 伊人影院综合是一个与深夜成人在线| 人妻在线视频| 色五月网址| 久久久久久久九九九九九九| 1区2区3区中文字幕日韩| 日本天天操| 偷拍欧美激情| 你草精品在线视频| 日日嗨AV一区二区夜夜| 91模特在线观看| 九九草| 亚洲无线码欧洲精品区别| 亚洲最大成人a毛毛片| 国产色呦呦| 熟妇人妻精品一区二区视频色欲| 国产自产91区13区| 97视频在线免费播放| 久久久久久久久久久久色网| 黄色成人网久久久久久| 日本一区二区做爱的视频| 国产亚洲99久久精品| 日韩久草| 欧美一级特黄淫片在线观看| 亚洲激情综合| 久热影视| 99热在线观看| 偷拍网站久久男女男| 蜜桃久久久久久久久久久久| 91日韩网站| 色哟哟综合| 亚洲福利中文字幕在线| 啪啪91| 日本孕妇孕交| 亚洲欧美高清| 亚洲av淫乱| 夜夜爽妓女| 国产精品夜夜夜| 精品久久久一本一道| 国产毛片片精品天天看视频| 国产欧美岛国精品一区| 91国产精品熟女| 欧美色道啊| 亚洲欧美在线观看无码| 九九亚洲| 亚州国产成人精品女人久久 | 亚洲久9| 国内毛片婷婷六月色| 人夜夜精品网站香蕉嫩草| 色网1| 综合伊人激情| 欧美日韩国产在线| 久久久久9999妇女| v91av| 欧美久久伊人| 欧美暴力猛交| 成·人免费午夜在线观看| 1769国内精品视频| 亚洲熟妇极品| 伊人欧美大香蕉视频| 影音先锋视频在线| 欧美色图亚洲特色| 久久精品| 超碰97起碰| 国产后入式在线观看| 操逼1区| 欧美中字二区| 一二三区操逼国产91| 日本久久网| 久久天堂网| 免费簧片在线观看| 精品176精品2| 两女互慰AV高潮喷水在线观看| 亚洲综合一区二区| 99精品久久久久久| 亚洲暴力强奸AV| 超碰天天操| 久久精品午夜国产亚洲AV无码| 视频在线观看一二三区| 亚洲国产精品无石码久久| 99色天堂| 精品欧美乱码久| 亚洲av淫乱| 顶级少妇BT天堂| 国产精品美女久久久久久网站| 男人天堂婷婷五月天校园春色| 日韩无码人妻中字久久三区四区| 亚洲欧美日韩精品久| 成人欧美日超碰| 亚洲精品影视老司机| 日韩资源网| 伦伦成年午夜免费视频| 亚洲区限制级| 人人爱人人操人人性| 欧美人人天天网| 在线精品福利免费播放| 色婷婷成人综合| 激情小说图片亚洲首页| 欧美91在线+|+欧美| 欧美日韩一区二区三区四区蜜桃| 日欧美色| 激情熟女12P| 加勒比综合a∨| 懂色AV蜜臀无码精品APP| 2020中文字幕在线| 五月天综合| 26uuu最新| 国产亚洲色婷婷99精品91| 国产av强奸美女| 欧美国产操逼| av大香蕉| 99婷婷一区二区| 加勒比AV天堂| 伊人久久艹| 精品国产Av无码久久久伦古装| 亚洲精品丝袜| 国产精品女久久久久av爽| 狠久久| 97青青操视频| 97人人操人人摸人人爱| 麻豆一区二区三区在线看| www.婷婷五月天| 久久伊人亚洲AV无码网站| 欧美第二页午夜| 97九色人妻| 久久五月天婷婷丁香中文字幕| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 综合欧美日韩在线观看| 91亚洲丝袜熟女| 性色乱AV一区二区| 午夜寂寞欧美| 国产精品久久| 久久久久国产精品人妻aⅴ天堂| www色色com| 女同女同恋久久级三级| 色97欧美| WWW.加勒比人妻一区不卡.com| 色牛牛AV| 国产91av在线播放| 欧美成97爱| 精品乱码久久久久| 国产树林里野战在线看| 亚洲乱色熟女一区| 成人国产二区三区在线,男女精品。| 久久中文色图| 婷婷丁香五月综合| 美国aaaaa一级黄片| 天天操夜夜操| 草久在线| 丰满人妻一区二区中文| wwe 天天干.com| 久久一二三四五六七八九区区区 | 亚洲综合第一页| 99热线麻豆 | 久草色在线观看| 91艹逼精品| 99国内精品| 99热国产| 国产AV超爽| 亚洲诱惑| 夜夜爽夜夜摸夜夜操免费视频| 午夜精品99久久久久传媒| 26uuu国产免费观看| 我想要 啊 啊 啊| 粉嫩久久久极品| 91美女色视频亚洲| 操我啊啊啊啊啊| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产av美女被艹的乱叫| 国产成年女人免费视频播放a| 青青草中文字幕| 欧美宗合网| 精品国产乱码久久久影院| 日韩久草| 天天色怡春院| 最新中文字幕av| 另类综合另类| 欧中日成人免费影视| www鬼畜国产男人的天堂| 亚州精人品大香蕉| 色综和网| 青青草大香蕉在线视频| 日韩国产十八禁| 国产精品亚洲四五区在线观看| 极品五月天噜噜| 激情五月丁香五月| 丁香六月婷| 亚洲国男人的天堂| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 亚洲欧美国产其他二区| 亚洲第一无码播放立川理惠| 国产亚洲精品玖玖玖在线观看| 99在线无码精品秘 入口黑人| 眼镜人妻101.com| 中文字幕一区二区日韩网| 青青草中文字幕| 熟妇女伦乱视频| 啊啊啊啊啊啊啊啊在线观看| 精品午夜福利| 青娱乐淫乱1314| 手机看片日韩人妻| 曰本人妻人人澡人人夹| 无码国产精品96久久久久孕妇| 人人操人人93| 国产9 9在线 | 亚洲| 日韩性爱1级片视频| 狠狠色噜噜狠狠狠狠狠色综合久久 | 五月亭亭六月丁香| 黄色免费网| 亚洲成人免费中文字幕| www黄片免费看com| 伊人婷婷五月天| 一区二区三区四区五区高清无码永久视频| 亚洲成人av色网| 色婷婷丁香五月| 99re不伦| 大逼色网站| 无码免费精品高清| 无码精品久久久天天影视| 偷拍偷窥与盗摄视频专区| 高清国产精品无码| 顶级丝袜熟女一区二区三区 | 操操逼操操逼操操逼逼| 大香蕉黄色一区| 毛片中心9视频99| 97国产亚洲中文在线| 久久久免费懂色| 91人人操| 国产主播福利| 亚洲自拍偷拍视频在线| 人妻 中文 日韩| 艹我哪美一区无码| 狠狠做深爱婷婷久久二区| 精品无码产区一区二| 先锋女优在线观看视频| 日本操逼无码| 抽插无码高清一区| 国产亚洲国产超碰| 久久成年精品| 亚洲综合嫩| 免费国产| 亚洲性爱无码乱伦av| 97视频在线免费| 男人的天堂2018| 久久华人网| 100啪啪视频大全| 熟女性视频| 久久久91| 在线黄页看毛片| 我想要 啊 啊 啊| 人妻熟女午夜精品在线| 欧美色青| 激激五月| 精品国产av一区二区三区四区入口| 看看小穴| 亚洲欧美色图小说| 东京成人一区| 日本三级一区二区 在线| 国产25页| 亚洲成人久久一区二区| 蜜乳av一区二区三区| 高潮的A片激情扒开一区| 金典av| 亚洲国产一级精品毛一级精品看免费视频| 美女干逼2| 操逼视频色| 亚洲天堂美臀在线| 成人乱码一区二区三少妇| 国产精品第一页国产大屁股视频免费区i| 亚洲性爱电影| k频道色撸撸| 超碰免费人人| 91天天看| 成人一区二区三区四区| 亚洲色图殴美色图激情乱伦| 欧美啪啪天堂| 天天肏美女| 三级激情网站| 97超碰久| 91大学精品激情戏| 亚洲巨爆乳一区二区三区四季网| 美女啪欧美一区| 留下AⅤ黄色片| 日韩欧美加勒比| 久久久穴999| www欧美性爱| 亚洲天天操| 天天摸夜夜操视频| 婷婷激情综合网| 女性喷水高潮在线观看| 亚洲污污网站| 久久一二三四五六七八九区区区 | 日韩AC| 老司机福利青青草| 日韩淫色网| 一二三四日本视频高清| 综合 欧美 亚洲 日本| 一二三区精品视频| 1二区9| 日本一区二区不卡精品| 高潮精品| 日韩干B| 一二三四日本视频高清| 亚洲国产成人综合碰碰三级经典| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | WWW4虎| 亚洲AV无码成人精品久久| 国产真实子伦对白| 人人妻人人色一区二区三区| 天堂岛av| 日韩成人大片在线观看| 操婢日韩| 久久超碰日韩精品| 久久人人爽av亚洲精品天堂桃色| 欧美日韩99精品麻豆传媒| 人人摸人人叼| 91天天综合| 国产精品69久久久久久久| 亚洲妇色| 嗯嗯啊中文字幕| 宅男影院久久久,99| 91蜜桃传媒精品久久久一区二区| 图色综合网| 日韩另类色图| 黄色av一区二区在线| 欧美一级美片在线观看免费| 亚洲Av诱惑| 久久精品女同亚洲女同13| 亚洲精品欧洲精品| 五月综合视频| 91干熟女| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久啊啊| 超碰99热| 精品一区二区人妖| 三级AV入口| 精品九九| 狠狠躁伊人中文字幕| 亚州成人A√| av中文在线| 99热只有这里有精品| 天天色天天干天天爱| 在线a亚洲视频播放在线| 精品久9| 91N综合网| 啊啊啊快操我视频| 亚洲综合性感在线| 1区2区3区在线视频| 天天日天天插| 日本天天色| 日韩啪啪网| 午夜一区| 欧美 亚洲 偷拍自拍| 日本高清一区二区在线| 久久久久亚洲?V片无码V| 欧美日韩大黄片| 亚洲无线码欧洲精品区别| a片在线播放| 人人看黄色视频| 久久伊人影院| 亚洲人妻久久久| 天天性射网| 亚洲天天自拍| 久久综合97| 性色A∨91| 久久久久久九| 中文字幕丰满人妻日本| 精品欧美不卡在线播放| 成人国产视频在线观看| 人人妻人人爽一区二区三区| 欧美大的香蕉有线电视视频| 91色亚洲| 日本综合色图| 日本孕妇一区二区视频操逼免费看 | 天天情欲宗合网| 视频在线观看青青99国产| 加勒比人妻综合| 941超碰| 亚洲精品国产拍免费91在线| 十八禁黄色| 精品人妻一区二区三区日产乱码| 在线欧美亚洲| 精品无码秘 人妻一区二区| 欧美大的香蕉有线电视视频 | 日韩天天本| 蜜桃臀AV在线| 俺也射| 麻豆色99999| 91欧美综合| 亚洲**2021在线观看| 美国aaaaa一级黄片| 成人精品一区二区91毛片不卡|