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

ARTICLE DETAIL

資訊詳情

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

接口編排實(shí)戰(zhàn):從流程設(shè)計(jì)到異常處理的完整指南

接口編排實(shí)戰(zhàn):從流程設(shè)計(jì)到異常處理的完整指南 1. 接口編排到底在解決什么問題先說個(gè)我自己的經(jīng)歷。早幾年做系統(tǒng)集成最怕的就是“接口滿天飛”的項(xiàng)目——第三方支付要調(diào)、內(nèi)部訂單系統(tǒng)要調(diào)、消息隊(duì)列要推、數(shù)據(jù)庫(kù)偶爾還要直查一遍。那時(shí)候最原始的做法就是挨個(gè)寫代碼一個(gè)流程串十幾個(gè)接口代碼里全是回調(diào)嵌套和異常分支改一個(gè)參數(shù)要翻半天邏輯測(cè)試環(huán)境跟生產(chǎn)環(huán)境行為還不一致排錯(cuò)排到懷疑人生。后來換到接口開發(fā)平臺(tái)用上了接口編排才真正理解這個(gè)設(shè)計(jì)的價(jià)值它把“寫代碼串聯(lián)接口”這件事變成了“用可視化流程把已有接口組裝起來”。接口編排簡(jiǎn)單說就是在一個(gè)平臺(tái)上把你已經(jīng)開發(fā)好的、或者第三方提供的接口當(dāng)成積木塊通過拖拽、連線、配置參數(shù)的方式組合成一條完整的業(yè)務(wù)處理鏈路。典型的場(chǎng)景比如下單后自動(dòng)同步庫(kù)存、同時(shí)通知物流和財(cái)務(wù)再比如用戶注冊(cè)后自動(dòng)創(chuàng)建賬號(hào)、發(fā)歡迎短信、初始化默認(rèn)配置。以前這些邏輯散落在各個(gè)服務(wù)里現(xiàn)在集中在一個(gè)編排流程里一個(gè)入口觸發(fā)整條鏈路按順序跑完。適合誰來用兩類人。一類是后端開發(fā)用它來減少重復(fù)的膠水代碼把精力留在核心業(yè)務(wù)邏輯上另一類是實(shí)施顧問、測(cè)試人員或者偏運(yùn)維的同事他們不一定精通編程但通過可視化編排也能搭出可用的接口流程改配置也不需要等開發(fā)排期。實(shí)際上這兩類人配合起來效率最高開發(fā)負(fù)責(zé)把原子接口維護(hù)好業(yè)務(wù)或?qū)嵤┴?fù)責(zé)在平臺(tái)上編排。這里面有個(gè)關(guān)鍵認(rèn)知接口編排不是要取代代碼而是把“調(diào)用關(guān)系”和“數(shù)據(jù)處理”這些相對(duì)標(biāo)準(zhǔn)化的部分從代碼里抽出來。代碼里剩下的應(yīng)該是復(fù)雜的算法、強(qiáng)事務(wù)性操作和需要深度定制的邏輯。平臺(tái)擅長(zhǎng)處理的是“多個(gè)接口按什么順序執(zhí)行、入?yún)⒃趺唇M裝、出參怎么映射、失敗時(shí)怎么降級(jí)”而這些東西恰恰是以前最容易出bug、最耗維護(hù)成本的部分。所以我把這篇文章定位成一份實(shí)操分享從編排流程的設(shè)計(jì)思路到核心配置項(xiàng)的含義再到完整跑通一個(gè)流程的步驟最后把我在實(shí)際項(xiàng)目中踩過的坑挨個(gè)列出來。內(nèi)容基于我用過的幾款接口開發(fā)平臺(tái)的通用設(shè)計(jì)思路來寫具體按鈕位置和字段叫法可能稍有差異但底層邏輯是共通的照著這個(gè)思路去套你手頭的平臺(tái)基本不會(huì)跑偏。2. 編排流程的整體設(shè)計(jì)與思路拆解2.1 先拆業(yè)務(wù)鏈路再動(dòng)手搭流程很多新手拿到需求第一反應(yīng)就是打開編排畫布開始拖節(jié)點(diǎn)。這個(gè)順序其實(shí)是反的。正確做法是先畫一張業(yè)務(wù)鏈路圖明確這個(gè)流程從哪個(gè)事件開始、中間經(jīng)過哪幾步、每一步需要什么數(shù)據(jù)、最終要把結(jié)果送到哪里。我習(xí)慣用一張表格來做這件事不需要復(fù)雜工具Excel或者紙上畫都行。比如一個(gè)典型的“用戶下單后處理流程”步驟觸發(fā)來源動(dòng)作依賴數(shù)據(jù)產(chǎn)出數(shù)據(jù)1訂單服務(wù)回調(diào)接收訂單信息訂單號(hào)、用戶ID、商品編碼、金額標(biāo)準(zhǔn)化后的訂單數(shù)據(jù)2-查詢用戶信息用戶ID用戶手機(jī)號(hào)、會(huì)員等級(jí)3-扣減庫(kù)存商品編碼、購(gòu)買數(shù)量扣減結(jié)果4-發(fā)送短信通知用戶手機(jī)號(hào)、訂單號(hào)發(fā)送結(jié)果5-如果扣庫(kù)存失敗錯(cuò)誤信息回滾訂單狀態(tài)這張表一旦拉出來流程骨架就清楚了。你會(huì)發(fā)現(xiàn)第1步到第4步是順序執(zhí)行第5步是異常分支。再往下才需要考慮哪些節(jié)點(diǎn)之間要傳參數(shù)、參數(shù)名怎么映射、某個(gè)接口超時(shí)了是重試還是直接走失敗分支。把這個(gè)前置工作做扎實(shí)后面在畫布上操作的時(shí)間能省一大半。拆鏈路的時(shí)候還要注意一個(gè)原則編排流程里只放“必要”的節(jié)點(diǎn)。有些數(shù)據(jù)轉(zhuǎn)換邏輯能放在上游接口內(nèi)部解決的就不要讓編排層去處理。比如上游接口已經(jīng)能返回標(biāo)準(zhǔn)JSON你就沒有必要在編排里寫一個(gè)腳本來重新拼裝字段。編排層的職責(zé)是“路由和組裝”不是“計(jì)算和加工”。所有復(fù)雜計(jì)算盡量下沉到具體接口實(shí)現(xiàn)里不然編排流程會(huì)越來越臃腫最后變成一個(gè)誰都不敢動(dòng)的巨型流程圖。2.2 編排節(jié)點(diǎn)選型不同平臺(tái)的通用能力每個(gè)接口開發(fā)平臺(tái)的編排畫布上節(jié)點(diǎn)的叫法和分類可能不一樣但核心能力基本逃不出這幾類。我把它們整理一下方便你對(duì)照自己手頭的平臺(tái)。第一類叫觸發(fā)器節(jié)點(diǎn)也就是流程的入口。常見的有HTTP觸發(fā)、定時(shí)觸發(fā)、消息觸發(fā)MQ消費(fèi)。HTTP觸發(fā)最常見外部系統(tǒng)通過POST或GET請(qǐng)求把數(shù)據(jù)送進(jìn)來流程就開始了。定時(shí)觸發(fā)用于跑批類任務(wù)比如每天凌晨同步一次數(shù)據(jù)。消息觸發(fā)適合異步場(chǎng)景系統(tǒng)之間通過消息隊(duì)列解耦。選哪個(gè)觸發(fā)器取決于你這條流程是被誰調(diào)用、以什么方式調(diào)用。第二類叫接口調(diào)用節(jié)點(diǎn)。這是編排的主體你可以選擇一個(gè)已注冊(cè)的接口然后配置入?yún)⒑统鰠ⅰH雲(yún)碓纯梢允怯|發(fā)器帶來的原始數(shù)據(jù)也可以是前面某個(gè)節(jié)點(diǎn)產(chǎn)生的輸出。出參會(huì)存在一個(gè)“變量空間”里供后續(xù)節(jié)點(diǎn)引用。接口節(jié)點(diǎn)往往還有超時(shí)時(shí)間、重試次數(shù)、失敗處理策略三個(gè)配置這三個(gè)配置在不同平臺(tái)上的默認(rèn)值差異很大強(qiáng)烈建議搭流程的時(shí)候就調(diào)整好而不是用默認(rèn)值一把梭。第三類叫邏輯控制節(jié)點(diǎn)。包括條件判斷IF/ELSE、循環(huán)FOR/WHILE、并行調(diào)用、分支合并等。條件判斷是編排里最常用的比如判斷上一步返回的code字段是不是success是走A分支不是走B分支。循環(huán)用來處理列表數(shù)據(jù)比如批量查詢一批訂單的物流狀態(tài)。并行調(diào)用適合那些相互不依賴的接口比如同時(shí)查庫(kù)存和查用戶信息能顯著縮短總耗時(shí)。第四類叫數(shù)據(jù)轉(zhuǎn)換節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)允許你寫一小段腳本對(duì)數(shù)據(jù)做格式化、字段映射、拼接、拆分等操作。常見的實(shí)現(xiàn)有JavaScript腳本或Groovy腳本。數(shù)據(jù)轉(zhuǎn)換節(jié)點(diǎn)是編排靈活性的關(guān)鍵沒有它節(jié)點(diǎn)之間的參數(shù)傳遞會(huì)非常僵硬——上游返回的字段名和下游接口要求的字段名不一致時(shí)你總不能為了這個(gè)去改接口定義吧。用轉(zhuǎn)換節(jié)點(diǎn)做一層適配問題就解決了。第五類是子流程節(jié)點(diǎn)。在流程變得復(fù)雜之后你可以把某一段公共邏輯抽成一個(gè)子流程然后在主流程里復(fù)用。這和解代碼時(shí)抽公共函數(shù)是一個(gè)道理。用過幾次之后你會(huì)發(fā)現(xiàn)編排量和維護(hù)成本都有明顯下降。2.3 為什么推薦“先打通再優(yōu)化”我在做流程設(shè)計(jì)時(shí)有一個(gè)習(xí)慣第一版只求“能跑通”不追求優(yōu)雅和高性能。先把原始數(shù)據(jù)從頭到尾串一遍哪怕有幾處數(shù)據(jù)轉(zhuǎn)換是用腳本硬寫的只要結(jié)果正確就行。第二版再去看哪些地方可以優(yōu)化比如兩個(gè)串行接口改并行、公共邏輯抽成子流程、處理失敗的分支再細(xì)分幾類異常情況。原因很簡(jiǎn)單流程設(shè)計(jì)和寫代碼一樣憑空想十遍不如先落地跑一遍。很多問題是在真實(shí)數(shù)據(jù)流經(jīng)過的時(shí)候才暴露的比如某個(gè)字段在文檔里寫的是字符串實(shí)際返回的是數(shù)字這種問題你紙上推演根本發(fā)現(xiàn)不了。先跑通建立起一條“能用的基線”再迭代優(yōu)化是成本最低的路徑。還有一點(diǎn)要提醒編排流程上線之后不要急著刪掉中間過程日志尤其是舊版本。萬一新流程出問題你還要靠日志對(duì)比定位。平臺(tái)一般會(huì)保留每次執(zhí)行的完整鏈路追蹤這是排查問題最關(guān)鍵的依據(jù)比你在代碼里打多少log都直觀。3. 核心配置項(xiàng)詳解與實(shí)操要點(diǎn)3.1 入?yún)⒂成淠玫綌?shù)據(jù)之后的“第一步處理”不管你的觸發(fā)器是HTTP接口還是MQ消息數(shù)據(jù)進(jìn)入流程之后首先要做的是“規(guī)范化”。我見過很多流程跑不通原因就是把上游字段名字段類型直接拿來用下游接口不認(rèn)。平臺(tái)一般會(huì)提供一個(gè)入?yún)⒍x區(qū)你要在這里聲明流程內(nèi)部的變量把上游數(shù)據(jù)賦值給內(nèi)部變量。這里有個(gè)很重要的細(xì)節(jié)入?yún)⒁?guī)范化的過程最好單獨(dú)用一個(gè)數(shù)據(jù)轉(zhuǎn)換節(jié)點(diǎn)來做而不是在各接口節(jié)點(diǎn)里零零散散地改。比如上游傳過來的userId是字符串類型“10086”但下游用戶查詢接口要求的是整型10086你如果在查詢節(jié)點(diǎn)里寫一個(gè)轉(zhuǎn)換腳本那么這個(gè)橋接邏輯就分散在流程各處了。集中處理的好處是以后上游數(shù)據(jù)結(jié)構(gòu)改了你只改一個(gè)地方。實(shí)際操作中我會(huì)把入?yún)⒍x成一套統(tǒng)一命名規(guī)范的變量比如req_order_id、req_user_id后面所有節(jié)點(diǎn)都只引用這套變量不直接引用上游原始字段。這樣做的另一個(gè)好處是排查問題時(shí)很清晰——所有輸入都收口在流程開頭邏輯鏈路一目了然。3.2 接口調(diào)用節(jié)點(diǎn)的策略配置超時(shí)、重試、降級(jí)接口調(diào)用節(jié)點(diǎn)里有三個(gè)配置是決定流程穩(wěn)定性的核心分別是超時(shí)時(shí)間、重試次數(shù)、失敗處理。很多人一開始不在乎直接留默認(rèn)值結(jié)果生產(chǎn)環(huán)境一出問題整個(gè)流程被慢接口拖死或者一個(gè)接口反復(fù)重試導(dǎo)致下游壓力翻倍這些都是能避免的。超時(shí)時(shí)間要按接口的實(shí)際耗時(shí)設(shè)置。內(nèi)部接口通常響應(yīng)快300到500毫秒合理第三方接口波動(dòng)大3000到5000毫秒也許才安全。設(shè)置太短稍微慢一點(diǎn)就誤判失敗設(shè)置太長(zhǎng)整個(gè)流程被拖住用戶感知就是“卡了”。我一般會(huì)先做一次壓測(cè)看該接口的P95耗時(shí)是多少然后在這個(gè)基礎(chǔ)上乘以3到5倍當(dāng)超時(shí)閾值。重試次數(shù)要配合超時(shí)時(shí)間一起想。適合重試的場(chǎng)景是下游接口臨時(shí)性故障比如數(shù)據(jù)庫(kù)連接池滿了、網(wǎng)絡(luò)閃斷不適合重試的場(chǎng)景是下游明確返回業(yè)務(wù)錯(cuò)誤比如參數(shù)校驗(yàn)不通過、業(yè)務(wù)狀態(tài)不對(duì)。所以重試次數(shù)別盲目設(shè)成3次如果接口返回錯(cuò)誤碼是5xx重試才有意義如果是4xx直接跳失敗分支才是對(duì)的。降級(jí)策略是經(jīng)常被忽略的一項(xiàng)。假設(shè)你的主流程依賴查詢一個(gè)商品詳情接口但這個(gè)接口掛了你可以配置成“降級(jí)到緩存數(shù)據(jù)”讓流程不至于整體失敗。平臺(tái)上的實(shí)現(xiàn)方式一般是失敗分支里掛一個(gè)備用節(jié)點(diǎn)或者返回一個(gè)兜底值。這一項(xiàng)配置在核心鏈路上能救命別省。3.3 條件分支與控制邏輯別把流程畫成蜘蛛網(wǎng)條件判斷節(jié)點(diǎn)在流程設(shè)計(jì)里用多了以后很容易把圖畫成一張蜘蛛網(wǎng)看的人頭大維護(hù)的人想哭。這里分享幾個(gè)我自己的約束規(guī)則。分支條件數(shù)量盡量控制在3個(gè)以內(nèi)超過3個(gè)就考慮這個(gè)流程是不是被塞了太多場(chǎng)景該拆分了。舉例來說“根據(jù)訂單類型走不同邏輯”和“根據(jù)用戶類型走不同邏輯”如果放在同一個(gè)流程里條件組合就會(huì)膨脹到四個(gè)甚至更多這種流程可讀性極度差。正確的做法是拆成兩個(gè)不同的流程讓各自保持單一職責(zé)。循環(huán)節(jié)點(diǎn)要注意一個(gè)容易踩的坑循環(huán)體內(nèi)調(diào)用接口時(shí)接口返回的數(shù)據(jù)結(jié)構(gòu)可能隨循環(huán)次數(shù)變化或者每次循環(huán)都要重新登錄授權(quán)。遇到這種情況要把授權(quán)獲取放在循環(huán)外循環(huán)內(nèi)只做業(yè)務(wù)調(diào)用。我曾經(jīng)在一個(gè)流程里把token獲取寫在循環(huán)內(nèi)部跑2000條數(shù)據(jù)就去調(diào)用2000次認(rèn)證接口下游直接把這個(gè)平臺(tái)IP封了教訓(xùn)非常深刻。并行調(diào)用節(jié)點(diǎn)在畫出來之前要先問自己一個(gè)問題這幾個(gè)接口真的互不依賴嗎如果下游B接口的入?yún)⑿枰獜腁接口的返回里取那就必須串行。強(qiáng)行并行會(huì)引入數(shù)據(jù)競(jìng)態(tài)最終的運(yùn)行結(jié)果時(shí)對(duì)時(shí)錯(cuò)排查起來比串行慢得多。4. 完整實(shí)操過程從零搭一個(gè)訂單通知編排4.1 前置準(zhǔn)備環(huán)境與數(shù)據(jù)約定我用一個(gè)簡(jiǎn)化但不失真實(shí)的場(chǎng)景來演示訂單系統(tǒng)在用戶下單成功后調(diào)用接口開發(fā)平臺(tái)的編排入口平臺(tái)負(fù)責(zé)依次完成“查詢用戶信息”“生成通知內(nèi)容”“發(fā)送短信和站內(nèi)信”三個(gè)動(dòng)作。前置條件三件事第一訂單系統(tǒng)和用戶系統(tǒng)各提供一個(gè)查詢接口已經(jīng)發(fā)布到接口平臺(tái)上并完成注冊(cè)第二短信服務(wù)和一個(gè)站內(nèi)信服務(wù)已經(jīng)就緒同樣注冊(cè)到平臺(tái)第三約定好入口HTTP接口的入?yún)⑦@里我定義為orderId訂單號(hào)和userId用戶ID由訂單系統(tǒng)在用戶下單成功時(shí)發(fā)起調(diào)用。數(shù)據(jù)約定這一步很多人忽略但它其實(shí)是整個(gè)流程穩(wěn)定的前提。我建議在項(xiàng)目文檔里寫清楚每個(gè)外部接口的返回示例以及異常時(shí)的返回結(jié)構(gòu)。后面對(duì)接或者換人維護(hù)時(shí)這份文檔的價(jià)值比流程本身還大。4.2 創(chuàng)建流程搭骨架的詳細(xì)步驟在平臺(tái)的編排列表里新建一個(gè)空流程命名推薦用“場(chǎng)景_動(dòng)作_版本”的格式比如“下單通知_v1”。命名盡量別用“測(cè)試1”“新建流程”這類無法識(shí)別的名字流程多了之后全靠命名找東西。第一步配置HTTP觸發(fā)器指定入口路徑例如/order/notify請(qǐng)求方法用POST請(qǐng)求體格式用JSON。同時(shí)聲明兩個(gè)入?yún)⒆兞縭eq_order_id和req_user_id把請(qǐng)求體里的orderId和userId分別賦給它們。第二步添加用戶查詢節(jié)點(diǎn)選擇已注冊(cè)的用戶查詢接口。配置入?yún)r(shí)參數(shù)名選擇“用戶ID”值選擇變量req_user_id。然后配置出參保存比如把接口返回的mobile字段保存到流程變量user_mobile把name保存到user_name。第三步添加生成通知內(nèi)容節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)用數(shù)據(jù)轉(zhuǎn)換腳本實(shí)現(xiàn)實(shí)際就是把訂單基本信息拼成一段短信文案和一段站內(nèi)信文案。用腳本而不是再做一個(gè)接口是因?yàn)槲谋酒囱b屬于典型的“計(jì)算加工”放在編排層做正合適。腳本里讀取上一步保存的變量輸出notify_sms和notify_inbox兩個(gè)字符串變量。第四步添加發(fā)送短信節(jié)點(diǎn)選擇短信服務(wù)接口入?yún)ⅰ笆謾C(jī)號(hào)”填user_mobile“內(nèi)容”填notify_sms。第五步添加發(fā)送站內(nèi)信節(jié)點(diǎn)入?yún)ⅰ坝脩鬒D”填req_user_id“內(nèi)容”填notify_inbox。到這一步骨架就搭完了。保存并發(fā)布到測(cè)試環(huán)境然后發(fā)起一次真實(shí)的HTTP請(qǐng)求來驗(yàn)證。驗(yàn)證時(shí)我會(huì)注意觀察每一步的執(zhí)行日志平臺(tái)一般會(huì)有流程鏈路追蹤圖每個(gè)節(jié)點(diǎn)的耗時(shí)和出參狀態(tài)直接點(diǎn)開就能看到。4.3 加裝異常處理版本升級(jí)的關(guān)鍵一步第一版跑通之后我給這個(gè)流程加了一個(gè)條件判斷節(jié)點(diǎn)判斷“發(fā)送短信”節(jié)點(diǎn)的返回碼。如果返回碼不是成功不直接拋失敗而是進(jìn)入“記錄日志并告警”分支無論短信是否成功站內(nèi)信照常發(fā)送。為什么這么設(shè)計(jì)因?yàn)槎绦攀〔粦?yīng)該影響站內(nèi)信達(dá)到兩者沒有強(qiáng)依賴。如果整個(gè)流程因?yàn)槎绦攀《w失敗訂單系統(tǒng)那邊還得額外處理這個(gè)異常得不償失。配置方法在發(fā)送短信節(jié)點(diǎn)后添加一個(gè)條件判斷節(jié)點(diǎn)條件為“短信發(fā)送狀態(tài)不等于成功”。滿足條件走分支A打日志、發(fā)告警通知到運(yùn)維群不滿足走分支B繼續(xù)往下執(zhí)行站內(nèi)信節(jié)點(diǎn)。同時(shí)把整個(gè)流程的最終響應(yīng)配置成“始終返回成功”——真正的結(jié)果狀態(tài)記錄在流程日志里而不是靠HTTP響應(yīng)碼表達(dá)。這樣做的目的在于讓上游系統(tǒng)保持簡(jiǎn)單。上游只需要知道“編排收到了開始處理”最終業(yè)務(wù)成功與否去查日志或回調(diào)即可。這一步的設(shè)計(jì)屬于接口編排經(jīng)驗(yàn)里比較核心的部分編排層要盡可能屏蔽掉細(xì)節(jié)故障而不是把所有異常都拋給調(diào)用方。4.4 測(cè)試用例設(shè)計(jì)別只測(cè)“正常路徑”流程發(fā)布前我的測(cè)試用例一般覆蓋四類場(chǎng)景正常數(shù)據(jù)、缺參數(shù)據(jù)、接口超時(shí)、下游返回業(yè)務(wù)錯(cuò)誤。正常數(shù)據(jù)最好準(zhǔn)備三組以上覆蓋不同量級(jí)比如訂單金額一位數(shù)和七位數(shù)、用戶名字包含特殊字符等。缺參數(shù)據(jù)則是故意少傳userId看流程是否會(huì)按要求直接結(jié)束并在日志里記錄原因。接口超時(shí)場(chǎng)景可以在測(cè)試環(huán)境把下游接口的響應(yīng)時(shí)間調(diào)長(zhǎng)或者直接停用該接口的注冊(cè)地址。下游返回業(yè)務(wù)錯(cuò)誤可以配置一個(gè)測(cè)試專用的返回錯(cuò)誤碼接口來模擬。這四類場(chǎng)景跑完流程在測(cè)試環(huán)境的表現(xiàn)基本就有數(shù)了。還要特別關(guān)注一下流程對(duì)“重復(fù)請(qǐng)求”的處理。如果訂單系統(tǒng)因?yàn)榫W(wǎng)絡(luò)超時(shí)重發(fā)了相同請(qǐng)求你的流程會(huì)不會(huì)創(chuàng)建重復(fù)的通知這個(gè)問題不解決上線后最容易出事故。解法一般有兩種一種是在平臺(tái)里配置冪等鍵——相同orderId只允許執(zhí)行一次另一種是流程開頭先查一下執(zhí)行記錄重復(fù)就跳過。設(shè)計(jì)流程時(shí)把這個(gè)考慮進(jìn)去比事后補(bǔ)救便宜得多。5. 常見問題與排查技巧實(shí)錄5.1 入?yún)⒌搅说涌趫?bào)“參數(shù)缺失”或“類型錯(cuò)誤”這個(gè)問題的典型癥狀是流程觸發(fā)成功接口調(diào)用節(jié)點(diǎn)卻報(bào)參數(shù)校驗(yàn)失敗。排查時(shí)先看接口節(jié)點(diǎn)收到的實(shí)際入?yún)⑹鞘裁雌脚_(tái)一般會(huì)記錄請(qǐng)求報(bào)文直接展開看字段名和值。最常見的兩個(gè)原因一是變量名映射錯(cuò)了上游保存的字段叫req_user_id接口入?yún)⑴渲美锾畛闪藆ser_id平臺(tái)找不到變量自然報(bào)缺失二是類型不一致上游拼出的是字符串“10086”接口要求整型校驗(yàn)失敗。解決辦法也簡(jiǎn)單在接口節(jié)點(diǎn)前加一個(gè)數(shù)據(jù)轉(zhuǎn)換節(jié)點(diǎn)做一層類型轉(zhuǎn)換和字段名適配把req_user_id轉(zhuǎn)換成整型并映射為接口期望的userId。我強(qiáng)烈建議所有接口節(jié)點(diǎn)的入?yún)⒍急M量用內(nèi)部統(tǒng)一變量接一層而不是直接引用觸發(fā)器的原始字段這樣出現(xiàn)字段調(diào)整時(shí)你只需要改一個(gè)轉(zhuǎn)換節(jié)點(diǎn)不用挨個(gè)改接口配置。5.2 接口執(zhí)行沒問題但流程整體超時(shí)掛在某一步遇到這種問題先看每個(gè)節(jié)點(diǎn)的耗時(shí)分布找到耗時(shí)異常升高的那個(gè)節(jié)點(diǎn)。超時(shí)的原因通常兩類。一類是下游接口本身變慢比如數(shù)據(jù)庫(kù)慢查詢、第三方服務(wù)性能波動(dòng)這種情況檢查下游是否有能力問題必要時(shí)調(diào)整超時(shí)時(shí)間或增加緩存。另一類是接口節(jié)點(diǎn)配置的并發(fā)度或線程池不足多個(gè)流程同時(shí)跑到同一個(gè)節(jié)點(diǎn)時(shí)排隊(duì)等待單個(gè)節(jié)點(diǎn)看起來沒慢但整體流程被拉長(zhǎng)。這里有個(gè)我的實(shí)測(cè)心得很多平臺(tái)的接口調(diào)用節(jié)點(diǎn)默認(rèn)并發(fā)數(shù)比較保守比如2或3。如果這個(gè)接口被多個(gè)流程復(fù)用并且本身響應(yīng)時(shí)間正常調(diào)高并發(fā)配置往往立竿見影。但并發(fā)不是越高越好必須評(píng)估下游接口能承受的QPS上限否則你把編排層速度提上去了下游被打掛問題又變成5.1了。5.3 流程執(zhí)行失敗但日志沒有有效錯(cuò)誤信息最讓人頭疼的就是這種“無聲失敗”。節(jié)點(diǎn)狀態(tài)顯示失敗點(diǎn)開詳情日志只有一行“調(diào)用異?!睕]有HTTP狀態(tài)碼也沒有返回體。這種情況大多數(shù)是下游接口沒有正確返回JSON格式的響應(yīng)或者接口直接斷連。平臺(tái)解析不了響應(yīng)自然給不出更細(xì)的錯(cuò)誤。排查路徑一般是先手動(dòng)調(diào)一次該接口看返回內(nèi)容是否規(guī)范比如HTTP 200但body為空、或者返回HTML而不是JSON都會(huì)導(dǎo)致平臺(tái)解析失敗。另一個(gè)常見原因是接口的SSL證書在某些環(huán)境下不受信任導(dǎo)致請(qǐng)求在握手階段就被中斷。這種情況在測(cè)試環(huán)境復(fù)現(xiàn)不了一上生產(chǎn)就隨機(jī)失敗排查時(shí)可以先把節(jié)點(diǎn)配置里的證書校驗(yàn)臨時(shí)關(guān)掉試一次確認(rèn)問題再解決。5.4 變量空間取值混亂串流程了一個(gè)容易被忽視的問題同一個(gè)變量名在流程的多個(gè)節(jié)點(diǎn)里被重復(fù)賦值后續(xù)節(jié)點(diǎn)取到的值和預(yù)期不符。尤其是用腳本節(jié)點(diǎn)時(shí)腳本里順手寫了一個(gè)變量賦值名字和前面某個(gè)節(jié)點(diǎn)保存的變量重名就會(huì)把原來的值覆蓋掉。排查思路從目標(biāo)節(jié)點(diǎn)倒序回看所有寫操作確認(rèn)這個(gè)變量名最后一次被賦值是在哪里。更推薦的辦法是建立命名約定觸發(fā)器產(chǎn)生的原始數(shù)據(jù)用req_前綴中間轉(zhuǎn)換結(jié)果用tmp_前綴最終的對(duì)外輸出用out_前綴。別嫌麻煩流程一復(fù)雜這個(gè)習(xí)慣能幫你省大量排錯(cuò)時(shí)間。5.5 常見問題速查表問題現(xiàn)象可能原因優(yōu)先排查動(dòng)作接口報(bào)參數(shù)缺失變量名映射錯(cuò)誤查看請(qǐng)求報(bào)文中的實(shí)際入?yún)⒔涌趫?bào)類型錯(cuò)誤字符串與整型不匹配在數(shù)據(jù)轉(zhuǎn)換節(jié)點(diǎn)強(qiáng)制轉(zhuǎn)型流程整體超時(shí)單節(jié)點(diǎn)耗時(shí)過大或并發(fā)太低查看各節(jié)點(diǎn)耗時(shí)分布執(zhí)行失敗但無錯(cuò)誤信息下游返回非JSON或斷連手動(dòng)請(qǐng)求該接口檢查返回變量值不確定變量名被重復(fù)賦值反向追蹤所有寫操作通知類消息重復(fù)發(fā)送缺少冪等控制配置冪等鍵或檢查記錄測(cè)試正常生產(chǎn)偶發(fā)失敗證書或網(wǎng)絡(luò)環(huán)境差異關(guān)閉證書校驗(yàn)試一次6. 我的一點(diǎn)心得體會(huì)接口編排用得久了我越來越覺得它本質(zhì)上是“把分布式系統(tǒng)之間的協(xié)作關(guān)系顯性化”。以前這些調(diào)用關(guān)系藏在代碼里只有開發(fā)自己心里清楚別人接手就得翻代碼、猜邏輯。編排化之后整條鏈路攤開在畫布上誰都能看懂評(píng)審、交接、排查的門檻全都降低了。實(shí)際落地的時(shí)候還有幾個(gè)小建議順手分享出來。第一編排流程的版本管理務(wù)必重視發(fā)布新版本前至少留一個(gè)穩(wěn)定版本在線方便隨時(shí)回退。平臺(tái)一般支持一鍵回退但你要有意識(shí)地用別等出事了才臨時(shí)翻文檔。第二給流程加一個(gè)匯總性的業(yè)務(wù)監(jiān)控視圖比如創(chuàng)建一個(gè)統(tǒng)計(jì)流程“每天執(zhí)行多少次、成功多少、失敗多少”的子流程定時(shí)跑結(jié)果推送給團(tuán)隊(duì)群。這個(gè)投入很小但長(zhǎng)期價(jià)值非常大。第三編排流程也要做定期巡檢就像代碼需要重構(gòu)一樣流程跑半年后回過頭看看有沒有冗余節(jié)點(diǎn)、有沒有可以抽成子流程的地方該優(yōu)化的就優(yōu)化。我在最初做接口編排的時(shí)候也經(jīng)歷過“什么節(jié)點(diǎn)都想往流程里塞”的階段結(jié)果流程又大又脆。后來踩過幾次坑慢慢學(xué)會(huì)一個(gè)原則編排層輕一點(diǎn)邏輯清晰一點(diǎn)把每一個(gè)節(jié)點(diǎn)都當(dāng)成獨(dú)立的服務(wù)來對(duì)待。現(xiàn)在我再搭流程能拆成兩步的就絕不合成一步能用子流程復(fù)用的就絕不復(fù)制粘貼節(jié)點(diǎn)。這個(gè)內(nèi)容后續(xù)還可以往兩個(gè)方向擴(kuò)展一是做更細(xì)致的權(quán)限設(shè)計(jì)比如不同角色只能編輯自己負(fù)責(zé)的那部分流程防止誤操作影響全局二是把編排與監(jiān)控告警打通得更徹底做到流程一抖動(dòng)告警自動(dòng)帶著鏈路信息發(fā)到責(zé)任人手里。如果你手頭也正在用接口編排處理復(fù)雜的集成需求希望這篇分享能幫你少走一些彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91老女人| 欧美少妇性乱| 国产精品人人爽人人做可爱福利| 婷婷20月天青娱乐| 啊啊啊在线观看免费视频| 日本护士高潮| 伊人五月天激情| 熟女人妻精品一区二区视频 | 欧美玖玖爱免费玖玖| 99热超碰在线| 2019久久久久久久久福利| 91亚洲图片| 91老熟女老女人国产老太| 日韩黄色一区二区三区| 日韩综合无码色欲vv| 欧美性性性| 欧美在线色| 精品国产污一区二区三区| 日韩精品一区的| 亚州免费啪啪视频| 欧美黄色大香蕉一区二区| 国内毛片热久久思思热| 欧 美 自 拍 偷 拍| 日本精品五区| 狠狠91| 91国产伊人大香蕉| 欧美大色交| 欧美精品丝袜久久久中文字幕| 亚洲成人在线播放| 久99视频| 久久精品性| 成人亚欧免费视频| 视频国产精品未满十八禁止在线观看| 日本性爱视频一级| 日韩中文字幕精品一区在线| 午夜福利免费福利视频| 嫩草影院在线观看精品| 小日子操bb在线看| 亚洲国产一区二区入口| 精品毛片久久久精品毛片| 凸凹视频在线观看| 国产精品青草综合久久| 五月婷婷六月色| www.狠狠操| 婷婷色网| 欲色影视综合吧| 久久中文色图| 久久久久ab| 日韩精品怡红院| 亚洲人综合| 欧美精品,四区。五区| 日韩美女高潮喷水视频| 1区2区3区视频| 色色毛片| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 久久偷偷色综合蜜桃| 久久伦理视频久久大香蕉视频| 熟妇亚洲一区二区三区| 久久久穴999| 美性中文综合网| 色呦色呦色精品| 东方亚洲在线操逼天堂| 日韩大香蕉| 日韩三级伦理中文字幕| 熟女丝袜视频| 国产91精品在线免费| 欧美肥臀在线| 国产激情在线| 97超碰人人操人人操| 男女猛烈无遮掩视频免费软件| 亚洲AV无码乱码| 操操逼操操逼操操逼逼| 婷婷五月天综合网| 国产AV人人 夜夜人人澡| 欧美精品久久| 在线中文字幕视频| 大黄片做爱的大的| 亚洲精品99| 欧美大香蕉在线观看| 91在线丝袜视频| 青青草原av| 超碰精品日韩欧美国产| 日本高清一区二区在线| 黄总AV色图| 91在线观看,天天综合| 午夜操一操| 三级片大波波| 易易A毛视频| 欧美日韩啪啪电影| 91中文精品日韩欧美在线| 久久女女| 一区二区三区机械有限公司| 日韩精品熟妇| 羞涩视频| 精品国产少妇高潮视频| 精品一区二区三区18| 2019精品国产无码成人| 日韩中字av一区| 女上位精品在线| 蜜臀99久久精品久久久懂爱| 亚洲aV性爱| 日韩在线76| 东京热99999| 色吧 综合| 99性爱视频| 四虎在线观看网站| 亚洲AV无码翔田千里网站| 日本三级黄页| 国产丝袜啪啪| 丰满人妻-区二区三区免费| 超碰伊人在线| 中文字幕av乱伦| 精品97精品97| 亚洲**2021在线观看| 久久精品国产精品亚洲艾通辽熟妇| 国产成人主播| 少妇高潮对白在线观看| 亚欧美综合网。| 三男一女不戴套的A片| 欧美图片偷拍| av最新免费中文字幕| 久久9精品视频| 99少妇内射| 国内毛片无码一级毛片| 中文字幕免费在线观看| 五月丁香综合| 夜夜欢天天干| 青青11操操操操操操操操| 亚洲深夜福利| 日韩免费人妻色情网站| 国产日韩久久| 嗯嗯嗯啊啊啊在线免费观看| 熟妇视频一区二区三区在线| 亚洲不卡不卡中文字幕不卡| 国产成人拍国产亚洲精品| 午夜福利久久久噜久噜久久综合 | 国产天美欧美| 人人妻人人澡人人爽久久av| 超碰亚洲欧美日韩无| 国产农村妇女精品| 青青草色插素人| 精品一区二区综合熟妇| 欧美在线第五页| 无码高清专| 亚洲做性| 99999精品成人| 大象AV在线| 和协影院中文字幕三区| 中国一区二区亚洲人妻| 亚洲高清欧美总合| 欧美激情 日韩精品| 午夜男女爽爽爽影院视频| 久久亚洲熟妇在线视频| 爱av免费| 懂色Av| 日韩精品三区四区| 强奸乱伦麻豆| 97亚洲精品| 9热9热综合网| 一起草精品人妻| 天美精品原创av片国产| 久久久噜噜噜久久人妻| 中文字幕一区 二区三四五 区日 日骚 | AV麻豆免费一区| 蜜屁Av| 中文字幕一区二区三区视频播放| 爱逼综合| 天美一区在线| 欧美日韩夜夜| 久久黄黄| 日韩三级一区| 色欧美天天| 尤物视频一区| 午夜在线播放| 91n免费处女| 久久久久久久人妻| 久操凹凸视频| 日本人妻丰满熟妇久久久久久| 91欧美性| 麻豆黄四叶草网站| 日韩成人电影AV| 亚洲人妻中文在线视频| 精品人妻一区二区三区鲁大师| 9久久美女首页| 久操操| 久草国产在线视频| 草草草视频在线免费看| 成人青青草原伊人| 久久久天美| 美女淫穴| 免费农村成人少妇人妻Aa一区二区视频 | 日本羞羞的视频在线播放| 欧美激情亚洲情色| 999综合色| 粘花网06av视频| 婷婷五月av| 日韩视频啪啪| 国产 日韩 欧美高清| 国产操逼网站亚洲一级黄色| 国产熟妇 码视频户外直播| 久久99久久99精品天美传媒棢·纸:.| 天天操熟妇| 97干天天| 九九亚洲色在线观看| 德国一二三不卡| 99久热| 久久久久久AⅤ无码免费肉站| 八戒无码国产午夜福利| 国产在线观看91精品一区| 亚洲欧美电影| 欧美精品三区| 九九九精品| 野狼福利社区| 肉动漫无遮挡h在线观看| 放黄片放3级黄片没穿衣服| 超碰97色| 国产乱伦性爱区| 韩国手机不卡无码三级视频| 操逼天美3区| 色综合久久av| 国产91精品福利在线| 色色色色日本| 乱伦日本色图AⅤ| 家庭乱伦网站国产| 成人黑料社久久| 2020国产精品| 国产日本熟女顶级一区二区三区视频 | 久久婷婷综合国际产色怕| jk白丝没脱就开始啪啪| 亚洲天堂中文字| 小视频玖玖| 九九久久一区二区伦理| 99天堂网| 精品无码一区二区| 大屁股熟女一区二区三区| 日本熟妇色熟妇在线视频播放| 色网综合网| 天天爱综合网| 精品人妻中文字幕4399| 国产精品视频精品一二| 久草色悠悠在线视频| 久草在| 91劲爆| 一起草视频在线| 中文字幕人妻资源在线| 国产探花精品在线| 成片免费播放| 欧美色综合图片| 欧美日综合| 91无码西班牙视频在线| 精品一区二区成人动漫| 97精品国产97久久久久久免费| 殴美日韩m| 超碰在线1234区| 在线中文字幕视频| 秋霞蝌科网日本一区| 九九在线视频| 亚州,欧美在线| 天天视频网站黄| 久久久久久AⅤ无码免费肉站| 视频在线观看一二三区| 2020天天色综合| 日韩肏逼视频| 国模少妇一区二区三区| 91天堂视频| 99精品无码| 麻豆视频国产一区二区| 亚洲成人免费电影| 国产中文字幕在线| 久干9操| 久久国产视频专区一二三| 久久久草草精品| 国产午夜精品在线观看| 大香蕉丝袜一级片| 97超级色碰碰| 黑人操一区二区| 超碰午夜在线| 亚洲巨爆乳一区二区三区四季网| 五月天色图影视| Aa东京男人的天堂| 岛国视频一二三区| 久久久男人的天堂| 国产精品高清2021在线| 91亚洲黑人| 中文字幕无码不卡啪啪| JIZZJIZZ国产精品喷水| 新视频sss国产| 一级性爱视频免费观看 | 日韩无码a片| AV色天香在线| 亚州一区二区| 久久极品伊人| 国产精品乱码久久| 97资源制服丝袜| 99999国产| 久操不卡视频| 国产美女91| 精品-91人妻子系列| 啊啊啊不要嗯嗯在线观看| 老熟女搡BBBB搡BBBB视频| 天堂av2019| 日韩一二三区| 久久 亚洲 日韩 人妻| 中文字幕美女91| 天天做天天爱天天爽AV| 91精品人妻偷情| 少妇天堂网络| 秋霞曰韩R级| 97视频在线观看网站| 人妻一区视频| 国产日韩美女小穴视频网站不卡| 欧美九9 9 9| 天天92av| 嗯嗯啊啊亚欧精品| 亚洲最新av无码成人精品区| 国产精品动态一区二区三区四四| 成人性爱高清视频免费看| 国产AB视频| 色青青久久影视| 久久精品女同亚洲女同13| 国产 三级自拍| 91 综合网| 五月丁香在线| 国产福利视频精品视频| 91美女国产在线| 一区二区娱乐网站| 中文乱码字幕观看| 亚州人妻| 视频二区美腿丝袜制服人妻欧美| 成人无遮挡毛片免费看| 玖玖爱综合网| 97色插| caoni国产亚洲av| 加勒比综合88| 欧美A√综合网| 一级啊性爱在线视频| 欧美碰碰综合色| 欧美精品91| 久久久久久AⅤ无码免费肉站 | 国产日韩欧美三级片| 久久精品熟妇丰满人妻99| 欧美综合色站| 六月婷婷综合| 8x福利精品第一福利视频导航| 91美女国产在线| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 国产女人高潮视频| 日韩精品一区二区日韩| 97爱亚洲| www.av不卡中文字幕| 日韩一区二区精品视频| 国产精品久久久久亚洲av| 欧美国产婷婷久久| 夜夜操夜夜高潮夜夜爽国产精品区| 久久一二三四五六七八九区区区 | 国产小黄片在线免费观看| 天久久久噜噜噜久久国产精品爽爽 | 97超碰天天爱天天爱| 凹凸视频特色日本特黄| 国产免a费看黄片在线| 1区2区3区视频| 色97国产69香蕉| 国产污视频麻豆传媒一区二区| 99久久网站| 久久久久人妻二区精品叶可怜| 日韩久射综合| 欧美日日人人天天| 欧美激情黑人| 亚洲有码第一页| 国产精品制服丝袜中文字幕日韩一区二区三区 | 精品-91人妻子系列| 久操操AV电影| 中文字幕一区二区视频在线观看| 色爱天堂| 强乱老妇中文字幕| 99re视频在线播放青草| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 美女人妻色网站| 久久久com| 最新中文字幕在线亚洲| 中文字幕中文字幕一区二区| 亚洲,日韩,欧美,成人播放| 国语av狠狠色丁香婷婷综合激情| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 91 国产丝袜在线播放-百度| 亚州春色| 99热18这里只有精品| 麻豆天美制片厂网站视频| 熟女丝袜视频| 东北女人av| 国产精品一区二区三区在线密挑| 女优视频第10页| 人妻熟女一区在| 久久久97| 欧美日韩国产传媒在线精品| 久操 高清| 久久中日麻豆| 欧美丝袜美女电影一二三四区| 天天色图| 白丝被操91| 懂色中文一区二区三区| 色操逼网| 国产中文字幕曰本毛片| 亚欧高清v| 婷婷色色网| 91爽啪| 欧美无圣光在线| 免费网色网站| 久久国产精品视频| 精品免费视频国产一区| 国产精品久久久久久久AV大片| 欧美黄色片在线播放| 日韩无码黄色片| 美女被艹尤物视频| 97色五月天完| 无码人妻精品一区二区三区九九| 91熟女少妇| 国产麻豆91欧美一区二区久久婷婷国产精品 | 又粗又长又爽在线观看| 无码自拍SM| 亚洲性爱高潮影院| 九七毛片九九毛片| 蜜臀久久99精品久久久久久无删减 | 欧美一级二级三级| 女人与公拘交酡2020视频| 手机在线A片| 九九色热| 伊人991| 亚州黄站| 一区二区精品日韩欧美在线观看| 深田咏美亚洲精品福利社| 97视频观看| 国产午夜无码片在线观看影视 | 99re6久热只有精品6在线直播 | 久久国产逼| 亚洲毛片久久| 欧美双插| 亚洲国产精品9999在线观看| 久热影视| 欧美日韩性爱视屏免费看了| 思思热在线观看| 91啪9色| 欧美日韩亚洲五月天婷婷| 色哟哟av网址| 超碰97网站| 日韩精品中文字幕人妻| 女人被添高潮免费视频| 中文字幕二区日韩天堂| 无码人妻系列少妇| 超碰91在线| 黄色视频特级毛片| 久久国产精品91| 色香天天| 加勒比五月天| 亚洲诱惑天堂 | 欧美日韩m| 91麻豆va国产精品| 久久中文字幕一区不卡| 色五91| 97在线观看免费| 精品久久久久久无码| 五月婷婷hd| 国产一区二区在线看| 蜜臀久久99精品久久久久久-DVD原版全| 人人操人人舒服| 很很干很很操| 97综合激情| 欧美特大黄一级片片免费| 日韩精品9999| WWW啪啪的com| 久神马| 亚洲av无码国产精品字幕| 曰韩欧美国产传媒麻豆第一区| 国产熟码AV| A 天堂在线观看视频| 亚洲性猛| 五月天婷精品激情| 久久久无码精品人妻二区| 免费看欧美美女黄色大片| 国产人妻精品一区二区三区秋霞| 亚洲中文国际强奸字幕| 亚洲青青草| 欧美性爱一级操| 久久综合久色欧美综合狠狠| 无码精品蜜桃一区二区三区ww| 欧色性第一页| 日韩午夜精品一区二区三区电影| 四虎影视永久在线观看精品免费网站| 精品一啪| 亚洲美女精品九九视频| 九九玖玖精品| 第四色奇米影视777| 一区二区视频你懂的| 黄片免费久久久久久久| 亚洲美腿丝袜香蕉影视欧美成人| 开心五月婷婷激情| 亚洲乱码精品一区二区| 国产熟女精品区| 人人干人人搞人人摸| 久夜操| 啪啪视频mP4| 爽极品影院| 亚洲蜜臀精品视频久久| 亚洲色天堂日韩中| 性影在线视频| 国内一级精品| A啊啊在线观看| 日韩黄色一区二区三区| 久久免费少妇| 免费97视频| 激情五月天综合网| 国产女人高潮嗷嗷嗷叫小说 | 福利视频网站| 狠狠亚洲| 日韩有码一区三区| 国产成人综合在线播放| 亚洲欧美伦综合| 性色av一区二区| 超碰av在线| 男人的天堂午夜av| 91高潮| 国产精品久久久久999| 久久精品小视频| 国产女人和拘做爰视频| 久久久性爱| 欧美97视频| 日本精品一区三区| 人人干人人搞人人摸| 91亚洲欧美| 激情文学亚洲| 极品AV网站在线观看| 亚州情色j区| 深夜国产一区二区三区在线看| 国产精品网址| 99超碰网| 大干人妻| www.男人天堂| 又黄又粗又硬又长又大| 91大胆欧美| 操美女高潮抽搐白浆| 成人AV超碰免费在线| 国产路线专区| 99热在线只有精品| 99国产精品自在自在| 二对二中文字幕。| 蜜桃在线观看一区二区三区 | 亚洲涩涩| 国产丝袜美腿美女麻豆| 97色在线观看| 九一亚洲国产免费| 国产免费一区二区三区最新不卡 | 久久久久久免费电影| 无码男人天堂| 91久久国产综合精品| 吉田爱美AV在线| 国产精品久久发布| 97综合在线观看| 亚洲五月丁香花狠狠干一区二区三区 | 亚洲中文字幕av | 成人性爱免费播放| 欧美亚洲自拍另类人妻| 日本不卡五区| 男女无套 免费网站| 91精品人妻| 欧美黄业| 美女被啪到深处抽搐视频| 欧美啪啪色吧在线| 精品国产乱码久久| 成人蜜乳小视频网站| 免费AV中文网在线观看| 天堂v无码免费视频| 激情文学88| 日韩一级性爱无码| 台湾成人无码AV| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 91在线页| 青青草视频导航官网| www.91欧美| 久久人体一区二区| 伊人网高清| 日韩性爱啪啪视频| 日韩99精品视频综合区| 国语精品内射在线观看| 日本黄 R色 成 人网站| 亚洲nv男人的天堂网| 久久综合18p| 9久久美女首页| 激情久久日韩精品中文字幕麻豆| 91欧| 在线有码中文字幕| 欧美顶级黄片AAAAA在线免费看| 欧美v亚洲v日韩v最新在线二区| 婷婷五月天成人| 色综合中文字幕不卡| 国产人妻一区二区三区欧美毛片| 欧美韩日精品99综合| 一区二区三| 噜噜噜在线视频| 欧美精品999| 亚熟在线| 色天天野狼综合社区| 中文字幕丰满子伦无码专区在线视频最新 | 日婷婷| 久草视频分类在线| 欧美性暴力猛交XXXX| 亚欧美色图| 91P0RNY大屁股人妻| 久草免费在线一区二区| 精品91摸| 四虎884| 操操吧亚洲乱伦视频| 探花精品视频| 亚洲情色一区二区三区| 97视频在线播放| 影音先锋乱| 青青草亚洲一区 | ?亚洲伊人伊成久久人综合网| 混色激情av| 性色高清..……| 欧亚性爱在线视频| 欧美大码在线视频| 青青草公开在线免费不卡视频| 国产乱伦亚洲| 91暧暧| 嗯嗯不要视频| 激情色色| 中出人妻中文字幕91在线| 国产亚洲福利第一页丝袜| 成人看片网站| 亚洲欧美天| 男人a天堂手机在线版| 中文乱码99| 日韩无码第3页| 377p欧洲日本亚洲大胆| 中美日韩毛片| 老熟妇91| 99精品无码| 蜜臀th| 久久久久久99999国产精品| 国产v片在线免费观看| 国产精品交换一区二区| 99999久久精| 无码国产精品午夜不卡(| 中文字幕人乱码中文字的预防方法 | 亚洲熟女性高潮久久久| 欧美精品偷拍| 人人爱人人乐人人操| 91视频国品一二三区| 国产又粗又长又大的视频| 日本性爱少妇| 玖玖超碰熟| 久久精品亚洲成a人天堂| 做爱福利视频一区二区| 91人妻精华帖| 97在线观看免费视频l| 免费观看性欧美一级| 超碰色中文| 中文字幕av亚洲精品| 中文字暮97| 麻豆天美一区二区| 97二区四区| 91天天看| 97综合日韩| 欧美性爱18观看| 国产熟妇一区二区| WWW啪啪的com| 精品9999| 五月婷婷丁香| 91精品人妻一区二区三区蜜桃| 国产 码在线成人网站| 久9九综合在线| 美女超碰978| 一起草三级AV电影在线观看| 少妇同性| 一区操逼日比视频| 日本久久久精品电影| 美女自卫慰黄网站免费| 亚洲三级。日韩三级| 在线黄页看毛片| 国产毛片毛片4p懂色| 国产久久日韩网站导航| www国产天美久久久| 精品人妻一区二区蜜桃视频 | 久9爱精品| 久久久九97| a片久久久久久久久久久久 | www色婷婷| 97aiaiai| 欧日韩在线观看| 粉嫩在线一区二区懂色| 神马午夜久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 偷拍 精品另类 凸凹了四区| 性色AV蜜色av色欲av| 狠狠躁天天躁日日躁97| 大香蕉久操| 人妻二区| 97中文字幕九区| 久久綜合很很很| 午夜天堂啪啪| 亚洲色系另类精品国产| 日夜精品| 亚州色图片在线色| 青青草在线成人视频| 亚洲乱码国产乱码精网站| 亚洲欧美另类小说| 亚洲诱惑天堂| av婷婷色网| 三级片网站在线播放| 欧美影院一区二区三区| 91色伦| 美女淫穴| 少妇色综合| 国产女人高潮视频| 色综合久久88色综合久久天天| 亚洲熟女av中文字幕| 日本九九久久99| 97天天爽| 成人片在线播放| 成人aⅴ一区二区三区| 精品九九| 99精品无码| 久久人妇| aaa淫乱视频| 欧美精品成人亚洲| 色色色色电影网| 日本免费一级AAA大片器 | 亚洲Av无码成人精品国产| 色综合V| 亚洲欧美不卡线| 久久噜噜噜精品国产亚洲综合| 欧美熟妇人体| 激情自拍 校园春色| 日韩AC| 日韩一区二区高清在线观看的| 男人女人18禁片免费看网站| 综合网91| 新亚洲无码| 久操视频在线观看| 超碰在线一区| 国产传媒日韩| 中文字幕乱亚洲美女精品一区| 麻豆熟妇乱妇熟色A片在线看 | JULIA一区二区三区在线播放| 3P乱轮视频| 亚欧成人中文字幕一区| 欧美日韩 强奸乱伦| 中文字幕亚洲永久精品| 搡老人老9丨女老熟人| 欧亚乱色熟女一区二区| 爽 好舒服 无码刺激久久| 亚洲欧美国产成人综合不卡| 国产 v乱码一区二| www久久99| 男人兔费天堂| 色女网日韩| 美腿丝袜偷拍亚洲欧美| 欧美情色贴图| 亚洲的天堂网| 国产人妻久久精品一区二区三区| 麻豆精品.欧美精品.日韩精品.| 啊啊啊好大好深| 少妇一区二区三区| 天天射天天| 不卡av在线中文字幕| 国产AV激情无码久久无码 | www99热| 久久天天性久久伊人| 亚洲熟妇无码一区二区三区| 97超碰亚洲| 青青草影视蜜久久| 97久久超碰| 精品中文字幕一区二区| 日本道久久综合色色| 又大又白奶子| 欧美 牲| 伊人宅男大香蕉| 国产精品人妻无码久久久老鸭窝| 91精品久久久久五月天精品| 亚洲精品日日夜夜52| 91亚洲不卡一区| 综合激情一一91| 麻豆 美女 丝袜 人妻 中文| 少妇熟女1区2区3区| 影音先锋乱| 青青青操| 亚洲春色欧美| 欧美亚洲素人制服精品| 国产免费永久精品无码| 青青草吊丝| 少妇人妻在线| 无码不卡八戒| 刺激性视频黄页| 亚洲中字慕不卡| 欧美日韩在线视频网站| 亚洲无码久久久久久久| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 久久久久九九九| 久久久久骚| 天天在线91| 久久 国产 无码| 天天干天天插| 四虎影视永久在线观看精品免费网站 | 再深点灬舒服灬太大了添视频| 热热色国产一二区AV| 中文字幕欧美丝袜07资源| 日韩人成网站在线播放| 色哟哟-国产专区| 花花AV导航| 操逼视频免费日韩无码| 丝袜综合色图| 久草加勒比一区在线| 久久精品三级影视| 超碰天天操| 欧美一级黄色免费专区| 9 9精品一区二区三区| 吊色| 国产91乱伦| 秋霞男人网| 男人天堂网站| 曰韩精品九九无码| 伊人欧美大香蕉视频| 日本Xx性爱| 伊人 俄罗斯 a v| 国产亚洲精品一区二区三区| 狼天天狼天天大香蕉| 亚洲性高潮| 中文字幕 国产 精品| 超碰97在线中文| 亚洲欧美日韩免费电影| 国产传媒日本欧美专区| 日韩免费a级毛片无码a∨| 麻豆国产尤物AV| 男人的天堂com| 十八禁视频网站| 正宗无毛一线天嫩逼| 国产18精品亚洲精品| 国产精品大屁股999| 亚洲成熟国产精品美女| 天天干夜夜肏| 亚洲精品aa久久伊人| 欧美色图片欧美色图| 亚洲日韩国产欧美综合v| 欧美黑人91| 性爱av网站| 日本精品一区二区不卡| 九九在线视频| 人人操人人93| 99国产精品免费| 午夜.DJ高清在线观看免费7 | 可能人人看人人摸| 男人天堂网手机版婷婷| 国产超碰人人操| 校园春色AV天堂| 久久婷婷国产一区二区色| 青春草莓视频在线观看网址| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 亚洲色综合| 91亚洲欧美色图| 国产日韩欧美亚洲精品95| 操逼短片| 婷婷精品| 乱性AV| 97在线资源| 色婷网| 欧美精品三区| 东北女人| 亚洲成人免费在线| 国产粉嫩蜜臀av一区二区三区| 1区2区3区中文字幕日韩| 大香网站| 亚洲在线欧美| 欧美色天堂网在线视频| 亚欧高清在线| 综合97| 欧美大战久久久伊人| www色婷婷| 亚洲日韩在线a不卡99精品| 97免费视频在线观看视频| 大香蕉AV在线| 熟女这里只有精品6| 日韩欧美中文字亚洲慕| 久久久工口| 国产精品探花视频| 四虎免费在线观看| 蜜桃一区二区三区| 超碰97欧美在线| 色色香蕉| 操逼操2| 蜜桃臀一区二区aV| 国产天天骚| 中文字幕av乱伦| 午夜福利一区二区影院| 啊啊啊啊免费视频| 日韩精品人妻中文字有码在线 | 亚洲色欧| 淫骚熟女一区二区三区| 超碰人人妻| 蜜乳性色无码专日粉嫩骚逼AV| 国产精品熟女一区二区三区| 蜜臀av网址| 在线 亚洲 网爆 自拍| 香蕉婷婷| 国产精品女久久久久av爽| 啊啊嗯嗯好爽| 国产精品禁久久久精品| 麻豆伊人网| 欧美熟妇乱码在线一区| 强奸乱亚洲| 黄色区免费观看中文字幕| 人人模人人看| 精品人妻一区二区三区在线视频不卡| 综合一区二区影视| 国产精品网站www| 97国产超湿| 操碰97| 人妻激情偷乱视三区频一区二区| 国产美女裸体秘 永久无遮挡| 欧洲综合色图| 精品人妻一区二区免费看| 欧洲亚洲综合| 亚洲自拍欧美色综合| 欧美日韩在线视频网站| 一卡二卡在线播放| 99色在线| 欧美日韩精品青青| 碰超人人在线一区二区三区| 夜夜骑天天燥| 久久爽爽精品| 男人的天堂欧美| 熟妇人妻一区二区| 91九色丨国产丨爆乳| 天天干2019| 精品视频日日夜夜| 97国产精品国| 91大神电影天堂| 天天肏美女| 婷婷国产精品九区| 国产精品久久久久绯色| 麻豆久久久久久久久丝袜| ,国产乱人伦精品一区二区三区| 96精品在线| 大香蕉伊人一区在线观看| 91丝袜美女| 男人下部插入女人下部| 99啪啪视频| 久久精品一区| 欧美少妇性乱| 激情久久日韩精品中文字幕麻豆| 日本天天干天天日一区| 97 国产精品| 天堂综合网| 91夜色| 成人一道本免费视频| 超碰无码加勒比| 成人午夜小视频手机在线看| 久久精品三级影视| 99色视频| 色女99一级片在线观看| 久久国模av| 超碰欧美97资源| 友优传媒精品在线一区二区| 青草综合| 亚洲国产婷婷在线播放| 日本在线视频导航| 91neishe| 成人热久久精品| 久草老司机| 91综合熟女| A 在线网址| 超碰久热| 爱干爱射网啊啊啊| 九九九九一级| 久久岛国| 日韩免费在线视频观看| 亚洲成av人片色午夜乱码| 操狠狠| 先锋音影AV| 91n处女在线观看| 91精品人妻偷情| 粉嫩av在线一区二区| 日韩另类色图| 色娱乐色呦呦夜夜夜夜av| 欧色网址| 91爱啪| 亚洲精品三区在线观看| 日日干夜夜干| 中文字幕文字幕无码一区二区三区电影99 | 综合久草| 亚洲资源吧| 国产精品久久久久久久黄无码| 激情五月综合网| 中文字幕av一区二区三区人妻少妇| 人妻偷拍一区二区三区| 久99热| 五月天婷婷社区| 无码国产精品午夜不卡(| 青青三级视频| 青娱乐亚洲自拍| 日韩丝袜高跟制服在线观看| 国产成人拍国产亚洲精品| 久久婷婷五月天| 91精品国产91熟女| 无码少妇精品一区二区60岁老人| 超碰午夜| 大香蕉一线视频| 成人性交午夜免费片| 大香蕉久| 伊人操| 日han少妇无码| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 色99999| 人妻天天操天天爽视频免费| 综合久久久久久久久91| 射丝袜高跟鞋99| 狠狠操夜夜| 欧美日韩亚洲少妇寂寞影院正在播放 | 久久熟女精品不卡一区| 熟妇操花| 国产精品黑人一区二区三区| 中文字幕十五区| 91狠狠色丁香婷婷综合久久精品| 97超碰色色| 国产噜噜噜噜噜久久久久久久久| 女人午夜视频777| 东北毛片| 999熟女精品| 久久久久久久久久久久久久久性生活视频| 色姑娘综合网| 超碰久草| 久草精品国产蜜臀 | 狠狠色综合网| 人妻中文字幕日韩电影| 国产女人成人精品视频| 综合五月婷婷| 欧亚第一综合网| 97 九色| 青青三级视频| 亚洲成人在线乱码色午夜| 91爱啪| 国产福利电影| 久久高清欧美国产| A一区片| 人人看黄色视频| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 伊人久久大香线综合无码| 五月婷久久| 男人的天堂一区三区| 五月婷婷六月丁香网址| 国产熟女一区二区| 青草影院内射高潮| 久久亚州高清| 狠狠夜色午夜久久综合在线| 国产日韩精品一区二区三区| 思思热免费在线视频| 亚洲天堂电影网99999| 97国产成人精品免费视频| 少妇久久久| 黄呦呦在线| 天天综和| 激情文学 国产一二三aV| 男人的天堂啪啪| 日韩精品.久久精品.AV女优.天美传媒| 91人妻最真实刺激绿帽| 天天影视色香欲综合网小说| 欧美色图亚洲色| 欧美日韩在线小说| 国产精品永久免费10000| 亚洲黑丝在线| 最新av在线| 小草av不卡亚洲二区| 国产精品久久久久久久久久久久久久久久 | 人人妻人人玩人人澡人人爽| 美女好片色日本| 久久精品无码不卡| av 模特一区了| 久草在| 我想要啊 啊 啊| 人妻久久一区二区三区| 日韩无码视频黄色| 国产一区二区欧美日本| 超碰久久性爱| 91日日夜夜| 内射老妇BBWX0C0CK| 亚洲AV无码久久久国产精品| 欧插网站| 91n处女在线观看| 人人操人人摸人人看人人插| 色9999日韩国产| 色九九九九| 草草电影院| 日韩熟妇二区| 久草线上视频免费看| 天天谢天天干| 久草资源在线视频官方总站日韩丝袜美腿| 69丨亚洲丨精品丨入口免费播放| 国产乱伦视频污| 91大学精品激情戏| 情色图区| 国产精品青草综合久久| 学生妹天天看| 亚洲日韩精品一区视频在线| 国精综合一二三区影视| 91福利网在线观看| 精品无吗久久| 久久产精品一区二区三区电影 | 亚洲一区二区性爱电影| 日本精品性生活久久久| 成人免费性爱视视| 日日夜夜模| 国产理论视频在线播放| 国产在线精品电影观看| 久久青青草原免费视频| 精品久久九| 人人扣人人操| 强乱老妇中文字幕| 欧美制服网站美腿丝袜| 91亚洲综合| 91性生活久久久| 国产精品亚洲高清在线| 国产夫妻性生活视频| 丁香激情五月| 伊人天天久久动态图| 亚洲视频一二区| 亚洲av无线观看| 国产精品午夜AV完会免费| www.高清无码诱惑一区.com| 成人 日本A片无码8888| 亚洲天堂男人网| 少妇三P| 亚洲黑丝在线| 强奸乱伦AV网站| 日韩性色| 97亚洲国产| 蜜桃久久久久久久| 欧美成va视频网站| 老熟女乱伦一区| 东京热,男人的天堂| 人妻人人澡人人爽人人| 992这里有精品| 26UUU欧美激情一区二区| 天天综合-91入口| 97超碰精品图片| 精品性爱久久视频| 老师充足的奶水小说| 天天透伊人| 大香蕉五月天婷婷| 美女一区二区国产精品| 久久无码成人| 欧美中文字幕日韩在线| 狠狠超| 欧美综合网在线| 一本大道青青| 久久婷婷一区| 国产又长又大又粗的视频| 亚洲老司机123专区| 欧美天堂超碰97| 亚州再线| 91老熟女老女人国产老太| 亚州再线|