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

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ā)問題還分場景那空指針就是天天見的??汀S幸淮挝覀兊挠脩粜畔⒔涌谕蝗辉谀硞€(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í)候越來越覺得**性能問題不是什么高深莫測(cè)的東西大多數(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ì)的最好有壓測(cè)或者回放作為佐證。第五步沉淀復(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ī)范梳理才把日志從“能跑就行”提升到“可觀測(cè)”的水平。日志規(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 測(cè)試策略與灰度發(fā)布編碼事故里很多都是可以通過測(cè)試提前發(fā)現(xiàn)的。我們現(xiàn)在的分支覆蓋率要求可能不算高但核心鏈路的場景測(cè)試覆蓋得很全。什么叫核心鏈路就是用戶下單、支付回調(diào)、退款、庫存扣減、對(duì)賬這些每一個(gè)都要有正反向用例。測(cè)試環(huán)境的問題是數(shù)據(jù)量小、不會(huì)觸發(fā)并發(fā)和性能隱患所以單測(cè)過了不代表生產(chǎn)安全。我比較推崇的是把壓測(cè)常態(tài)化。團(tuán)隊(duì)每隔一個(gè)迭代做一次核心接口的壓測(cè)不需要極其精確但至少能知道當(dāng)前接口的瓶頸在哪里。很多線上超時(shí)事故其實(shí)在壓測(cè)階段就該暴露了。灰度發(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ì)兒再離開工位。不用多十五分鐘就好往往能攔住大部分問題。第三**不要迷信“測(cè)試環(huán)境能測(cè)出來”。**生產(chǎn)環(huán)境的數(shù)據(jù)量、并發(fā)量、網(wǎng)絡(luò)狀況測(cè)試環(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
返回資訊列表
成年人性爱日韩| 蜜桃狠狠色伊人亚洲综合| 日韩熟女操逼| 九月伊人中文字幕| 四虎在线视频| 久久综合av| 玖玖97综合| 99久久精品国产高潮| 亚洲精品一区二区精华| 最新岛国大片| 欧美,日韩,亚洲视频| 新亚洲无码| 青青久草| 国产精品高朝久久久久久久| 久超碰这里只有精品| 欧美色图人妻| 中文熟女五十乱码在线| 国精综合一二三区影视| 日韩精品99久久久久久中文字幕| 九九九九免费高| 亚洲国产综合久久天堂| 中国黄色特级精品一区二区三区片| 99爱久久视频频| 色情综合| 99热最新网址| 久操B网| 天天躁日日躁AAAXX| 国产亚洲女v在线观看| 国产精品一区二区手机看片| 亚洲无码国产探花在线观看| 成人无遮挡毛片免费看| 视频国产欧美在线播放| 亚洲第一页第二页激情| 日韩免费a级毛片无码a∨| 九热久| 啊啊啊好舒服视频| 97亚洲综合影院| 少妇综合网| 日韩欧美传媒一区国产| 综合久久2017| 成人蜜乳小视频网站| 国产精品国产精品国产| 日韩啊V| 亚洲色图欧美色图另类图片| 少妇熟女1区2区3区| 91内射| 日本视频在线中文字幕| 色婷婷六月丁香七月婷婷| 久久超碰国产一区二区三区| 欧美十八禁网站| 91激情网| 综合激情一一91| AV男人天堂网| 老外又粗又长一晚做五次| 收看日本人日bb| 成人激情无码在线视频| 人妻丝袜无 码视频专区| 夜夜嗨一区二区| 欧美香蕉视xxx| 欧美在线干| 好湿好紧视频| 国产精品美女视频诱惑| 精品午夜福利国产一区二区在线观看| 俺去也婷婷| 国内黄色精品| 久久网亚洲| 99热这里只有精品18| 香蕉视频欧美一卡二卡| 国产亚洲精品美女久久久久久2021| 激情无码日韩| 又黄又粗又硬又长又大| 插插综合网天天影视网| 一本精品日本在线视频精品| 国产一区二区三区影片| 久久免费中文字幕在线观看| 人妻碰碰碰碰碰碰| Av色五月| 日日妻色网| 人人弄人人摸| 美中韩AV综合网| 熟女一区二区| 久久人妻| 91c色| 无码免费一区二区三区啪啪| 99久在线精品99re8a| 日韩无码第3页| 无码天天操| 日韩婷婷| 97欧美色| 99色热国产视频精品| 色情五月综合婷婷| 亚洲色图综合网| 人人操欧美风骚| 操逼啊啊啊91| 六月婷婷一区二区三区| 好属操| 国精精品无码一二三区水多多| 久久超碰久| 免看60秒涩涩视频| 亚洲 日韩 丝袜 熟女 变态| 亚州综合AⅤ| 久久99国产精品| 国产一区二区啪啪视频| 成熟熟女国产精品一区二区| 亚洲国产精品无码AV久久| 亚洲午夜福利在线影院 | 青青草中文-久久青草精品一区二区三 | 亚洲国产一区二区三区在线 | 围产精品一区二区三区视频播放| ss久久| 91痴汉| 大香蕉乱伦视频网| 色综合 加勒比| 豆花视频操逼网址| 色 亚洲 91| 视频一区二区三区精品| 青苹果影院男人的天堂| 99re在线| 青青色综合| 日本一道在线播放高清| 久久久99久9| 麻豆视频一区二区| 无码又爽又硬又激情免费视频| 美国三级日本三级久久99| 中国少妇XXXX做受| 国产精品在线一区二区| 国产丝袜视频| 亚洲天堂一区| 熟女高潮合集-永久久久-成人AV| 亚洲天堂一区二区久久| 熟女熟妇伦久久影院毛片一区二区 | 草草影院最新网址| 欧美大片天天看| 日韩国产乱子伦App| yazhouzaixian| 国产精品岛国片在线观看| 天欧美在线| 大香蕉伊人久久| 国产97色在线| 影音综合网| 黄色欧美性爱视频| 青青草好吊色| 午夜福利区| 亚卅熟女乱色| 男人的午夜天堂| 男人下部插入女人下部| 激情综合五月| 国产1024在线播放| 天天操天天日天天干| 国产精点久久久成人| 欧美色亚洲色| 日本加靬比网站发布页| 人妻少妇精品一区二区三区| 成人av动漫在线观看| 亚洲在线a| 动漫片子网站3黄| 日本三级A片网站com| 欧美在线色| 久久xxxx| 岛国黄色大片网站| 亚洲国产美女久久久久| av2014 日韩在线中文字幕| 人妻啊啊人妻啊啊| 人人爱人人操人人性| 国产尤物在线三区| 亚洲自拍一区夜夜操| 国产精品久久久久综合| 99国产在线 精品 视频| 亚洲 在线| 激情四射熟女丝袜| 青青草啪啪网| 天美传媒国产原创中文字幕亚洲欧美另类 | 97碰碰日本乱偷人妻中文的| 国产精品久久发布| 99热9| 99亚洲国产精品色一区二区三区| 一本色道久久综合狠狠操| 日韩AV一区二区三区三州三州| 99热在线观看| 最新岛国大片| 粉嫩在线一区二区懂色| 精品一区二区综合熟妇| 日本孕妇一区二区视频操逼免费看 | 欧美性爱一区二区三区四区| 夜夜嗨AV一区天天| 无码伊人久久大杳蕉中文无码| 欧美极品美女aaaaaa级黄片| 亚洲无码日韩电影| 亚洲精品国产熟女久久久| 一区二区 电影 亚洲| 性爱久久| 99精品热| 成人看片网站| 大香蕉手机视频| 爱av免费| 青娱乐日韩无码| 亚洲欧美在线观看免费| 国产亚洲色婷婷久久99精品91葵花宝典| 99热| 在线国产福利网址导航| 日本欧美一区二区三区视频麻豆| 91福利网在线观看| 69视频入口| 亚洲97| 超碰地址久久| 日韩免费av片高清无码| 中文字幕日韩专区精品系列 | 婷婷色一区| 婷婷五月花| 色婷婷狠狠| 亚洲天堂区| 美女刺激久久国产欧美| 久久超碰爱| 精品久久在线区一区| 一区二区激情国产熟女| 精品网站9999| 美美91成人国产精品欧美精品久久久久久久 | 欧洲乱码一区二区| 久久久专区| 玖玖草久草99蜜月一区二区三区| 成人一级二级| 熟女少妇视频| 日本在线观看网址| 久久东京伊人一本到鬼色| 精品成人无码| 色综合久| se,,,亚洲欧美| 亚洲色图自拍| 999999精品| 黄色大片视频在线免费看| 超碰日韩人妻| 国产精品自在自拍视频| 亚码激情| 330dv亚洲成年视频网| 日韩 女同 综合| chaopen97久久| 日韩十八禁| а√天堂资源官网在线资源| 成人午夜小视频手机在线看| 五月综合色| 青青草久久一区网| 91青青在线| 噜噜噜无码AV一级一级久久影院| 夜色五月天| 亚洲精品美女操逼| 亚洲欧美不卡线| 日本人妻丰满熟妇久久久久久| 欧美性爱无码一区二区三区| 国产日比| 色眯眯av| 日韩一级性爱无码| 日韩成人电影AV| 伊人青青一区成人视频在线观看区| 精品乱码久久久久| 亚洲无线观看久久| 久久99久久99精品免视看婷婷| 久妇网| 天天搞欧美| 国产精品女aA片爽爽视频| 啪啪资源网| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲资源站| 超碰国产精品久| caorenqi shipin| 精品视频久久区| 呦呦影院| 亚州宗合另类| 中文字幕在线免费观看 | 蜜桃午夜视频一区二区 | 日韩视频小说在线观看| 亚洲欧洲日本精品中文a∨| 激情五月天色色网| 九九亚洲色在线观看| 一级性爱视频免费观看| 伊人久久88国产女| 蜜臀网址在线| 亚洲黄色a级片| 久久精品老司| 国内精品久久人妻性色av| 人妻丝袜无 码视频专区| 久久精品无码不卡| 欧美,日韩综合久久| 亚洲欧美另类少妇精品| 久久草草亚洲蜜桃臀| 殴美牲| 色九久| 天天日天天色| 色臀AV| 五月丁香色综合| 国产91美女视频| 人妻99p| 日本天天干天天日一区| 九九探花视频在线观看| 天美传媒av一区二区| 免费观看国产不卡av| 中文字幕制服欧美久久一区| 欧美精品一区二区少妇免费A片| 九九无码久久精品视频| 在线日韩精品一区二区三区| 成 人 影视 一区 二区 三区 四区| 综合欧美亚洲| 超碰性爱97| 国产精品亚洲色婷婷久久久| 99热日| 日韩激情啪啪| 中文字幕乱妇免费视频| 99热精品青草在线| 久久九九国产精品| 欧美肥臀在线| 人妻天天夜夜爽一区二区| 永久免费观看的毛片的网站| 国产99999久久精品| 久久激情网| 色欧美综合| 91色图片| 99热只有这里有精品| av日韩中文字幕| 国产11页| 日本无码1| 久久精品无码熟妇一区二区三区视频导航 | yirendaxiangjiashipin| 99这里只有精品国产| 亚洲一区亚洲天堂| 欧美久久九九| 亚洲成?V人片在线观看福利| 诱惑网综合| 中文字幕久久精视频久久大全| 精品人体无圣光凹凸| 九九超碰综合网| 久久久不能久久久久| 91影库| 蜜汁欧美| 综合av影片| 无码又爽又硬又激情免费视频| 亚洲?V高清一区二区三区尤物| 91欧美丨精品丨入口| 久久激情视频| 日韩无码黄色片| 91人妻在线视频| 成人在线午夜视频一区| 欧美极品女人的天堂| 欧美激情性爱视频网站| 天天综合亚洲综合| 青娱乐黄色录像| 九九九九九精品十六| 伊人影院中文字幕| 欧美日韩第一页| 香伊人在线| sewuyueav| 日韩精品影视| 精品无码一区二区人妻久久蜜桃| 久久国99999| 国产后入精品| 97天天摸天天碰| 欧美强奸乱| 久久久久亚洲三级电影| 亚洲熟女乱色一区二区三区| 亚洲人久久久久日| 国产AV天美传媒一区二区三区 | 婷婷大香蕉| 亚洲精品影视老司机| 日韩兔费看黄片| 欧美色网络| 久久久久久中文| 国产乱人妻精品入口| 91老熟女逼| 色色99| 五月婷婷爱六月丁香色| 九九久久一区二区伦理| 亚洲第一免费视频| 日本欧美韩国国产在线| 极品欧美一区二区三区| 国产无码三级视频在线观看| 91美女在线观看| 久久一区二区蜜桃| 熟女少妇视频| 日本色日夜干| 一区二区乱码福利| se吧提供91精品国产91久久久久久| 亚洲天天操| 综合色一区三区二区| 91性情| 深夜国产福利| 亚洲色人| 国产精品露脸在线观看| 日本十八禁免费看污网站| 黄片qw| 国产宅男宅女在线观看| 国产一级不卡在线观看| 特级丰满少妇一级AAAA爱毛片| 亚洲中文一区二区三区| 色婷婷九月天天综合| 国产福利av精彩对白| 操逼视频免费日韩无码| 色情五月综合婷婷| 啊嗯好大视频在线观看| 偷拍色图| 国产精品丝袜在线| 日韩性爱小视频| 飘花国产午夜精品不卡| 日韩人成网站在线播放| 25国产精品免费观看| 夜夜夜久久| 国产偷仑| 成人草草视频| 亚洲国产一级黄色视频| 国产伦乱91| 久久久一区二区三区四曲免费听| 久九九九九九九热| 九一国产精品| 国产偷拍网站| 国产精品免费视频人成| 色老汉玖玖爱| 啊啊啊在线看| www国产无码| 国产精品无码av在线| 色情五月丁香| 欧美色图私拍91| 台湾佬中文娱乐网久久久久久久久久com| 国产视频97| 99re免费| 欧美极度丰满熟妇hd| www鬼畜国产男人的天堂| 狠狠夜色午夜久久综合在线| 日比av无码| 日韩欧美成人午夜福利| 超碰资源亚洲97| 综合激情一一91| 97在线免费视频| 国产精品久久久久中文字幕| 色香阁在线| 人乳av| 亚洲欧洲自拍图片专区满春格| 思思在线免费视频| 天天夜夜久久| 久草在线| 九九亚洲视频| 亚洲情色无码一区二区三区| 眼镜人妻101.com| 婷婷六月天| 超碰97导航| 久热影视| 色性荡荡荡荡视频| 欧美性夜| 国产免费一区在线观看| 日夜尻逼网| 中文精品一区二去| 天天日日本| 久久九色| 操人妻少妇中文| 成人久久久精品| 一二三区在线| 插插综合网天天影视网| 99国产精品视频尤物| 成人精品电影| 试看60秒 爽| 亚洲黄色影视| 亚洲Av诱惑| 日韩中文字幕二区| 超碰97人人乐| 9久热| 激情婷婷丁香网| 成人性爱全视频观看| 成人欧美日超碰| 国产乱伦亚洲| 国产精品久久久久久久久久久久久久久| 97爱| 97爱爱影院| 欧洲黄色网| 97色在线观看| 自拍偷拍国产欧美日韩韩| 久久免费老司机精品| 淫荡网址| 欧美内射少妇| 国产成人自拍视频视频| 麻豆天美在线喷水AV| 亚州操逼图| 91国精产品| 精品亚洲黄色片 国产精品导航一区二区| 久久骚少妇| 欧美丰满少妇xx高潮| 狠色婷婷久久一区二区三区_| 欧美性爱第一区| 色九九综合AV| 99精彩视频| 九九九久久久| 久久久禁| 五月婷婷六月丁香| 熟女乱3伦999| 99热国产精品| 韩国久久97| 国产a片操逼| 99热99re6国产在线播放| 色色色色网站| 神马久久久久| 午夜福利在线合集| 99热免费| 日本一级婬片试看三分钟| 夜夜国自区| 日韩欧美视频青青| 蜜乳av一区二区| 久久有码视频| 免费9 1久久| 日本一级二级三级网站| 97国产超碰| 加勒比伊人综合| 日韩精品国产精品五码一区二区| 成年人网站在线免费观看| 日韩精品电影| 97舔舔| 夜色AV无码手机在线影院| 亚洲高清色综合| 草伊人高潮喷水超碰| 97任你吞精| 校园春色综合网| 久久久九精品| 少妇一区二区三区在线观看| 日韩性爱高清免费视频| 国产午夜福利电影免费在线观看 | 97超碰精品图片| 天天综合影院91| 色九区| 亚洲成人免费中文字幕| 亚洲福利影院一区久久| 精品人妻15区| 国产精品高清2021在线| 日本久久久久久久久久| 色综合久久夜色精品国产天堂| 口爆综合网| 亚洲一区二区中文字幕| 女同女同恋久久级三级| 国产综合色精品在线观看| 久久久三区二区一区| 国产美女激情| 久草婷婷| 欧美精品双插| 中文字幕88av在线| 亚洲不卡av在线| 久久久蜜桃一区二区三区| 黄色性爱网网| 激情久久久| 东北丰满熟女国产一区| 亚洲国产91精品一区二区久久| 97在线观看免费视频| 四虎影视欧美| 精品久久97| 好湿好紧视频| 久热这里只有精品9| 大但人体久久久久| 亚洲欧洲激情| 精品免费成人久久| av2014 日韩在线中文字幕| 久久超碰av在线| 是还免费视频1727我| 亚洲97p| 欧美日韩青操| 国产成人精品午夜福利| 人妻激情在线视频| 老色鬼成人精品视频下载大在线观看| 中出在线视频| 一区二区三区麻豆| 秋霞Av理论一级在线| 欧美综合天天| 亚洲男人久久综合天堂| 国产极品美女高潮无套在线观看| 免费伦费视频在线观看| 五月天黄色激情视频| 日韩AV一起草| 亚洲影视综合网| 97高清啪啪| 精品久久久不卡一区二区| 偷拍片久久| 91天天综合在线| 欧美亚洲情色| 国产又黄又爽又刺激久久久久久| 亚洲蜜乳av| 精品久热| 麻豆AV96熟妇人妻| 久久色AV线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 日韩成人私密一级精品av| 天天射天天操天天干天天吃2018| 免费一级黄色录像影片| 极品极品色影院| 麻豆黄色五月天| 91nbbbbbb| 嗯嗯不要 视频| 人人操人人干xxx| 老司机射| 亚洲另类久操网| 欧美性综合| 欧美高清第一页| 亚洲成人av电影在线| 91人妻PORNY九色大屁股| AV天天综合| 超碰视97中文| 欧美日韩插逼视频| 日韩另类| 日本欧美色| 久热热| 亚洲啪啪视频一区二区| 99热99re超碰精品| 五月天AV资源| 日韩精品在线观看观看| 日韩欧美女优电影| 黑人粗大V S日韩女优视频| av激情亚洲五月天| 欧美一级做a爰片免费视频| 欧美有码亚洲中文字幕一区二区三区四区| 国产欧洲精品亚洲午夜拍精品| 亚洲欧美999| 欧美日韩国内不卡| 天天天天天天天天综合| 91操熟女| 久久久A∨| 四虎精品一区| 黄色电影在线播放综合网站| 青青草原人妻| 久久久久久十| 一区二区三区激情在线观看| av天天在线| 91欧洲国产成人久久精品网站| 综合色啪| 97jingpin| 欧美日韩国产三级黄色| 精彩国产视频播放1区2区| 色五月av| 丁香激情网| 亚洲区 欧美区| 色小视频蜜乳| 人妻 欧美亚洲| 久久精品高清AV| 久久綜合很很很| 另类亚洲一区二区三区| 中文一区二区婷婷视频| 男人亚洲天堂| 亚洲人精品久久久喷水| 日本女人久久久| 屌色在线97视频| 欧美高清16| 国产毛片精品一区二区色欲黄A片| 熟女一区二区三区四区| 国产家庭乱伦网址| 无卡一区=区| 在线观看综合精品亚洲| 精品国产乱码久久久久久日本公司| 操逼操逼视频操逼| 超碰综合97在线| 熟女乱伦二区| 丝袜AV一区二区三区| 97色碰| 夫妻天天操岛国视频| 精品四五区| 九九九精品成人免费视频小说| 伊人大香蕉在线| 亚洲熟女乱色一区二区三区| 东北老女人的激情视频| 日韩人妻制服丝袜av| 91伊人久久在线| 日韩性爱播放| 另类图片天天影视| AV高清一区| 国产精品一级特黄aaa大片在线观看| 午夜毛片高清免费不卡| 无码视频黄色网战| 日本加勒比无码专区| 台湾佬中文娱乐自偷自拍| 17c在线成人免费A片观看| www被窝色com| 亚洲操操操| AV乱伦专区| 午夜精品人妻二区三区| www.婷婷六月天| 98人妻精品一区二区色欲| 九九热精彩视频| 丁香九月激情| 无码久久亚洲高清,| 97操综合| 岛国小电影| 久久精品中文字幕无码l| 91白嫩| 欧美久久婷婷| 久久亚洲婷婷| 一本色道综合久久欧美| 久久青娱乐| 欧美色图天堂网m| 爽 好舒服 无码刺激久久| 欧美爱爱97| 啊嗯嗯啊好大好爽| 九一屌逼| 91丨九色丨国产打屁股| 亚洲国产精品成人综合| 久九九九九九九九热| 粉嫩国产精品久久久| 亚洲一区二区三区欧美日韩| jazzjazz国产精品麻豆| 久久大香蕉97| 久久久不卡区一区二区三区久久久| 国产97色在线| 爽极品影院| 啊啊啊啊操死我| 久久视频,这里只有精品| 小草精彩毛片| 成人午夜无码视频| 国产东北女人在线视频| a片自拍直播视频| 亚洲色图日韩丝袜制服一区二区五月在线| 国产极品久久久| 色综合一区二区三巨| 久久精品国产亚洲AV成人直播| 欧美不卡在线一区二区| 91欧美经典| 99草精| 欧美色图人妻| 亚洲情色在线| 久久久久久久久久久久久久久乱码 | 亚洲97P| 欧美制服网站美腿丝袜| 婷婷五月天色色| 乱伦系列一区二区| 国内毛片婷婷六月色| www.亚洲成人一区| 久久只有精品| 欧美日韩在线小说 | 亚州色图片在线色| 97爱b| 香港日本韩国人妇99www.wccm20| 超碰爽人妻熟女Av| 老鸭窝亚洲毛片| 人妻啊啊人妻啊啊| 亚州色交| 久无码| 超碰激情808| 欧美熟妇乱码在线一区| 快点操死我| 久久久9品一区二区三区| 日韩另类色图| 国产青一二三| 熟妇人妻一区二区三区| 97国伦国色| 五十路熟女工口| 日本精品性生活久久久| 韩日精品福利视频一区不卡在线免| 国产亚洲色婷婷99精品91| 丝袜av一区二区三区| 999综合色| 亚洲国产中文字幕| 婷婷丁香人妻 | 欧洲黄色网| 翔田千里Av在线| 成人精品一区二区91毛片不卡| 欧美精品日韩久久久九| 粉嫩不卡一区二区性爱| 99re久久| 国产精品白虎| 久久大线蕉一区| 超碰伊人在线| 天天干人人乐| 色激情综合网站| 成 人片 黄色大片| 91干熟女| 亚洲熟妇图片| 激情视频一二三| 久草电影网| 婷婷久久五月综合激情| 国产精品免费日韩| 五月天激情四射| 国产精品九9| 97视频在线免费播放| 黑人性欧美| 少妇被c 黄 免费观看| 人妻一二三区| 9色在线| 天美一二三在线观看Av| 91精品少妇搡搡搡| 神马九九| 日韩av在线免费网站| 99无码视频| 91丝袜激情在线| 97在线播放 | 亚洲欧美一区二区三区在钱蜜桃| 欧美一二在线| 欧姜老司机| 性爱免费视频成人| 色播五月丁香| 欧美91网站| 9久精品| 在线视频日韩欧美国产| 欧美久久毛片基地| 国产精选视频| 老司机老司机午夜影院| 欧美有码激情视频一区二区三区| 青青伊人久久| 婷婷色色五月天福利| 色综合尤物| 欧美72网页| 五十路熟女人妻一区二区在线观看 | 性吧在线视频| 青操影院| 午夜无遮挡男女啪啪视频| 发朗少妇买婬全视频中文| 久久久久78| yaouchengrenav| 激情婷婷| 日本熟妇自慰性高潮一区二区三区| 人妻一区二区三区四区视频| 色综合久| 色原狠狠天天天| 日韩中文字幕人妻视频| 精品久久久久黄少妇| 东京热综合久久一区二区| 国产区性爱在线视频秋霞豆| 欧美日韩亚洲天堂网| 久操精品| 亚洲中文字幕97久久精品少妇| 天天操熟妇| AV网站高清无码在线观看| 91人妻视频| 欧洲性爱无码区| 久久人人妻| 精品无吗m| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 91精品人| 116美女午夜| 色图综合网| 欧美久久九九| 婷婷涩嫩草鲁丝久久午夜精品| 99在线观看| 国产一二三福利视频网| 五月天激情影院| 疯操AV| 久久五月视频| 大香蕉中文201| 一本道综合色图| 美女诱惑久久| 精品区9| 超碰97中文| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 久区视频| 99精品在线观看| 搡老女人老91二区| 1024亚洲中文字幕久在线看片你懂的 | 亚洲 自拍偷拍 欧美| 使劲用力艹少妇视频一区二区| 国产精品区在线12p| 男人天堂综合| 99久久精品国产高潮| 亚洲色图日韩丝袜制服一区二区五月在线 | 天天香香欲综合| 成人无码在线超碰网| 国产精品久久久久久久久久久久久久久 | 日日日日做夜夜夜夜无码| 天天看高清麻豆| 日韩少妇一区二区三区| 狠狠躁伊人中文字幕| 99热超碰| 无码天天操| 亚洲人妻久久久| 亚洲成人av色网| 久久透逼视频| 人妻少妇久久| 久久精品欧美一区蜜桃| 国产精品爱欲| 91模特在线观看| 区日韩亚洲乱码av电影| 免费一级精品啪啪视频| 色综合1991| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 人人妻人人狠人人| 亚洲91色| 加勒比五月天| 欧美视频在线第3页| 岛国激情视频软件| 国产美女自拍视频| 99re在线观看| 久久五月丁香| 亚欧免费| 大香久久| jiujiujiujingpin| 久久色人体| 黑人无码一区二区| 粉嫩av在线| 最新9久久久9免费视频| 亚洲欧美一区二区三区在钱蜜桃| 四虎影视永久在线免费| 78超碰| 91欧美巨乳| 欧美日本久久精品一区 | 亚洲风情在线观看| 日韩精品三级片长长久久| 一区二区三区精品黑丝白丝酒店对鸡 | 欧美日产国产在线成人第一区| 中文字幕人妻丝袜乱一区三区| 欧美一二在线| 欧美熟爽综合| 国产热RE99久久6国产精品首 | 欧美激情久久久久| 在线观看AV不卡| 日韩性爱网址| 久久亚洲AV无码专区首页| 九九九久久久| 蜜臀网 一区| 毛片麻豆91糖心精品毛情片| 午夜精品99久久久久传媒| 久久欧美性爱视频| 18禁精品网站在线看| 亚洲一级黄色毛片| 91综合网在线| 91中文字幕在线观看| 裸体美女久久久| 久久天天躁日日躁狠狠躁| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 猛交交| 欧美一级色| 黄片不用下载在线观看| 日韩激情小说一区二区| 日本成人免费一区二区三区| 亚洲精品久久久久久久蜜桃臀| 99在线观看视频在线高清| 福利大香蕉| 青草视频人妻在线观看| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 久久中文字幕一区不卡| 欧美人体性爱互联网第一页婷婷日本| 欧洲综合色| 久区视频| 天天天干977| 欧中美三级一区二区三区| 色天天野狼综合社区| 精久久久| 精品少妇一区二区| 久久久免费高清中文视频| 91劲爆| 97在线观看免费| 热热色青青草| 97久久超碰日韩精品| 国产后入式在线观看| 极品人妻少妇综合| 大香蕉伊人75| 男人的天堂2019| 人人操欧美风骚| 超碰在线欧美性爱激情| 日韩免费三级黄片电影| 中文字幕国产| 精品亚洲国产成人av网站| 色综合av男人天堂| 日本网色| 亚洲天堂,男人| 后入 亚洲 美女 射| 一区麻豆 高清中文字幕| 无码人妻丰满熟妇奶水区毛片| 中文字幕日韩精品一区二区三区| 97色色,97综合| 欧美天天在线| 欧美激情高清性猛交| 欧美日韩97| 国产欧美日本亚洲精品| 亚洲无码免费看| 女人高潮大叫一级毛片| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 青娱乐999| 国产操逼逼网| 婷婷色综合| 亚洲欧美性生活| 日本天天干天天日一区| 好爽视频在线观看| 久久这里只精品免费福利| 在线a v| 婷婷久久五月天| 日本三级小说中文字幕| 色网1| 后入式免费视频| 天天懆天天日| 91婷婷| 超碰1024久久| 96超碰网| 最新亚洲人成网站在线影院| 第一高清av中文字幕| 精品无码久久久| 欧美日韩人妻少妇 一区二区三区| 国产sv美女内射| 粉嫩av久久一区二区三区| 91干熟女| 97色视频在线| 97日韩超碰超碰中文字幕| 五十路六十路素人熟女| 91GD.COM| 色超碰综合| 超碰97中文| 蜜乳AV网址| 狠插 制服 自拍| 国产熟女一区二区| 少妇xx精品| 欧洲中文字幕| 78操B| 亚欧无码在线| av情色影音| 99热一区二区三区四区| 日本精品无码三级网站| 丰满人妻一区二区三区在线| 亚洲素人综合| 色天使亚洲综合在线观看| 天美国产三级传媒| 欧美亚洲在线| 日韩 欧美 视频 在线 一区| 久久久9视频| 91久久国产精品| 极品尤物女神在线观看| 日本A级视频| 国产精品免费久久久久久久久久| 一区在线观看中文字幕| 无码人妻精品一区二区三区九九 | 午夜天堂精品久久| 亚洲情色欧美| 日韩三级一区| 久久久月天| 中文字幕av亚洲在线| 我中文字幕6区 | 亚洲 综合 第一页| 秋霞成人一级在线观看| 后入内射蜜桃臀| 91欧美综合| 天天干天天干天天| 男人的天堂久久| 国产亚洲精品自在线亚洲情侣| 久久久久921| 免费亚洲黄色视频在线观看| 丝袜视频一区二区在线播放国产中文 | 日韩成人大片一区二区| 黑人精品久久97| 亚洲一区二区三区中文字幕| 9超碰免费| 日本精品网站在线中文| 五月天色电影| 国产不良强奸视频免费看| yazhousetuoumei| 无码人妻精品一区二区三区99不卡 | 亚洲日韩久久精品一区| 国产性久久久| 日日噜噜夜夜久久亚洲一区二区| 嫩草在线视频| 国产第二页| 入口操逼网站| 国产精品白丝www| 夜色五月天| 中文字幕蜜乳av| 丝袜制服字幕在线| 久久免费99精品久久久久久| 日韩午夜国产| 国产精品蜜乳AV| 久久久一二三四区| 亚洲综合五月天婷婷丁香| 亚洲欧美不卡线| 欧美 日韩 国产传媒| 26uuu性物| 中日韩久久久免费看| www.婷婷六月天| 国产亚洲色婷婷久久99精品91 - 百度 | 风骚少妇视频中文字幕| 新版天堂中文资源8在线| 嗯嗯不要 视频| 116美女午夜| 欧 美 自 拍 偷 拍| 九九九九九九免费视频| 色色色综合网| 综合影院永久入口国产| 国产第二页| 91碰碰碰| 超碰免费人妻人人| 久久久久久裸体| 中文字幕精品一区二区精品| 国产一区二区免费福利片| 欧美亚州色的图| 婷婷五月天影院| 偷拍精品一区二区三区| 中文字幕在线免费观看 | 午夜超碰| 日韩免费在线视频观看| 日韩精品一区的| 亚洲丝袜天堂| 免费视频观看60秒| 99这里只有精品国产| 大香蕉久操| 中文久久96| 国产午夜精品理论片一二三区区| 欧美午夜视频免费观看| 亚洲欧美一区二区三区在钱蜜桃| 嗯嗯,好大,好爽,好骚| 操逼网站地址| 亚洲色图欧美另类在线| 色婷婷国产精品一区在线观看| 粉嫩粉嫩一区性色AV片| 国产白嫩精品久久| 果冻传媒A片麻豆熟妇人妻| 中文字幕交换人妻| 久久国模av| 亚洲一区二区三区春色| 亚洲欧洲偷拍一区| 色五月亚洲| 91九色丨国产丨爆乳| 日韩在线欧美精品一区二区| 久久AV色| 欧美男人一区| 欧美18 在线观看| 性感美女啊啊啊在线| 成人AV素股で擦久久| 精品无码久久久久久国产浪潮| 一二三四区电影| 超碰97玖玖爱| 婷婷伊人网| 色综合一区二区三区| 亚欧国产无码精品在线| 中文熟女五十乱码在线| 播播亚洲小说亚洲| …中文字幕亚洲乱,97人妻无码费视… | 97爱欧美| 91处女在线观看| 亚洲欧洲偷拍一区| 91国模| 青青草视频爽一爽| 天天日日夜夜| 看日韩美女二区三区免费操逼视频| 中国zzijzzijzzwww精品| 人人操人人爽人人操人人| 超碰午夜在线| 精品亚洲俞拍视频一区| 亚洲.欧美.丝袜.中文.综合| 超碰成人国产| 久久美女国产| 人人贴人人摸| 久久久99免费| 神马久久久久久久| 99热这里都是精品| 欧美性色欧美| 欧美色交| 东北女人性交| 91模特在线观看| chaopen97久久| 一区e区三| 99精品无码| 97在线观看视频| 蜜臀va69| 98超碰欧美| 久久三区四区| 欧成人精品一区二区三区| 久久亚洲一区女同性恋中文字幕 | 先锋影音av先锋一区| 国产综合色精品在线观看| 久久久久夜夜夜夜| 加勒比伊人| 翔田千里爆乳巨臀无码| AV一起草在线| 欧美日韩色综合网| 亚洲 日韩 丝袜 熟女 变态| 日韩亚洲中文字幕在线| 国产亚洲精品玖玖玖在线观看| 亚洲最大AV网| 色综合久| 久久女人视频| 日韩精品第3页|