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

ARTICLE DETAIL

資訊詳情

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

Agent-Reach:企業(yè)級(jí)多Agent統(tǒng)一觸達(dá)與治理平臺(tái)實(shí)踐

Agent-Reach:企業(yè)級(jí)多Agent統(tǒng)一觸達(dá)與治理平臺(tái)實(shí)踐 如果你手頭只維護(hù)兩三個(gè)AgentAgent-Reach對(duì)你可能沒什么用。但如果你像我一樣在一家公司同時(shí)看到了客服Agent、推薦Agent、文檔審閱Agent、工單分類Agent、數(shù)據(jù)報(bào)表Agent……每個(gè)都由不同團(tuán)隊(duì)維護(hù)接口協(xié)議各不相同有的走HTTP、有的走gRPC、有的通過WebSocket主動(dòng)推送你就會(huì)明白“對(duì)內(nèi)Agent越來越多調(diào)用入口千奇百怪”這件事有多痛。Agent-Reach是我們內(nèi)部孵化的一個(gè)項(xiàng)目名字直譯過來就是“智能體觸達(dá)”——它解決的核心問題不是“Agent能做什么”而是“Agent怎么被找到、被穩(wěn)定地調(diào)用、被安全地治理”。簡(jiǎn)單說它像一個(gè)企業(yè)級(jí)Agent的“統(tǒng)一通訊錄路由調(diào)度器健康管家”把注冊(cè)、發(fā)現(xiàn)、路由、鑒權(quán)、熔斷、觀測(cè)全部收攏成一套標(biāo)準(zhǔn)機(jī)制。這篇文章就把Agent-Reach從設(shè)計(jì)到落地的全過程拆開講適合做企業(yè)AI基礎(chǔ)平臺(tái)、Agent編排、或者正被大量Agent接口集成搞得焦頭爛額的工程師參考。1. 為什么需要Agent-Reach——多Agent時(shí)代的“連接”難題1.1 Agent增速背后的隱性成本連接比能力更先失控Agent的數(shù)量增長(zhǎng)往往比大家預(yù)期的快得多。最開始團(tuán)隊(duì)里只有一個(gè)意圖識(shí)別Agent所有調(diào)用都直接寫死IP三個(gè)月后業(yè)務(wù)側(cè)引入了一個(gè)供應(yīng)商的文檔Agent算法組上線了推薦Agent運(yùn)維自己用LLM做了個(gè)告警摘要Agent。這時(shí)候再按老辦法做集成問題立刻暴露每個(gè)Agent的鑒權(quán)方式不一樣有的用API Key有的用內(nèi)部SSO token還有的壓根沒有任何鑒權(quán)直接掛在內(nèi)網(wǎng)每個(gè)Agent的接口定義也不統(tǒng)一同樣是“傳一句話進(jìn)對(duì)話框”A要求JSON里叫queryB規(guī)定叫message。最讓人頭疼的是故障定位——調(diào)用鏈跨了三個(gè)團(tuán)隊(duì)的系統(tǒng)業(yè)務(wù)方反饋“推薦沒出來”你根本說不清是哪個(gè)Agent超時(shí)了、哪個(gè)Agent返回了臟數(shù)據(jù)、還是服務(wù)注冊(cè)中心里的地址已經(jīng)過期了。這些問題的本質(zhì)不是單個(gè)Agent質(zhì)量不行而是缺少一個(gè)統(tǒng)一的“觸達(dá)層”。Agent-Reach就是在這個(gè)背景下立項(xiàng)的。我們的目標(biāo)很明確讓上游業(yè)務(wù)方不用關(guān)心下游Agent用什么協(xié)議、部署在哪臺(tái)機(jī)器、鑒權(quán)體系是什么只要通過Agent-Reach暴露的標(biāo)準(zhǔn)化接口傳入Agent名稱和參數(shù)剩下的尋址、路由、重試、鑒權(quán)、日志全部由平臺(tái)承擔(dān)。這聽起來像是一個(gè)“網(wǎng)關(guān)”但實(shí)際上比網(wǎng)關(guān)多做了一層Agent領(lǐng)域的語義抽象后面具體展開。1.2 觸達(dá)一個(gè)Agent遠(yuǎn)比“調(diào)一下API”要復(fù)雜我經(jīng)常用一個(gè)比喻內(nèi)部有幾十個(gè)Agent之后調(diào)用一個(gè)Agent和呼叫一個(gè)分布在全國(guó)各地的外包同事差不多。你得知道誰在上班健康狀態(tài)、誰是負(fù)責(zé)這件事的能力標(biāo)簽、怎么聯(lián)系到人協(xié)議地址、對(duì)方認(rèn)不認(rèn)你的工牌鑒權(quán)、對(duì)方忙不過來時(shí)怎么辦限流排隊(duì)、對(duì)方突然離職了怎么交接版本下線。這五個(gè)環(huán)節(jié)任意一個(gè)出問題集成方就要花大量精力去處理而且每個(gè)Agent都是獨(dú)立的一套邏輯問題會(huì)被放大幾十倍。具體來說一個(gè)Agent要被穩(wěn)定觸達(dá)至少需要解決以下問題尋址Agent部署實(shí)例有多份需要知道當(dāng)前存活的實(shí)例地址列表協(xié)議轉(zhuǎn)換上游統(tǒng)一走HTTP/gRPC但下游可能是WebSocket、MQTT甚至需要SSE流式返回路由策略同一能力可能有多個(gè)Agent提供按什么規(guī)則挑一個(gè)最優(yōu)的故障處理超時(shí)、重試、熔斷、降級(jí)不能把下游的一次抖動(dòng)放大成上游的連環(huán)報(bào)錯(cuò)安全治理每個(gè)Agent需要有獨(dú)立的身份和訪問控制不能一把鑰匙開全部門的門變更管理Agent版本升級(jí)、實(shí)例伸縮、下線通知需要平滑過渡不能改一個(gè)Agent把整個(gè)調(diào)用方都拉下水。這些能力如果每個(gè)團(tuán)隊(duì)自己實(shí)現(xiàn)一遍絕對(duì)是一場(chǎng)災(zāi)難。Agent-Reach扮演的角色就是把它們從“每家都要造的輪子”變成“平臺(tái)統(tǒng)一提供的基礎(chǔ)設(shè)施”。1.3 劃清邊界Agent-Reach不解決什么任何一個(gè)平臺(tái)項(xiàng)目最怕的就是什么都想干最后什么都干不好。Agent-Reach在立項(xiàng)時(shí)我們就明確了三個(gè)“不碰”第一不碰Agent內(nèi)部能力。它不關(guān)心Agent具體是調(diào)用LLM還是跑傳統(tǒng)模型也不參與Agent內(nèi)部的推理邏輯只負(fù)責(zé)“把請(qǐng)求可靠地送到Agent手里再把結(jié)果拿回來”。邊界清晰系統(tǒng)才簡(jiǎn)單。第二不替代上層的Agent編排引擎。像LangGraph、Dify這類編排工具更關(guān)注“多個(gè)Agent如何協(xié)同完成一個(gè)復(fù)雜任務(wù)”而Agent-Reach關(guān)注的是“單個(gè)Agent如何被可靠地調(diào)用”。兩者可以配合編排引擎負(fù)責(zé)工作流Agent-Reach負(fù)責(zé)底層觸達(dá)。第三不做數(shù)據(jù)面的內(nèi)容理解。它不會(huì)去解析業(yè)務(wù)payload里面是什么情感、什么意圖只把它當(dāng)作不透明的字節(jié)流來轉(zhuǎn)發(fā)。這樣既保持通用性也避免平臺(tái)層過度耦合業(yè)務(wù)。把這個(gè)邊界劃清楚之后我們后來的很多設(shè)計(jì)決策都變得簡(jiǎn)單了能用標(biāo)準(zhǔn)組件解決的不自研能做通用抽象的不綁定具體場(chǎng)景。2. 整體架構(gòu)注冊(cè)、發(fā)布、路由、監(jiān)測(cè)四段主鏈路2.1 控制面與數(shù)據(jù)面分離為什么必須拆開剛開始設(shè)計(jì)Agent-Reach的時(shí)候我們犯過一個(gè)低級(jí)錯(cuò)誤把路由判定邏輯直接寫在了請(qǐng)求轉(zhuǎn)發(fā)的代碼里。結(jié)果每次調(diào)整路由規(guī)則都要重新發(fā)布網(wǎng)關(guān)節(jié)點(diǎn)線上流量直接就抖一次。后來我們才把架構(gòu)改成經(jīng)典的控制面/數(shù)據(jù)面分離。控制面負(fù)責(zé)“知道有什么Agent、它們的狀態(tài)如何、請(qǐng)求應(yīng)該發(fā)到哪”主要包括注冊(cè)中心、元數(shù)據(jù)管理、路由規(guī)則管理、健康檢查調(diào)度、權(quán)限配置。數(shù)據(jù)面負(fù)責(zé)“真正把請(qǐng)求轉(zhuǎn)發(fā)出去”是一個(gè)無狀態(tài)的Agent Gateway集群。兩者通過一組內(nèi)部接口通信路由規(guī)則和Agent狀態(tài)變更實(shí)時(shí)同步到網(wǎng)關(guān)節(jié)點(diǎn)。這樣拆分的好處很實(shí)際控制面變更不會(huì)影響正在跑的流量網(wǎng)關(guān)節(jié)點(diǎn)可以隨意橫向擴(kuò)縮容任何一臺(tái)網(wǎng)關(guān)掛掉也不影響整體服務(wù)——因?yàn)闊o狀態(tài)。后面健康檢查、灰度發(fā)布等機(jī)制都是建立在這個(gè)基礎(chǔ)之上的。2.2 四層架構(gòu)與核心模塊Agent-Reach整體分四層每層職責(zé)單一我們從下往上捋接入層Agent Adapter負(fù)責(zé)連接各種各樣的Agent實(shí)例。每種協(xié)議對(duì)應(yīng)一個(gè)適配器HTTP/REST、gRPC、WebSocket/MQTT、SSE流式都有單獨(dú)的Adapter。新接入一種協(xié)議時(shí)只要新增一個(gè)Adapter不需要?jiǎng)由蠈舆壿?。路由調(diào)度層Router Dispatcher核心決策模塊。根據(jù)請(qǐng)求中攜帶的Agent標(biāo)識(shí)、能力標(biāo)簽、路由規(guī)則結(jié)合注冊(cè)中心的實(shí)時(shí)狀態(tài)選出一個(gè)目標(biāo)實(shí)例隨后執(zhí)行協(xié)議轉(zhuǎn)換、超時(shí)控制、重試、熔斷等動(dòng)作。注冊(cè)與治理層Registry Governance這層就是控制面的核心負(fù)責(zé)Agent的注冊(cè)、心跳、元數(shù)據(jù)存儲(chǔ)、版本管理、健康檢查、權(quán)限校驗(yàn)。所有Agent的“身份檔案”都存在這里。觀測(cè)與運(yùn)營(yíng)層Observability Operation向上提供統(tǒng)一的可觀測(cè)能力——調(diào)用鏈路Trace、Prometheus指標(biāo)、審計(jì)日志以及Web控制臺(tái)、告警規(guī)則配置、灰度發(fā)布操作入口。簡(jiǎn)而言之接入層解決“什么協(xié)議都能連”路由層解決“發(fā)給誰”注冊(cè)層解決“誰還活著、誰能被信任”觀測(cè)層解決“出了事怎么查”。2.3 關(guān)鍵選型與權(quán)衡etcd、Redis、gRPC各自承擔(dān)什么角色選型這塊我們踩了一些坑最終落地的方案可以給大家做個(gè)參考組件選擇作用為什么這么選注冊(cè)中心存儲(chǔ)etcd存放Agent元數(shù)據(jù)、路由規(guī)則、健康狀態(tài)自帶Watch機(jī)制Agent狀態(tài)變更可以實(shí)時(shí)推給網(wǎng)關(guān)節(jié)點(diǎn)比定時(shí)拉取快得多路由規(guī)則緩存Redis網(wǎng)關(guān)節(jié)點(diǎn)本地緩存之外的一級(jí)緩存存放路由規(guī)則快照和限流計(jì)數(shù)讀多寫少Redis的原子計(jì)數(shù)能力適合做分布式限流網(wǎng)關(guān)節(jié)點(diǎn)內(nèi)部通信gRPC控制面和數(shù)據(jù)面之間的同步接口強(qiáng)類型、支持流式適合Agent狀態(tài)變更的事件推送Agent間調(diào)用默認(rèn)協(xié)議gRPC HTTP/JSON兩種都支持由Agent自身決定現(xiàn)實(shí)情況是魚龍混雜不能強(qiáng)制統(tǒng)一服務(wù)發(fā)現(xiàn)自研 etcd Watch網(wǎng)關(guān)本地維護(hù)一份“可用Agent地址表”不引入太重的Service Mesh保持部署簡(jiǎn)單一個(gè)比較大的教訓(xùn)是不要一開始就上太重的服務(wù)網(wǎng)格。我們考慮過把Agent-Reach直接架在Istio上后來發(fā)現(xiàn)大部分Agent根本沒有容器化到位而且Agent級(jí)的路由語義按能力、按版本、按調(diào)用方灰度服務(wù)網(wǎng)格并不能直接表達(dá)。自己做一個(gè)輕量的控制面配合SDK和側(cè)邊Agent Gateway反而更好落地。3. Agent-Reach核心實(shí)現(xiàn)從注冊(cè)到觸達(dá)的每一環(huán)怎么落地3.1 定義Agent身份一套能被路由系統(tǒng)理解的元數(shù)據(jù)Agent必須在注冊(cè)中心有一個(gè)“身份檔案”否則路由系統(tǒng)根本不知道怎么找到它。但“身份檔案”到底包含什么不同團(tuán)隊(duì)定義不一樣。我們先定義了一套JSON Schema作為標(biāo)準(zhǔn)核心字段包括{ agent_id: customer-service-v2, name: 客服意圖識(shí)別Agent, version: 2.3.1, namespace: business/cs, owner: algorithm-csexample.com, endpoints: [ { type: grpc, addr: grpc://10.20.3.11:9000, protocol: grpc/standard, weight: 80 }, { type: http, addr: https://agent-cs.internal.local:8443, protocol: http/json, weight: 20 } ], capabilities: [intent.recognition, dialogue.state], routing_tags: { env: prod, team: algorithm, priority: p1 }, timeouts: { connect_ms: 500, read_ms: 3000 }, auth: { mode: mtls, token_version: 3 } }三個(gè)字段特別值得注意。capabilities是給路由用的語義標(biāo)簽調(diào)用方不需要說“我要調(diào)用customer-service-v2”只要說“我要一個(gè)能做意圖識(shí)別的Agent”系統(tǒng)就能通過能力匹配找到合適的Agent。這一點(diǎn)讓上層的編排引擎非常舒服因?yàn)榫幣乓娌挥脤懰繟gent名只描述需要什么能力。endpoints支持多個(gè)實(shí)例地址和權(quán)重。比如v2.3.1這個(gè)版本有三臺(tái)實(shí)例分別在不同端口權(quán)重高的實(shí)例承擔(dān)更多流量同時(shí)支持同時(shí)暴露gRPC和HTTP兩種協(xié)議適配不同調(diào)用場(chǎng)景。routing_tags是靈活的輔助路由維度比如env: prod表示生產(chǎn)環(huán)境team: algorithm表示歸屬算法團(tuán)隊(duì)?;叶劝l(fā)布時(shí)可以根據(jù)這些標(biāo)簽設(shè)置規(guī)則例如“只把5%流量導(dǎo)到version: 2.4.0的實(shí)例上”。提示agent_id一旦確定就不要改。我們?cè)缙谟袀€(gè)Agent改了ID導(dǎo)致歷史Trace、調(diào)用記錄、告警規(guī)則全部對(duì)不上號(hào)排查問題非常痛苦。ID是不可變標(biāo)識(shí)版本號(hào)才是可變信息。3.2 路由策略按能力、按標(biāo)簽、按調(diào)用方做精細(xì)化分發(fā)路由是Agent-Reach最核心的部分我們實(shí)現(xiàn)了三種基礎(chǔ)路由策略組合使用。第一種是能力路由。調(diào)用方在請(qǐng)求中聲明需要的capability系統(tǒng)在注冊(cè)中心里查所有包含該能力的Agent再根據(jù)可用狀態(tài)過濾。比如“抽取工單里的日期和金額”這個(gè)能力如果三個(gè)Agent都支持全部進(jìn)入候選池。第二種是標(biāo)簽路由。在候選池之上用路由規(guī)則里的routing_tags進(jìn)行過濾。例如內(nèi)部調(diào)用方標(biāo)記env: prod只命中生產(chǎn)實(shí)例標(biāo)記tenant: a只路由到A客戶專屬實(shí)例。標(biāo)簽路由的價(jià)值在于隔離——你可以讓數(shù)據(jù)敏感的Agent只對(duì)特定調(diào)用方可見。第三種是負(fù)載策略。候選池確定后按照配置從三個(gè)策略里選一個(gè)route_rules: - agent_ref: customer-service match: by_capability: [intent.recognition] by_tag: env: prod selector: weighted_round_robin sticky: by_consistent_hash(user_id)weighted_round_robin按元數(shù)據(jù)里的weight權(quán)重輪詢適合無狀態(tài)、對(duì)結(jié)果一致性不敏感的請(qǐng)求consistent_hash按請(qǐng)求里的某個(gè)穩(wěn)定標(biāo)識(shí)如用戶ID做一致性哈希確保同一個(gè)用戶始終打到同一個(gè)Agent實(shí)例。這對(duì)有會(huì)話狀態(tài)、需要連續(xù)上下文的Agent非常重要random_with_limit隨機(jī)選擇加并發(fā)上限控制用于大規(guī)模請(qǐng)求的流量攤平。一個(gè)比較值得說的細(xì)節(jié)是一致性哈希要配合“虛擬節(jié)點(diǎn)”來用。如果哈希環(huán)上的真實(shí)節(jié)點(diǎn)只有兩三個(gè)實(shí)例擴(kuò)縮容的時(shí)候會(huì)導(dǎo)致大量請(qǐng)求重新分配用戶會(huì)明顯感覺到會(huì)話被切換。我們把每個(gè)實(shí)例映射成150個(gè)虛擬節(jié)點(diǎn)擴(kuò)縮容影響面小了很多實(shí)測(cè)會(huì)話保持率從92%提升到99.5%左右。3.3 健康檢查、熔斷與故障轉(zhuǎn)移參數(shù)怎么定才不矯枉過正穩(wěn)定性這塊我們一開始的參數(shù)設(shè)置很保守結(jié)果反而把事情搞砸了。最初我們?cè)O(shè)置“連續(xù)5次健康檢查失敗就把Agent摘掉”間隔時(shí)間是10秒一次也就是說Agent要連續(xù)掛50秒才會(huì)被剔除。對(duì)于一個(gè)實(shí)時(shí)性高的客服場(chǎng)景來說50秒的故障窗口還是太長(zhǎng)。后來調(diào)整為“主動(dòng)探測(cè) 被動(dòng)熔斷”雙重機(jī)制主動(dòng)探測(cè)每15秒對(duì)Agent的/healthz端點(diǎn)發(fā)一次探活請(qǐng)求超時(shí)2秒算失敗連續(xù)3次失敗約45秒就把實(shí)例標(biāo)記為不健康移出路由候選池。被動(dòng)熔斷網(wǎng)關(guān)這邊統(tǒng)計(jì)每個(gè)Agent近1分鐘的請(qǐng)求錯(cuò)誤率如果錯(cuò)誤率超過5%且請(qǐng)求量不小于10就會(huì)觸發(fā)熔斷停止向該Agent發(fā)流量熔斷時(shí)間默認(rèn)30秒。熔斷結(jié)束后放少量試探流量恢復(fù)則繼續(xù)失敗則重新熔斷每次熔斷時(shí)間翻倍最大5分鐘。這套機(jī)制上線后我們看到了一個(gè)很典型的現(xiàn)象Agent進(jìn)程還沒完全掛掉但內(nèi)部依賴的數(shù)據(jù)庫(kù)連接池已經(jīng)耗盡表現(xiàn)為接口超時(shí)率飆升。主動(dòng)探測(cè)測(cè)不出這種“半死狀態(tài)”因?yàn)?healthz依然返回200反而是被動(dòng)熔斷的5%錯(cuò)誤率閾值先把這個(gè)惡化中的Agent摘掉了避免把故障擴(kuò)散給周邊系統(tǒng)。故障轉(zhuǎn)移還有一個(gè)容易忽略的環(huán)節(jié)當(dāng)首選Agent熔斷時(shí)請(qǐng)求不能簡(jiǎn)單直接報(bào)錯(cuò)。我們?cè)诼酚蓪訉?shí)現(xiàn)了“候選池內(nèi)自動(dòng)降級(jí)”——如果一個(gè)請(qǐng)求需要“意圖識(shí)別”能力首選Agent熔斷了系統(tǒng)自動(dòng)尋找候選池里另一個(gè)具有同樣能力的Agent進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)。前提是調(diào)用方在請(qǐng)求里允許降級(jí)通過一個(gè)fallback: true字段控制因?yàn)橛行I(yè)務(wù)場(chǎng)景對(duì)“必須是官方客服Agent”有硬性要求不能隨便降級(jí)到第三方Agent。3.4 安全觸達(dá)mTLS、令牌輪換和最小權(quán)限審計(jì)Agent-Reach管理著企業(yè)里大量Agent的訪問入口安全這塊必須從第一天就設(shè)計(jì)進(jìn)去后面補(bǔ)會(huì)很痛苦。我們做到了三層防護(hù)。第一層是身份認(rèn)證網(wǎng)關(guān)和Agent之間的所有通信強(qiáng)制走mTLS雙向證書校驗(yàn)Agent側(cè)不信任沒有任何身份憑證的請(qǐng)求第二層是權(quán)限控制每個(gè)Agent定義獨(dú)立的訪問策略分為public所有內(nèi)部調(diào)用方可用、restricted僅白名單調(diào)用方可用、private僅特定負(fù)責(zé)人可調(diào)用第三層是令牌輪換注冊(cè)時(shí)下發(fā)的AccessToken默認(rèn)有效期24小時(shí)Agent實(shí)例通過SDK自動(dòng)續(xù)期最大化降低令牌泄露的影響面。審計(jì)方面Agent-Reach對(duì)每一次敏感操作注冊(cè)、修改路由規(guī)則、下線Agent、修改權(quán)限、令牌輪換都產(chǎn)生不可篡改的審計(jì)日志存到獨(dú)立的日志存儲(chǔ)。這樣即使內(nèi)部出現(xiàn)配置變更導(dǎo)致的故障也能快速定位“誰在什么時(shí)間改了什么”。有一次我們排查一個(gè)線上Agent突然不能被調(diào)用的問題最后就是靠審計(jì)日志發(fā)現(xiàn)是某個(gè)同學(xué)在控制臺(tái)誤改了路由規(guī)則把目標(biāo)Agent踢出了候選池。這個(gè)案例后面會(huì)細(xì)講。4. 落地實(shí)操把第一個(gè)Agent接入Agent-Reach4.1 最小化部署清單先跑起來再談優(yōu)化Agent-Reach的控制面依賴etcd、Redis和消息隊(duì)列數(shù)據(jù)面網(wǎng)關(guān)是無狀態(tài)的。最小化部署需要的組件如下組件數(shù)量最低配置說明etcd3節(jié)點(diǎn)生產(chǎn)至少3單機(jī)測(cè)試1即可2核4G注冊(cè)中心存儲(chǔ)生產(chǎn)建議配SSDRedis1節(jié)點(diǎn)2核4G路由緩存和限流計(jì)數(shù)可HAAgent Gateway2節(jié)點(diǎn)起步4核8G無狀態(tài)可橫向擴(kuò)縮容Web Console1節(jié)點(diǎn)2核4G管理控制臺(tái)可獨(dú)立部署Prometheus AlertManager1套按量評(píng)估指標(biāo)采集和告警消息隊(duì)列1套按量評(píng)估異步事件通知、審計(jì)日志傳輸部署順序上建議先etcd后Redis然后啟動(dòng)Gateway最后開Console。Gateway啟動(dòng)時(shí)會(huì)從etcd拉全量Agent元數(shù)據(jù)并建立本地緩存同時(shí)啟動(dòng)Watch監(jiān)聽變更事件等Gateway全部就緒后其他組件再啟動(dòng)就不會(huì)遇到“網(wǎng)關(guān)還沒準(zhǔn)備好就收到注冊(cè)事件”的邊界問題。4.2 接入一個(gè)HTTP Agent的完整示例假設(shè)我們要把一套“合同摘要Agent”接入Agent-Reach。這個(gè)Agent只有一個(gè)HTTP接口地址是http://contract-agent.internal:8080/analyze接收J(rèn)SON返回JSON。接入過程分三步第一步在Agent側(cè)引入SDK并初始化。以Python為例from agent_reach import AgentReachClient client AgentReachClient( agent_idcontract-summarizer, namespacelegal/contract, tags{env: prod, team: legal}, ) client.register( version1.0.0, endpointhttp://contract-agent.internal:8080/analyze, protocolhttp/json, capabilities[contract.summarize, clause.extract], health_path/healthz, ) def analyze(payload): # 這里是Agent本來就有業(yè)務(wù)邏輯 pass client.start()這段代碼做的事情是實(shí)例啟動(dòng)時(shí)自動(dòng)向Agent-Reach的注冊(cè)中心注冊(cè)登記版本、地址、能力標(biāo)簽同時(shí)啟動(dòng)健康檢查和令牌續(xù)期的后臺(tái)任務(wù)。第二步在控制臺(tái)上配置路由規(guī)則。目標(biāo)規(guī)則是上游請(qǐng)求聲明capability: contract.summarize時(shí)命中這個(gè)Agent生產(chǎn)環(huán)境默認(rèn)全部流量進(jìn)1.0.0版本但預(yù)留canary標(biāo)簽給灰度實(shí)例。第三步驗(yàn)證連通性。直接在控制臺(tái)的調(diào)試界面發(fā)起一個(gè)測(cè)試請(qǐng)求傳入{document_id: DOC-10001}正常response回傳摘要結(jié)果。此時(shí)檢查Trace信息可以看到請(qǐng)求經(jīng)過了Agent-Reach Gateway、到達(dá)了目標(biāo)實(shí)例、耗時(shí)多少、哪個(gè)環(huán)節(jié)耗時(shí)最長(zhǎng)。這一步非常有用它相當(dāng)于在正式聯(lián)調(diào)前先做了一次“體檢”。注意如果Agent有多個(gè)環(huán)境dev/staging/prod必須在注冊(cè)時(shí)通過tags區(qū)分。我們之前遇到過一個(gè)事故——開發(fā)環(huán)境的Agent實(shí)例沒有打env標(biāo)簽結(jié)果被默認(rèn)路由規(guī)則把生產(chǎn)流量打了過去差點(diǎn)把測(cè)試數(shù)據(jù)混入生產(chǎn)環(huán)境。env這類基礎(chǔ)標(biāo)簽建議做成必填項(xiàng)。4.3 灰度發(fā)布與優(yōu)雅下線版本升級(jí)不打斷業(yè)務(wù)Agent及其依賴的模型版本迭代非常快我們一個(gè)星期可能升級(jí)兩三次。為了不打斷業(yè)務(wù)Agent-Reach把“灰度發(fā)布”做成了標(biāo)準(zhǔn)操作流程。發(fā)布新版本1.1.0時(shí)先注冊(cè)新實(shí)例但給它打上version: 1.1.0和canary: true標(biāo)簽。配置一條臨時(shí)路由規(guī)則只有調(diào)用方請(qǐng)求頭里帶X-Canary: allow的請(qǐng)求才會(huì)命中新版本其余流量全部走舊版本1.0.0。新產(chǎn)品可以先在內(nèi)部走一波驗(yàn)證流確認(rèn)效果符合預(yù)期后再把規(guī)則改成“5%的普通流量進(jìn)新版本”逐漸放大到100%。優(yōu)雅下線同樣重要。直接在治理層“下線”一個(gè)Agent聽起來很簡(jiǎn)單但如果這個(gè)Agent正在處理長(zhǎng)耗時(shí)任務(wù)強(qiáng)殺會(huì)導(dǎo)致調(diào)用方拿不到結(jié)果并且可能造成數(shù)據(jù)不一致。我們實(shí)現(xiàn)了一套“排空機(jī)制”控制面先把實(shí)例標(biāo)記為overloaded狀態(tài)不接收新請(qǐng)求正在處理的請(qǐng)求正常完成直到活躍連接數(shù)為0實(shí)例上報(bào)告idle狀態(tài)控制面再將它從地址表中移除并關(guān)閉連接。這套機(jī)制要求Agent側(cè)SDK配合處理一個(gè)“等待排空”的信號(hào)。實(shí)際執(zhí)行下來最長(zhǎng)的排空時(shí)間只有幾十秒因?yàn)榇蠖鄶?shù)Agent的單次請(qǐng)求都在秒級(jí)完成不太會(huì)出現(xiàn)動(dòng)輒幾分鐘的長(zhǎng)任務(wù)。4.4 關(guān)鍵指標(biāo)與告警不看這四類指標(biāo)等于白做Agent-Reach上線后我建議團(tuán)隊(duì)優(yōu)先盯四類指標(biāo)別一上來就搞幾十個(gè)監(jiān)控面板看不過來也守不住。第一類是請(qǐng)求量類reach_request_total按agent_id和result_code維度統(tǒng)計(jì)。通過流量曲線可以快速判斷是不是有異常流量或Agent下線導(dǎo)致請(qǐng)求堆積。第二類是性能類reach_request_duration_seconds的P50、P95、P99。P99很重要我們觀察到很多Agent的P50很漂亮但P99經(jīng)常爆表說明實(shí)例內(nèi)部有偶發(fā)的長(zhǎng)尾請(qǐng)求可能是GC、模型推理波動(dòng)或者外部依賴慢查詢。第三類是穩(wěn)定性類reach_agent_unhealthy和reach_circuit_breaker_open。這兩個(gè)指標(biāo)一旦非零就要立刻看是探活失敗還是熔斷觸發(fā)是單個(gè)實(shí)例問題還是整個(gè)Agent集群?jiǎn)栴}。第四類是注冊(cè)與路由變更審計(jì)reach_registry_change_total這個(gè)指標(biāo)不常有人提到但我強(qiáng)烈建議加上。它統(tǒng)計(jì)注冊(cè)中心里Agent注冊(cè)、下線、路由規(guī)則變更等事件的數(shù)量和類型。很多莫名其妙的問題根源都是“配置被人改過”有這個(gè)指標(biāo)加上審計(jì)日志能快速定位是不是變更導(dǎo)致的故障。告警規(guī)則我們直接用PromQL實(shí)現(xiàn)舉幾個(gè)典型的例子# Agent不健康超過1分鐘觸發(fā)告警 sum by (agent_id) (reach_agent_unhealthy) 0 # 某Agent P99延遲超過2秒持續(xù)5分鐘 histogram_quantile(0.99, sum by (le) (rate(reach_request_duration_seconds_bucket[5m]))) 2 # 請(qǐng)求錯(cuò)誤率超過5%持續(xù)2分鐘 sum by (agent_id) (rate(reach_request_total{result_codeerror}[2m])) / sum by (agent_id) (rate(reach_request_total[2m])) 0.055. 踩坑記錄與排查方法實(shí)錄5.1 注冊(cè)成功但一直路由失敗元數(shù)據(jù)標(biāo)簽不一致上線初期我們遇到一個(gè)非常詭異的問題某個(gè)Agent在控制臺(tái)上明明顯示“已注冊(cè)”“健康”但通過Gateway發(fā)起調(diào)用時(shí)卻報(bào)“無可用實(shí)例”。排查過程是這樣的。先看注冊(cè)表元數(shù)據(jù)正常再看健康檢查狀態(tài)也是active最后看網(wǎng)關(guān)節(jié)點(diǎn)的路由日志發(fā)現(xiàn)它根本沒有把這個(gè)Agent放進(jìn)候選池。定位到最后是路由規(guī)則的by_tag寫的是env: prod而這個(gè)Agent注冊(cè)時(shí)打的標(biāo)簽是Environment: prod——注意標(biāo)簽Key的命名不一致一個(gè)用小寫env一個(gè)用首字母大寫Environment。Agent-Reach對(duì)標(biāo)簽匹配是精確匹配大小寫不敏感這個(gè)需求我們當(dāng)時(shí)覺得“不會(huì)有人用錯(cuò)”結(jié)果真的就發(fā)生了。后來我們?cè)诳刂婆_(tái)校驗(yàn)環(huán)節(jié)加了標(biāo)簽Key的白名單和自動(dòng)提示并且在文檔里明確規(guī)范標(biāo)簽Key一律小寫下劃線例如env、team、version標(biāo)簽Value不影響匹配但建議統(tǒng)一小寫。另外Schema校驗(yàn)器會(huì)在注冊(cè)時(shí)自動(dòng)檢查標(biāo)簽Key是否符合規(guī)范不符合直接拒絕注冊(cè)。5.2 一次由心跳超時(shí)導(dǎo)致的“幽靈雪崩”事故這是一次印象非常深刻的故障。某個(gè)中午客服Agent的調(diào)用突然大面積失敗而且不是全部失敗是間歇性失敗。第一反應(yīng)是Agent掛了但去Agent所在服務(wù)看進(jìn)程明明活著日志也沒什么異常。查到最后問題出在健康檢查的主動(dòng)探測(cè)和Agent的GC上。Agent是Java服務(wù)默認(rèn)使用G1垃圾回收器在內(nèi)存壓力大的時(shí)候發(fā)生了連續(xù)幾次Full GC每次停頓都超過了2秒。Agent-Reach的健康探測(cè)超時(shí)正好也是2秒于是探測(cè)請(qǐng)求超時(shí)被判為失敗連續(xù)3次失敗后實(shí)例被摘除。等Agent側(cè)GC恢復(fù)、服務(wù)重新響應(yīng)時(shí)調(diào)度系統(tǒng)又把它加回來。這個(gè)過程反反復(fù)復(fù)形成“摘除-恢復(fù)-摘除-恢復(fù)”的抖動(dòng)對(duì)調(diào)用方來說就是間歇性失敗。這里的關(guān)鍵洞察健康檢查的超時(shí)值不能和業(yè)務(wù)接口的超時(shí)值劃等號(hào)。健康檢查的目的是判斷“這個(gè)實(shí)例還能不能接流量”但它不應(yīng)該因?yàn)橐淮味虝旱腉C停頓就被摘掉——這反而放大了故障。我們后來把健康探測(cè)超時(shí)調(diào)整為3秒連續(xù)失敗閾值調(diào)整為5次并且給熱點(diǎn)Agent配置了GC暫停時(shí)長(zhǎng)告警兩套機(jī)制配合這類問題基本絕跡。5.3 跨Agent調(diào)用鏈Trace丟失上下文傳遞要做對(duì)Agent-Reach的Gateway作為統(tǒng)一入口天然適合接入鏈路追蹤。但有一個(gè)問題非常隱蔽當(dāng)請(qǐng)求從Agent A內(nèi)部繼續(xù)調(diào)用Agent B時(shí)Trace上下文經(jīng)常傳遞失敗。原因是很多團(tuán)隊(duì)的Agent代碼在調(diào)用下一個(gè)Agent時(shí)只傳了業(yè)務(wù)參數(shù)沒有把traceparent之類的W3C Trace上下文頭透?jìng)鬟^去。結(jié)果就是整條調(diào)用鏈在Agent A那里斷掉你在觀測(cè)平臺(tái)看到的只有兩段孤立的Trace根本串不起來。解決方法分兩步第一步Agent-Reach SDK在發(fā)起調(diào)用時(shí)自動(dòng)注入W3C Trace上下文第二步接入方在Agent內(nèi)部再調(diào)用其他Agent時(shí)必須保證HTTP頭部原樣透?jìng)鱰raceparent字段。我們做了規(guī)范檢查在測(cè)試環(huán)境跑了一輪“全鏈路Trace完整性”用例把那些偷懶沒透?jìng)魃舷挛牡腁gent全部揪出來修正。之后跨Agent的排障效率高了一個(gè)量級(jí)出問題不再需要“猜”直接在鏈路圖里看哪一跳慢了。5.4 常見問題速查表現(xiàn)象可能原因排查路徑解決方案Agent顯示已注冊(cè)但調(diào)用失敗路由規(guī)則標(biāo)簽和注冊(cè)標(biāo)簽不一致查看路由規(guī)則解析日志統(tǒng)一標(biāo)簽Key命名規(guī)范啟用Schema校驗(yàn)間歇性調(diào)用失敗健康檢查參數(shù)過緊導(dǎo)致抖動(dòng)查看Agent GC日志和健康檢查記錄調(diào)整超時(shí)和失敗閾值配置GC告警新版本發(fā)布后流量沒有進(jìn)入灰度規(guī)則的canary標(biāo)簽沒生效檢查請(qǐng)求頭是否攜帶灰度標(biāo)識(shí)確認(rèn)調(diào)用方正確透?jìng)鱔-Canary頭調(diào)用延遲偶發(fā)飆高Agent實(shí)例存在長(zhǎng)尾請(qǐng)求查看P99耗時(shí)和實(shí)例指標(biāo)排查GC、外部依賴慢查詢等長(zhǎng)尾因素Trace在某個(gè)Agent斷了上下文頭沒有透?jìng)髟赟DK日志里查traceparent按規(guī)范透?jìng)鱓3C上下文頭5.5 做完Agent-Reach之后的一些個(gè)人體會(huì)如果讓我總結(jié)這個(gè)項(xiàng)目最重要的經(jīng)驗(yàn)不是技術(shù)棧也不是架構(gòu)設(shè)計(jì)而是“命名和規(guī)范先行”。Agent的數(shù)量一旦上來命名混亂、標(biāo)簽隨意、版本語義不清晰會(huì)消耗掉比實(shí)現(xiàn)本身更多的時(shí)間?,F(xiàn)在我們的新Agent接入Agent-Reach平均只需要半天而早期是三天以上核心差異就是規(guī)范被固化成了平臺(tái)的默認(rèn)約束。另一個(gè)體會(huì)是觸達(dá)層這種基礎(chǔ)設(shè)施必須從一開始就把可觀測(cè)性當(dāng)作一等公民而不是事后補(bǔ)。Trace、指標(biāo)、審計(jì)日志這三樣?xùn)|西如果等項(xiàng)目上線才想起來加后面要補(bǔ)的話工作量至少要翻倍。而且沒有觀測(cè)數(shù)據(jù)你連“要不要補(bǔ)”都沒法判斷。最后想說的是Agent-Reach給我們帶來的最大變化是讓上層編排和業(yè)務(wù)接入變得簡(jiǎn)單了。大家不再糾結(jié)“怎么連上這個(gè)Agent”而是開始把精力放在“這個(gè)Agent的能力怎么用得更好”上。這大概就是基礎(chǔ)設(shè)施該有的樣子——讓難的那部分變得平庸讓有價(jià)值的部分被看見。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美一区二区三区互相| 蜜臀av一区二区三区免费观看| 在线观看国产黄色| 熟妇xxxxx性春色| 高清无码人妻久久久一区二区三区aⅴ| 亚洲成人妻日韩在线| 嗯~啊~快点 死我视频| 麻豆AV一区二区天美传媒| 久色网| 欧美最大综合网| 国产一区二区三区高清视频| 久久亚洲日韩国产欧| 熟女一区二区| 欧美久久毛片基地| 日韩AV中文字幕电影| 中文字幕黄色片| 国产精品女生av| 亚洲欧美天堂| 成·人免费午夜在线观看| 国产又大又粗又长视频| 粉嫩久久久极品| 高跟伊人julia ann| 殴美综合色88| 日本五十路在线| 91网亚洲| www. 男人天堂成人在线| 老熟妇综合| 超碰97色色| 久久夜色一区二区| 久久久久久裸体| 亚洲男人天堂视频| 神马久久午夜| 亚瑟国产精品久久无码| 97欧美性爱| 色情五月综合婷婷| 亚洲日韩av一区二区三区百合| 欧美精品四区| 国产黄色动态精品| 97国产精选| 97鸡把在线视频| 神马久久久久久| 天天爽夜夜爽夜夜爽精| 国产精品自在自拍视频| 亚洲色偷偷色噜噜狠狠99网| 久久久久久波多野吉衣高潮| 日本一线产区和二线产区伦理片| 97日韩欧美| 无码丰满熟妇一区二区浪潮AV| 婷婷丁香五月天综合东京热| 人妻久热在线| 欧美狠狠狠| 一个人免费视频观看在线WWW| 国产大学生口爆吞精合集| 懂色AV蜜臀无码精品APP| 色色五月婷婷| 国产av热热色| 中英熟女操女| 亚殴在线| TS人妖另类精品视频系列| 日韩亚洲中文字幕在线| 超碰在线97国产| 夜色综合| 六九九九| 高潮精品| 极品丝袜无码| 麻豆国产97在线| 中文字幕在线观看视频www| 人妻 欧美 中文| 无码黑人精品一区二区三区三| 精品免费成人久久| 蜜桃臀 后入 一区 二区 三区 在线| 亚洲中文电影| 中文字幕日韩电影人妻| 无码一区二区精品视频久久久春药| 88xx成人精品视频| 天天插夜夜爽| 91高跟美女在线播放| 亚洲 日韩 欧美 国产综合体| 最新中文字幕精品在线| 综合激情二| 人人干人人操人人爱| 超碰色图| 青青草五月天| 国产熟女完整版中字 | 日韩午夜精品一区二区三区电影| 精品人妻一区二区免费蜜桃| 97频视在线| 久久人| 国产精品亚洲无码| 精品久久久久,69国产成人精| 久久精品国产亚洲5555| 色人久久| 久久熟女久| 亚洲97在线观看| 97中文字幕色| 亚洲精品欧洲精品| 国产亚洲精品美女久久久| 久久后入制服| 99re69综合| 五月天婷婷综合网| 色欲av一区二区三区蜜芽| 久男人久久| 久久中日麻豆| 欧美色日本| 久九九九九九九热| 日本天堂网| 欧美熟妇视频| 97亚洲性爱| 嗯嗯啊在线视频| 久久久精品无码亚免费| 郑州宾馆老熟女露脸啪啪| 青娱乐休闲视频在线观看| 人干人人人操人人摸| 少妇的嫩逼图片| 婷婷8月天青娱乐| 精品少妇一区二区三区| 免费国产| 蜜臀99久久精品| 色色毛片| 女人的久久久| 中文字幕欧洲有码| 操啊国产| 美国人人操人人操| 五月天大香蕉| 色综合加勒比四四季| 伊人丝袜美腿高跟在线观看高清| 性色av一区二区| 亚洲高清国产理伦片| 少妇人妻在线| 91观看 国产白丝| 色综91| 日本不卡一区| 香蕉欧美| 国产无码精品久久久久久| av午夜影院在线播放| 污色区网站| 少妇熟女1区2区3区| 大色综合| 欧美人妻一区| 69天堂| 91强在线播放| 淫荡熟女乱伦网| 日本一区二区亚洲综合| 97色色视频| 日韩欧美tv一区二区在线观看| av爱爱爱| 国产无马av| 大香蕉日亚洲日本亚大| 国语对白在线播放视频| 色悠久久久av| 色婷婷丁香五月天| 亚洲男人天堂网| 国内91熟女人妻丝袜天天精品视频在线| 97视频在线免费| 美女啊啊啊啊pc| 97色香蕉| 777奇米影视777四色| 老熟女91| 夜夜骑天天燥| 91国产精品在线看| 自拍偷拍亚洲熟女妇人精品| 人妻少妇久久中文字幕一区二区 麻豆| 丝袜无码a片| 日韩熟女无码| 欧美伦乱| 国产在线观看一区二区三区| 超碰免费在线| 有码专区最新中文字幕有码| 97欧美色综合| 麻豆国产免费影片| 九九人妻| 日韩色欲久久一二三四区| 死我十八禁| www九九热| 色综合网1| 亚洲成人帖图| 欧美78p| 2018天天干在线视频| 后入综合久久| 青青草伊人久久| 日本日皮视频逼| 日韩在线欧美精品一区二区| 欧美久久人体| 国产精品久久久久久久久久久久久久久久 | 亚洲精品97| 欧美一区二区成人一卡| 亚洲国男人的天堂| 亚洲熟女中文字幕在线| 亚洲视频1区| 啊啊啊啊啊啊在线观看| 日1区2区3区2020| 国产农村妇女精品一二区| 牛黄色久午久| 无码在线亚洲| 一区二区三区成人高清视频| 翔田千里AⅤHD无码| 日韩小电影| 久久久久深夜无码| 后入福利| 草B在线| 97爱b| 色呦呦、国产精品| 亚州成人A√| 欧洲视频在线| 蜜臀av网址| 免费久久9999| 91欧美综合在线| 九九夜精品九九在线| 97爱免费插| 99操逼| 国产一级αv免费看片| 精品午夜福利国产一区二区在线观看| 欧美十八禁视频| 久久9久| 91五十路| 国产无码久久高清| 色视频蜜乳| 中文字幕第9页萱萱影音先锋 | 日本一区二区不卡精品| 国产A v无码专区| 色黄色美女大长腿午夜视频| 中国国国产一级特黄毛片| 青草草免费网站av| 欧美操人| 亚洲 中文 女同| 人妻美腿丝袜制服诱惑综合天堂-| 国产剧情一区在线观看| av在线人气| 丝袜天堂| 精品制服美女中文一区二区三区| 亚洲玖玖爱| 9 1果冻精品视频| 91精品人妻一品二品三品| 色97欧美| 日韩欧美偷拍美女视频| 亚洲在线网站| www.超碰在线| 99久久综合| 天堂岛av| 欧美性暴力猛交XXXX| 天美av在线观看| 日韩欧亚太美不卡| 日本高清熟女久久一区| 天天性射网| 99999re| 东京热男人的天堂| 国产传媒操逼视频| www色色色com| 熟女天天干| 亭亭在线资源| 黄页av| 成 人片 黄色大片| 丁香六月啪啪| 欧美视频激情久久久久久| 亚州大图综合色图| 97干色| 一级片在线观看高清无码| 伊人久操| 成人熟女视频一区二区三区| 欧美在线干| 久久春色| 婷婷五月天伊人| 激情亚洲天堂| 18禁看网站一区| 伊人激情| 加勒比av网| 日本乱人伦片中文三区| 中文字幕一区二区三区人妻不卡 | 97超碰免费人人性爱| 欧美高清在线| 天天操天天干一区二区 | 四虎永久在线精品免费网址| 亚洲,欧美,综合网| 亚洲欧洲精品视频发布| 丝袜无码a片| 97av在线观看| 亚洲中文字幕妇伦久久| 欧美成人精品一区| 91久久久久久| 深爱伊人影院| 性爱av在线免费观看| 欧美暴力猛交| 日韩精品字幕| 久热久一区二区三区| 久久9精品| 日韩乱插| 骚日日av| 日本操BAV| 日日干夜夜欢| 最新啪啪视频| 东京热,男人的天堂| 国产一在线观看| 久久內射| 日韩性爱毛片操骚逼| 久久久久久久久久久久久9999| 伊人欧美大香蕉视频| 天天躁日日躁XXXXYY| 操曰本熟女| 蜜臀AV成人精品蜜臀| 狠狠爱大香蕉| 亚洲情色一区二区三区| 日韩人妻有码免费视频| 美美91成人国产精品欧美精品久久久久久久| 综合网亚洲| 综合网,亚洲,欧美| 在线岛国新天堂8| 躁躁日曰躁2020| 日本欧美一区二区三区视频麻豆| 是还免费视频1727我| 国产特级毛片AAAAAA高潮流水| 久久久久久久久久久999| 激情 欧美 亚洲 小说| 久久久久久久久久久999| 蜜乳视频网站| 偷拍色图| 婷婷五月色| 91精品人妻一区二区三区蜜臀| 亚洲综合色网| 水多多映视AV| 综合久久99亚洲人妻中文在线| 亚洲天堂AV在线播放| 久草精品一区 | 99ri精品| 国产又黄又爽| 久久同城AV| 亚欧Av| 神马麻豆福利院 | 100啪啪视频大全| 美女毛片999| 乱伦系列一区二区| 久操电影| 国产av色网| 久久人妻精品| wwwxxx日本爽| 欲香欲色综合天天伊人| 少妇被玩视频二三区| 欧美日日操| 国产精品久久久三级无码| 亚洲操操操无码| 国语人妻精彩刺激| 国产精品激情久久久久久久| 久草免费在线视频| 亚洲日韩熟女人妻高清在线| 淮穴色AV| 亚洲 日韩 欧美 国产综合体| 可以免费看黄片的视频| 欧美 色 亚洲| 色香网| 免費人妻夜夜爽天天爽爽一区| 亚洲第一免费视频| 亚洲欧美日韩免费观看| 久久久九| 欧美少妇性乱| 日本精品性生活久久久| 97超碰美国| 日韩不卡av一二三| 美国精品国产精品| 精品一级毛片在线观看| 亚洲国产97在线精品一区| 日少妇亚洲版| 99国产人成精品| 日逼国产| 在线看片国产精品每日更新| 日韩激情无码影院| 超碰97亚洲| 人妻激情视频| 欧美偷| 99爱爱| 国产精品不卡一区二区三区| 亚洲成人一二三区| 内射日韩大臀美女| 少妇同性| 蜜桃久久久久久久久久久久| 亚洲日韩视频二区| 草草影院最新网址| 久久亚洲精品成人av| 小视频国产| 思思热在线视频在线| 91中文字幕制服丝袜免费视频| 嗯嗯啊啊的视频| 国产小炒后入式| 夜夜狠狠躁日日躁色视频| 久久9 9 9精品| 超碰亚洲97| 久久侵犯人妻爽爽爽| 婷婷五月天成人网| 五月天偷拍| 欧美视频在线视频免费va| 亚洲乱码尤物193YW| 黄页视频网站野外| 一级黄色牲爱A级片| 女人午夜视频777| 一区操逼日比视频| 秋霞一级视频在线观看免费| 婷婷五月天激情小说| 91站街按摩店老熟女熟女| 欧美日韩中文亚洲v在线综合| 男人高清无码一区二区| 亚洲精品日韩国产欧美| 丁香五月性| 日韩精品99999| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91丝袜激情在线| 色天堂综合| 超碰日韩美妻| 任你爽视频| 99色综合| 亚洲永久永久永久永久一级一级一级精品| 屌妞视频久久久久久久| 97国产伦理| K8久久久久| 人人妻人人澡人人爽久久av| 国产综合日韩伦理| 成人三一级一片aaa| 亚洲精品日韩国产欧美| 97操97色| 天堂涩涩| 欧州91高潮| 97资源视频| 欧美 亚洲 偷拍自拍| 99色视频| 亚州综合图片| 人人妻人人玩人人澡人人爽| 无码高清专| www四虎| 亚洲综合情色| 伊人影院日本| 五月天色综合| 精品人妻一二三四区视频| 欧美综色欧| 人人操人人摸人人看人人插| 国产 码在线成人网站| 日本丝袜美腿人妻九九| 天天干夜夜鈤| 国产白嫩漂亮KTV在线| 91精品综合久久久久久五月丁香| 人人澡综合涩| 久久啊啊啊| 先锋色眉乱伦资源| 第四色色综合91| 亚洲天堂电影网99999| 久久久久久亚洲Av无码| 熟女精品一区二区三区| 日本不卡免费二区| 97硬碰| 欧成人精品一区二区三区| 久久精品中文字幕观看| 青青草亚洲一区 | 操逼操操操91| 97超碰这里只有精品| 成人线上超碰| 人妻激情另类| 欧美92| 亚洲无线码一区国产欧美国| 大香蕉综合在线| 视频国产成人精品日本亚洲18| 国产亚州精品美女久久久免费| 91逼逼女人91| 一区在线精品中文字幕| 26uuu欧美| 一区超碰一区| 黄片不用下载在线观看| 97久久天天综合色天天综合色电影| 日本淫乱女一区二区三区视频| 天天插天天射| 男同专区一区二区三区在线| 激情四射五月天| 中文字幕欧洲有码| 免费看日产一区二区三区| 任我爽在线视频免费观看| 先锋激情∨在线视频播放| 91亚洲精品青草| 99re99| caorenqi shipin| 97超碰欧美精品| 伊人久久婷婷| 超碰91在线| 混色激情av| 亚洲天堂久久久久久粉红视频| 亚洲图片欧美91N| 成年人黄色| 性欧美天天| www.亚洲成人一区| 丰满人妻一区二区三区四区| 中文乱码99| 亚洲AV秘无码一区..| 欧美国产一区二区三区麻豆传媒| 岛国黄| 997色在线| 91性高潮久久久久久久久| 亚洲 欧美 日韩另类 麻豆| 激情综合婷婷| 思思久热在线精品66| 麻豆福利视频导航| 嫩草一区二区在线观看| 男人的天堂视频精品乱在线| 热天堂一区二区| 狠狠久久手机视频精品| 91l欧美在线| 女人喷水视频在线观看| 一区二区三区看视频| 久操99| 成人激情无码在线视频| 在线天堂资源亚洲| 四虎AV影视国产精品亚洲精品| 操逼国产免费| www国产精品| 91N综合在线| 韩国一级做A片免费的| 亚洲美女精品九九视频| 午夜啊啊啊| 天天干人妇| 久久久久亚洲Av无码专区老牛影视| AV天堂男人的天堂| 亚洲夜夜欢无码一区二区| 操一操摸一摸| 96国产精品| 欧美一区二区三区大综合| 久久久久久国产无码精品| 久热这里只有精品9| 日韩99神马视频片| 婷婷精品| 97欧美性爱| 视频国产成人精品日本亚洲18| 唐山老熟妇露脸啪啪叫| 麻豆精品一区二区三区四区免费观看| 试看60秒| 国产精品网站www| 丁香六月婷婷| 国产亚洲禁久一区二区 | 国产成人手机视频激情| 99热在线观看| 国产激情在线| 亚州国产成人精品女人久久| 67194无码不卡| 99视频内射三四| 久久久久久久亚洲Av无码| aaa亚无码专区| 精品一级| 色老大| 啊啊啊啊啊啊啊啊要喷了| 伊人国产av| 欧美天天插| 婷婷亚洲天堂| 国产一区二区啪啪视频| 久久无码电影| 亚洲黄色网址视频| 成人精品一区二区91毛片不卡| 日韩免费a级毛片无码a∨| 少妇淫妇久久久久久久| 亚洲人精品久久久| 欧美第五页| 9997se| 熟妇激情| 天天综合站| 粉嫩av一区二区三区四季| 亚洲色图国产另类| 天天看高清麻豆| 欧美熟妇人体| 超碰综合色| 美女AV一区二区| 大香蕉在线视频重口味毛片在线| 国产SV一线| 少妇一区二区三区在线观看| 丝袜综合| 国产精品丝袜久久亚洲不卡| 日韩精品三级片长长久久| 九九九九免费高| 国产精品久久久久久久久久久久久久久 | 天美精品一区二区三区四区在线观看| 欧美性后入| 欧美日韩国产男人| 亚洲国产丝袜在线观看| 91在线国产后入风骚翘臀美女素人| 欧美综合网1| 日韩特一级久久| 一卡二卡三卡| 国产农村妇女精品| 一个人免费视频观看在线WWW| 91视频精品| 岛国在线免费视频| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产午夜激片Av毛片不卡| 最新国产亚洲精品精品国产亚洲综合| 丁香五月影院| 一区二区三区四区姦女| 大香蕉伊然在亚洲91| 91精品国| 一级毛片电影免费看| 精品国产无码中文| 天天精品| 青青草密桃在线播放| 69视频福利导航| 乱色老一区二区三区的观看方式 | 全球成人中文在线| 国产黄a三级三级三级av在线看| 久久精品一区| 超碰97极品9| 天天视频黄| 国产成人bd在线观看| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 欧美成人四级在线播放| 色色综合网站| 欧美情色贴图| 亚洲国产97| 强奸国产在线| 精品久久久久9999| 中文字幕国产| 亚洲欧洲综合av在线| 99热久| 六月婷婷一区二区三区| 丰满人妻一区二区三区免费 | 亚洲欧洲美腿丝袜| 四虎884| 国产成人超碰在线| 五月激情小说| 国产精品久久久久999| 国内伊人久久久久久网站视频| 无码天天操| 宅男91视频在线播放| 亚洲有薄码区久久在线一区| 日韩操逼性鲍| 久久久久无码| 国产精品一区二区三区四区五区| 国产精品一级片在线看| 色第一页| 东北毛片| 亚洲男人天堂Av| 久久久久久久9最新免费视频观看| 国产成人在线观看网址| 国产刺激视频| 久久成人东京热人妻| 尤物黄色在线观看网站| 日本九九久久99播| 97这里只有精品| 国产精品电影| 午夜噜噜噜| 91free福利| 久久 久久国内精品亚洲| 国产精品嫩草影院午夜两性| 亚洲AV无码| 九九九色| 1956日韩精品| 91天天| 人妻天天爽夜夜爽爽| 亚洲97超碰| 96AV精品| 亚洲无码精品AV久久久| 久久9久9久99久9久9| 蜜臀久久99精品久久久久| 人妻久久久| 熟妇色99| 久久久久久夜夜夜夜夜| 人人搞人人插人人操| 中文字幕91综合| 日本操逼无码| 操操操操操操| 免费精品中文字幕| 久久久久久少妇| 国产三级电影免费观看| 成人九九| 啊啊啊 在线观看| 操屄日韩| 60秒免费小视频| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美亚州手机在线| 欧美精品成人一区二区在线观看| 狠狠搞 亚洲91| www亚洲免费| 97久久国产精品| 色9999日韩国产| 欧美色青| 亚洲在高跟鞋自慰久久在色线| 乱伦1色页| 视频在线观看青青99国产| 丁香五月天堂| 亚洲视频中文一区| 色臀aV| 少妇超碰在线| 亚洲宗合网| 红杏大香蕉| 色原狠狠天天天| 91Chinese在线| 青青草国产欧美非洲黑人| 国产精品久久久视频| 亚洲无线码欧洲精品区别| 天天综合网合集91| 日韩av女优在线免费一区| 日B操| 在线中文AV| 亚洲一区二区麻豆影院| 成人免费毛片| 欧美色图片色哟哟| 91色图片| 婷婷五月天激情网| 九九视频黄色片| 免费男人的天堂| 欧美综合加勒比在线| 在线观看av区| 日韩偷拍一区二区三区| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 人人人人插| 精品人妻一区二区三区在线视频不卡| 欧天美中出| 亚洲天堂综合AV| 精品性爱一二三区| 综合影院永久入口国产| 日本二区不卡| 999 久久久| 久久久亚洲精品电影免费看| 亚洲熟女av日韩熟女| 国产辣妈在线视频福利| 亚洲 在线| 国产热av| 欧美伦乱爱| 麻豆区99999| 国产999精品久久久久久| 97人人操人人摸人人爱| 亚洲日韩在线a不卡99精品 | 日韩欧美视频青青| 中文自拍欧美影视| 亚洲一区二区三区播放在线| 男女一进一出视频久久| 99热在线只有精品| 国产97综合| 九九九草| 亚洲自拍欧美色综合| 亚州精品丝袜-不卡成人免费| 五月婷婷色| 最新国产精品久久精品| 日操粉逼逼| 国产精品久久久久无码A√| 午夜国产综合视频在线观看| 91天堂网| 少妇久久久久| 久久久久夜夜夜夜| 亚洲综合九九| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 男人的天堂2018| 欧美 亚洲精品首页| 国产久9| 亚洲综合草草| 四虎影视国产精品| 美女爽到高潮91| 另类老少妇| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 中文字幕,人妻,日韩| 狠狠久久手机视频精品| 欧美夜夜草视频| 亚洲影院365| 亚洲欧美一区二区网址| 一区AV| 国产乱伦性爱区| 久综合国内精品自在自线| 韩国免费播放一级毛片| 极品销魂美女一区二区| 久久久久久久久久久免费精品| 日韩无码视频黄色| 欧美一区二区三区另类精品| 黄页网站免费高清在线观看| 精品亚洲国产成人av网站| 午夜欧美女人操逼| 91精品91久久久中77777| 2020中文字幕| 午夜啊啊啊| 国产高清在线自在拍69| 欧美情色亚洲| 日本操逼视频免费| 国产成年精品高清在线观看91| 亚洲第一黄色av网站| 偷窥自拍A片| 综合色图亚洲欧美| 五月天色电影| 黑人干亚洲| 酒色综合网| 夜夜操美女| 性爱乱伦一区| 啊啊啊 在线观看| 欧美青青视频| 国产欧美另类久久久精品课程| 放黄片放3级黄片没穿衣服| 人人贴人人摸| 2018色综合天天操| 欧美一区二区日韩传媒搭讪精品| 校园春色欧美| 天天综合91| 精品亚洲黄色片 国产精品导航一区二区| 久久欧美性爱视频| 在线人妻熟女一区二区三区四区五区| 色天欧美| 青娱乐淫乱1314| 亚洲av淫乱| 久久女人视频| 欧美,亚洲,日韩,v,天堂,手机在线观看| 亚洲视频精选| 久久亚洲AV成人精品无码| 校园春色 男人天堂 | 国产精品久久久久久无码红治院| 欧美色五月| 日韩精品电影| 日本阿v天堂在线观看| 亚洲av影院在线观看| 高凊专区人人操| 欧美偷| 一区二区三区黄片免费观看| 丝袜美腿欧美| 久久成人东京热人妻| 久久国产熟女影院| 国产999精品久久久久久| 日韩精品三级片长长久久| AV中亚| 国产成人综合网| 天天色怡春院| 国产精品成久久久久午夜午夜| 开心五月激情网| 60秒免费小视频| 黄色成人网久久久久久| 久久久久免费少妇| 999热日韩精品| 人人摸人人添人人操| 97硬碰| 亚洲综合电影| 日日夜夜干| 97超碰精品图片| 牛牛aV| 天天草AV| 欧美强奸乱能| 91少妇香蕉久久精品| 日韩三级在线观看网站| 天美国产精品| 麻豆天美一区二区| 日本三级久| 欧美翘臀视频网站一区二区三区| 婷婷91| 啊啊啊啊免费视频| 久久久激情| 久热这里只有精品9| 乱色视频中文字幕| 91日韩网站| 久综合网| 欧美激情在线观看视频| 色五月综合网| 精品亚洲天堂| 色999人与兽| 国产精品人妻免费精品| 91视频观看网站| A级片日韩欧美国产欧美视频精选观看| 97爱爱爱综合| 澳门黄片一香蕉视频| 开心六月色| 亚洲成人性爱网站在线播放| 97超碰免费人人性爱| 国模艳艳啪啪一区| 人妻少妇久久| 99久久综合| 国产精品女aA片爽爽视频| 夜夜操天天肏| 午夜福利av电影在线| 色五月激情AV在线| 东京热av男人的天堂| 日韩精品在线视频,日韩精品……| 97综合在线观看| 一区二区精品日韩欧美在线观看| 亚洲一二三| 久久精品国产亚洲AV成人直播| AV中文字幕三四五| 亚洲青青青视频在线| 亚洲,日韩,欧美,成人播放| 加勒比五月天| 青青草操逼逼视频| 天天视频网站黄| 色香欲天天天天综合色| www.天天干| 国产不良强奸视频免费看| 午夜精品久久999热蜜桃介男人用| 天堂8在线新版官网| 色欧洲| 亚洲欧洲第二视频在线观看色图| 你懂得91| 国产精品点击进入在线影院高清| 日日日骚女人精品| 天堂岛av| 国产野战露脸在线播放| 四虎在线视频| 97日视频| 久操精品网| 国产在线视频午夜精华在| 99精品丰满人妻| 天天干,夜夜爽| 无码人妻精品一区二区中文| 国产搭汕a级片| 亚洲欧美国产中文字幕| 99色在线| 国产成人手机视频激情| 亚洲色图欧美色图另类图片| 操91| 精品久久久久黄少妇| 大香蕉黄色一区| 老子午夜伦不卡影院| 99999亚洲另类| 天天摸夜夜操视频| 久久熟女人| 国产精品99久久久www| 国语对白露脸XXXXXX | 另类小说五月天| 国产高清26uuu| 欧美影院一区二区三区| 国产亚洲色婷婷久久99精品91葵花宝典 | 欧美午夜视频| 高清不卡一二三区视频......| 手机看片1025| 九九久久一区二区伦理| 欧美巨大性舒爽顶到了| 亚洲深夜福利| 欧美线天码中字| 裸体美女久久久| 久久伊人网视频一区二区三区| 99色婷婷| 精品超碰国产| 国产精品岛国片在线观看| 青草草免费网站av| 国产免费黄色一级大片| 97网色| 国产精品不卡少妇白| 亚洲激情欧美色图| 欧美草草| 91亚洲狠狠色| WWW美腿丝袜香蕉中文| 天美传媒在线一区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 伊人操你| 亚洲AV无码乱码| 亚洲一区二区三区在线激情| 久草成人| 九九久久玖玖| 亚洲精品久久久久久久蜜桃臀| 亚洲黄色AV电影| 97碰碰色| 亚洲激情视频| 91性色| 欧美巨大性舒爽顶到了| 色吧5亚洲| 9国产超碰| 国产中文字幕在线点播| 浓厚中出中文字幕在线| 家庭乱伦国产| 国产精品久久久久中文字幕| 亚洲蜜乳av| 亚洲无码AV九九九| 日韩性爱视频免费在线| 婷婷亚洲综合| 久久草草欧美精品| 高清不卡国产| 亚洲av热热色| 亚州熟妇精品| 夜夜国自区| 久久在肏| 凹凸视频在线一区二区| 精品国产乱码| 日韩乱中文| 美女自卫慰黄网站免费| 婷婷中文字幕| 精品一区二区三区最新| 神马久久网| 啊啊啊啊啊舒服| 人妻精品一区二区| 熟女乱3伦999| 家庭乱伦性爱av| 天天色播| 97一区二区蜜臀| 成人欧美日超碰| 国语精品av| 黄色无码高清黄色无码网站| www亚洲免费| aⅴ日韩成人电影av在线免费看av大全 | 蜜桃视频成a人v在线| www…国产操逼| 亚洲人精品久久久喷水| 久噜噜| 天天干18禁| 一区二区三区黄色片a| 激情综合婷婷| 五月天久久婷婷亚洲 | 亚洲无线码一区国产欧美国| 色噜噜综合在线| 国产青青美女玩逼视频| 狠狠入| 2017人人操,人人摸| 婷婷操逼| m欧洲一级午老| 五月天伊人网| 亚洲色色探花| baisiav| 欧美综合自拍亚洲综合图| 色综合一区二区三区| 国产大学生口爆吞精合集| A V少妇特黄三级| 精品国产乱码久久久兰草影视| 人爽不卡视频| 成人午夜小视频手机在线看| 久久这里都是精品| 97国产精选| av无线看| 青青草在线成人视频| 玖玖无码超碰| 欧亚成人| 久久九九一区二区三区成人| 0755午夜福利视频| 国产熟女免费观看久久| 久热久一区二区三区| 99少妇| 最近2019中文字幕国语免费版 | 日本淫乱女一区二区三区视频| 18禁网站在线播放| 99国产天美| 国产精品播放| 免费观看啪视频| 91精品又粗又猛又爽| 亚洲电影中字一区二区| 欧美日韩性感| 国产农村妇女毛片精品久久| 少妇高潮特黄A片| 激情终合网| 蜜臀无码视频在线观看| A V少妇特黄三级| 国产一区二区在线看| 日韩欧美中文| 日韩不卡码| 精品国产91内射久久| 久久精品免费| 啪啪啪综合网| 男女打扑克高清网站| 国产精品在线免费| 天天爽天天| 97亚洲精品超碰| 五月丁香六月激情综合| 99少妇| 婷婷激情五月综合| 亚洲人妻日日日| 五月天激情四射| 精品人妻久久久久一区二区三区| 日韩欧美俄罗斯A片| 伊人少妇久久久| 熟女色综合久久| 97超色| 一块操欧美性爱| 欧美春色| 国语人妻精彩刺激| 国产在线播放成人免费| 久九干| 操逼日批| 97精品中文字幕| 在线观看精品国产免费| 91蜜桃传媒精品久久久一区二区| 午夜国产成人福利视频| 90后后入| 人人色97| 日韩欧美亚欧在线视频| 免费人人搞97| 约操熟妇| 伊人性在线视频| 亚洲一区二区麻豆影院| 2020久久免费视频| 密臀AV在线| 99久久久er直播网址| 亚洲狠狠入| 久热伊人99re| 免费黄色片。| 欧美色图自拍| 操少妇很爽av| 国产精品盗摄 偷窥盗摄| 黑人精品久久97| 五月丁香六月婷综合成人综合| 精…码一二三区| 99抽插| 日韩av乱伦| 久久永久无码人妻视频| 日本男人插女人的逼黄色| 日韩性爱电影一区| 91日韩| 新精精品久久精品| 亚洲色五月| 日韩性爱1级片视频| 亚洲日韩狠狠撸视频| 久久久com| 五月丁香拍拍激情综合三级| 欧美 亚洲精品首页| 麻豆福利视频导航| 国产超碰人人操| 成人精品在线免费视频| 啊啊啊不要嗯嗯在线观看| 色婷婷影院| 操逼免费视频无码国产| 中文区中文字幕免费看| 操逼内射干逼白丝91| 国产精品久久伊人| 日本孕妇一区二区视频操逼免费看 | 亚洲人久久久久日| 97爱b| 欧美制服另类丝袜| 欧美草草| 九九成人精品| 狠狠干,狠狠操| 黄片免费看的| 国产又黄又爽| 色原狠狠天天天| 亚洲激情天堂网| 久久婷婷国产一区二区色| 欧美日韩国产高清在线一二三区| 亚洲日韩天堂| 青青草AV色| 神马久久69| 人妻在线中出视频| 99成人| 久久久久久AⅤ无码免费肉站| 丁香五六月啪啪| 亚洲九九九九| 久久久精品,3| 亚洲s色图| 玖玖爱一区在线| 久久一区无码| 五月丁香激情综合| 精品国产久热在线观看| 操逼www.| 精品久久久久久无码| 97综合国产| 午夜啊啊| 婷婷久久久精品| 精品人妻伦一区二区三区久久| 校园春色亚洲欧洲| 青青青国产| 亚洲色图大香| 久久丁香五月天| 欧美成人黄网色网站| 五月丁香拍拍激情综合三级| 国模私拍一区二区三区神乳| 永久免费观看的毛片的网站| 精品对白久久不卡| 欧美性高潮| 96一区二区三区| 东京男人天堂| 四虎精品永久在线观看| 色哟哟精品1精品2| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 麻豆一区二区AV天美| 五十路熟女,国产欧美精品区一区二区三区| 日韩中文字幕av在线播放| 青青草十区九区爱夜| 中文字幕丝袜美腿| 伊人97色天使| 亚洲色图 欧美热图 清纯唯美 另类自拍| 六六久久日韩不卡| 另类图片五月| 一区二区三区网站日日骚| 青青草自拍视频在线播放| 亚洲综合888| 中文字幕丰满子伦无码专区在线视频最新 | 亚洲做性| 国产精品午夜福利| 少妇精品|