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

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越來(lái)越多調(diào)用入口千奇百怪”這件事有多痛。Agent-Reach是我們內(nèi)部孵化的一個(gè)項(xiàng)目名字直譯過來(lái)就是“智能體觸達(dá)”——它解決的核心問題不是“Agent能做什么”而是“Agent怎么被找到、被穩(wěn)定地調(diào)用、被安全地治理”。簡(jiǎn)單說(shuō)它像一個(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ù)方反饋“推薦沒出來(lái)”你根本說(shuō)不清是哪個(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)。這聽起來(lái)像是一個(gè)“網(wǎng)關(guān)”但實(shí)際上比網(wǎng)關(guān)多做了一層Agent領(lǐng)域的語(yǔ)義抽象后面具體展開。1.2 觸達(dá)一個(gè)Agent遠(yuǎn)比“調(diào)一下API”要復(fù)雜我經(jīng)常用一個(gè)比喻內(nèi)部有幾十個(gè)Agent之后調(diào)用一個(gè)Agent和呼叫一個(gè)分布在全國(guó)各地的外包同事差不多。你得知道誰(shuí)在上班健康狀態(tài)、誰(shuí)是負(fù)責(zé)這件事的能力標(biāo)簽、怎么聯(lián)系到人協(xié)議地址、對(duì)方認(rèn)不認(rèn)你的工牌鑒權(quán)、對(duì)方忙不過來(lái)時(shí)怎么辦限流排隊(duì)、對(duì)方突然離職了怎么交接版本下線。這五個(gè)環(huán)節(jié)任意一個(gè)出問題集成方就要花大量精力去處理而且每個(gè)Agent都是獨(dú)立的一套邏輯問題會(huì)被放大幾十倍。具體來(lái)說(shuō)一個(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é)果拿回來(lái)”。邊界清晰系統(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é)流來(lái)轉(zhuǎn)發(fā)。這樣既保持通用性也避免平臺(tái)層過度耦合業(yè)務(wù)。把這個(gè)邊界劃清楚之后我們后來(lái)的很多設(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)線上流量直接就抖一次。后來(lái)我們才把架構(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è)無(wú)狀態(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(wú)狀態(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ā)給誰(shuí)”注冊(cè)層解決“誰(shuí)還活著、誰(shuí)能被信任”觀測(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上后來(lái)發(fā)現(xiàn)大部分Agent根本沒有容器化到位而且Agent級(jí)的路由語(yǔ)義按能力、按版本、按調(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是給路由用的語(yǔ)義標(biāo)簽調(diào)用方不需要說(shuō)“我要調(diào)用customer-service-v2”只要說(shuō)“我要一個(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ì)。灰度發(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)重輪詢適合無(wú)狀態(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è)比較值得說(shuō)的細(xì)節(jié)是一致性哈希要配合“虛擬節(jié)點(diǎn)”來(lái)用。如果哈希環(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秒一次也就是說(shuō)Agent要連續(xù)掛50秒才會(huì)被剔除。對(duì)于一個(gè)實(shí)時(shí)性高的客服場(chǎng)景來(lái)說(shuō)50秒的故障窗口還是太長(zhǎng)。后來(lái)調(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)致的故障也能快速定位“誰(shuí)在什么時(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 最小化部署清單先跑起來(lái)再談優(yōu)化Agent-Reach的控制面依賴etcd、Redis和消息隊(duì)列數(shù)據(jù)面網(wǎng)關(guān)是無(wú)狀態(tài)的。最小化部署需要的組件如下組件數(shù)量最低配置說(shuō)明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無(wú)狀態(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本來(lái)就有業(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聽起來(lái)很簡(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í)行下來(lái)最長(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)別一上來(lái)就搞幾十個(gè)監(jiān)控面板看不過來(lái)也守不住。第一類是請(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)常爆表說(shuō)明實(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)“無(wú)可用實(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ā)生了。后來(lái)我們?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)又把它加回來(lái)。這個(gè)過程反反復(fù)復(fù)形成“摘除-恢復(fù)-摘除-恢復(fù)”的抖動(dòng)對(duì)調(diào)用方來(lái)說(shuō)就是間歇性失敗。這里的關(guān)鍵洞察健康檢查的超時(shí)值不能和業(yè)務(wù)接口的超時(shí)值劃等號(hào)。健康檢查的目的是判斷“這個(gè)實(shí)例還能不能接流量”但它不應(yīng)該因?yàn)橐淮味虝旱腉C停頓就被摘掉——這反而放大了故障。我們后來(lái)把健康探測(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根本串不起來(lái)。解決方法分兩步第一步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全部揪出來(lái)修正。之后跨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ù)量一旦上來(lái)命名混亂、標(biāo)簽隨意、版本語(yǔ)義不清晰會(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)目上線才想起來(lái)加后面要補(bǔ)的話工作量至少要翻倍。而且沒有觀測(cè)數(shù)據(jù)你連“要不要補(bǔ)”都沒法判斷。最后想說(shuō)的是Agent-Reach給我們帶來(lái)的最大變化是讓上層編排和業(yè)務(wù)接入變得簡(jiǎn)單了。大家不再糾結(jié)“怎么連上這個(gè)Agent”而是開始把精力放在“這個(gè)Agent的能力怎么用得更好”上。這大概就是基礎(chǔ)設(shè)施該有的樣子——讓難的那部分變得平庸讓有價(jià)值的部分被看見。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧洲一区二区三区免费| 综合久久婷婷| 91熟女网| 超碰免费欧美7| 日本人妻A片成人免费看片| 9国产超碰| q2午夜理论片夜色av| 久久99国产综合精品女同| 黄片免费久久久久久久| 中文字幕一区二区三区四区在线视频| 韩国三级色呦呦| 人妻喷水| 亚洲 欧美 综合 91| 欧美色三级片91| 国产成人无码网站在线视频| 精品人妻美妇91job| 中文字幕乱在线伦视频中文字幕乱码在线| 超碰78| 亚洲在线观看| 97欧美日韩综合| 激情四射五月天| 人妻久热在线| 嗯嗯啊啊视频一区二区三区| 成人熟女视频一区二区三区| 精品少妇后入一区二区三区四区人妻巨乳 | 欧美情色亚洲| 蜜桃AV天堂| 亚洲加勒比色图| 亚洲和欧美裸体美女双飞视频| 六九九九| 日本在线不卡123| 九九AV| 国产乱伦一二三区| 国产高潮AA片免费看| 91人妻做a观看视频| 手机在线播放国产福利| 日韩性爱毛片操骚逼| 国产精品久久久久久亚洲色欲| 亚洲av综合伊人久久| 久久91| 国产乱子伦久久精品综合一区二区三| 在线不欧美| 91老熟女| 国产中文大片资源中文字幕| 永久免费发布性爱网| 少妇xx精品| 亚洲美女自拍偷拍视频| 一块操欧美| 久久久中文| 天美传媒国产原创中文字幕亚洲欧美另类| 欧美一二三区四五区| 亚洲国产精品乱码在线观看| 噜噜噜噜天天狠狠| 秋霞网无码| 日韩无码精品综合久久| 天天视频综合在线观看视频| 日韩/97| AV在线资源| 天天干夜夜操一区二区| 亚洲熟女av中文字幕| 精品久| 日韩欧美午夜一区二区| 免费综合亚洲中文| 欧美成人精品一区二区三区| 九九九热精品| 99久久亚洲精品无码毛片潘甜甜 | 色999偷自拍拍| 国产精品久久久久久久久久久久久久久久久久 | 怡红院成人av| 亚洲国产精品成人综合| 在线观看综合精品亚洲| 97天天爽| 啊啊啊 在线| 午夜舔阴达高潮视频免费看| 亚洲一区二区精品福利| 五月天人妻综合| 国产呦精品系列在线观看| 国产欧美精选激情视频| 韩日精品四区| 我爱搞逼综合网| 色香综合| 日韩色| 亚洲天堂人妻一区二区| 久久AV色| 精品国产丝袜一区二区三区乱码| 色玖玖| 人妻少妇色综合| 四方色播| 天美麻花大全视频| 日韩丨制服丨中文|在线| 国产操逼网站亚洲一级黄色| 综合网,亚洲,欧美| 国产91 丝袜在线播放 | 欧美页片| yiqicaoav| 亚欧高清在线| 中文熟女五十乱码在线| 人妻干天天| 男人天堂久久精品| 人人妻人人爱人人玩| 免费的很黄很污的全部视频| 青青草吊丝| 97人人爱人人乐| 国产男人又猛又粗又爽| 亚洲综合性网址| 自拍偷拍 日韩欧美| 日韩AV中文字幕电影| 神马麻豆福利院| 性爱乱伦网址| 懂色av中文字幕| 中国一级操逼视频| 国产精品视频播放| 日韩图区 偷拍| 黄色成品网站| 欧美AAAA黄片| 亚欧美天堂在线| 美女91网站| 日日夜夜干| 亚洲丝袜诱惑| 99国内精品| 91天天综合网| 超碰碰激情97+久| 人妻干天天| 麻豆福利视频导航| www.91人妻.com| 偷拍超碰| 欧美日本一区二区a人| 国产精品91ai| 乱伦图一区| 偷拍在线观看视频| 亚洲av无码成人精品国产| 女人天堂网| 丁香九月激情| 思思热影视| Aa东京男人的天堂| 亚洲夜色在线| 国产AV激情无码久久无码 | 日本三级A片网站com| 国产精品久久久久久久久久久久久久久久久久 | 精品人成视频在线观看| 熟妇国产免费一区| 东京日日夜夜| 亚洲91在线播放影院| 亚洲91大片| 亚洲婷婷五月天| 啊啊啊爽爽| 97高清啪啪| 久草视频在线视频在线视频在线观看| 好一吊区二区| 精品久久久久黄少妇| 亚洲精品国产无码高清| 97在线免费看视频| 97视频620| 色色香蕉| 碰碰97| 99热aaa| 日韩AV一起草| 无码免费在线观看黄色片| 日韩噜噜69| 综合色色婷婷| 亚洲国产精品9999在线观看| 国内偷拍精品一区二区| 久热这里只有精品9| 爆乳免费黄网站| 日韩性爱电影一区| 强奸乱伦 亚洲一区| 99久久久无码精品国产人| 色九久| 蜜臀一二三区| 亚洲日韩青青草色月| 人人人人插| 久久精品国产亚洲粉嫩| 中文乱码99| 国产女人成人精品视频| 欧美中文字幕日韩在线| 91综合天天| 天色综合网| 天天综合色| 伊人久久大香线蕉无码| 伊人精品久久网站| 国产一区二区三区高清视频| 欧美翘臀视频网站一区二区三区| #NAME?| 超碰天天操| 狠狠狠一区二区三区| 国产精品一区午夜福利| 亚洲另类小说卡通动漫| 国产性爱强奸乱伦大全| 欧美中文综合| 清纯唯美综合| 超碰色美女| 97在线观视频免费观看| 精品97久久综合| 超碰 另类 欧美 | 91色黑人少妇| 丝袜AV一二三区| 色色综合网站| 天天操天天插| 东京热激情视频一二三区| 欧美日韩性爱视屏免费看了| 黄污污污污| 凹凸视频特色日本特黄| 日本3级一区二区免费| 亚洲乱码国产乱码精网站| 国产美女销魂在线观看不卡| 91在线视频免费播放| 久久久精品电影| 操逼无码操逼| 欧美日韩高潮喷水91| 中文字幕av乱伦| 怡红院一区二区熟女人妻| 欧美性爱中文字幕无线码| 国产日韩欧美操逼视频| 色欲蜜臀AV| 日韩国产乱子伦App| 18禁网站在线播放| 日本精品第一视频在'| 日本女人操逼| 五月丁香六月激情| 加勒比在线视频| 蜜臀av中字字幕网站| 99青草| 91蜜臀熟女| 999在线电影香蕉| 日韩乱码av| 日本三级日本三级三级人妇四虎| 诱惑人妻欧美一区在线播放| 嗯嗯啊啊日韩精品| 欧美在线天堂| 日韩国产精品人妻无码久久久| 乱伦强奸区日韩| 操人人| 天堂中文资源在线bt| 图片区小说区| 日韩在线视频1234| 黑丝日韩av丝袜av| 日韩电影中文字幕| 可以免费看黄片的视频| 囯产乱伦一区二区三女| 麻豆2区1区天美| 日韩精品9999| 亚洲 在线| 97在线视频观看| 老司机深夜18禁污污网站| 成人aⅴ一区二区三区| 久久一区二区三区入口| 青娱乐导航AV| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 大香蕉乱伦视频网| 人妻人人澡人人爽人人| 久久99干一本高清| 色欲Av人妻精品一区二| 亚洲第一页色| 日韩黄色小说| 国产一级舔足在线观看| 无码国产精品久久久久| 四虎AV无码| AV天堂因数| 亚欧免费| 久都青青视频| 亚洲色图A| 级做a爱无码性色永久免费| 欧日a| 大香樵伊人网| 超碰无码五月97| 日产操逼| 男人的天堂2019AV| 亚洲美女高潮喷水视频| 日韩免费在线视频观看| 欧美在线官网| 国产成人精品网站| 亚洲色图殴美色图激情乱伦| 天天躁狠狠躁av| 日本性爱视频一级| 青青草在线成人视频| 久久精品操| 激情网色| 久久精品中文字幕女同| 人妻一二三区| 口爆欧美91| 97欧美精品| 九九热九九| 夜夜操一区二区| AVE乱伦| 国产在线76页| 最近二区三区视频大全| 日本三级人妻a人妻一在线| 少妇无码999| 欧美人人AAA| 99福利社| 综合一区中亚洲国产成人综合精品| 国产成自自拍在线观看| 亚洲色色探花| 蜜桃久久精品一区二区三区| 亚洲成人久久一区二区| 亚洲做性| 老色69| 国产精品九九九| 日韩三级一区| 九月婷婷| 少妇精品久久| 97久久超碰国产网站| 超碰在线人妻中文字幕| 国产成自自拍在线观看| 亚洲精品白浆高清久久久久久| 99999精品成人| 免费观看性欧美一级| 亚洲限制级| 自拍视频一区在线观看| 亚洲午夜蜜臀| 色久综合| 一级特黄aaa大片在线观看成人一级片在线观看 | 精品v1区| 嗯啊抽插大香蕉网页| 欧洲精品网| 日本高清_区二区三区| 福利五区| 中文啪啪视频| 亚洲少妇综合在线播放| 97久久久久| 国产精品视频电影| 蜜乳AV色欲AVAV无码| 亚洲猛交| yazhousetuoumei| 色狠狠 - 百度| 熟女熟妇伦久久影院毛片一区二区| 欧美网站免费| 91操熟女| 国产一区二区精品在线视频| 99自拍视频| 久久精品国产精品一区| 超碰 国产熟女精品一区| 亚洲免费看片| 欧美亚洲素人制服精品| 青青草依人大香蕉| 亚洲一区二区 麻豆传媒| 久久综合激情| 欧美五十路熟| 精品无码秘 人妻一区二区| 中出789在线视频| 国产高清成人传媒影视| 大香蕉乱级| 亚洲 中文 欧美 日韩 在线| 天天天乱色综合全| 激情图片伦理国产一区二区日韩| 国产精选三级在线观看| 人人干黄色| 亚欧美综合| 天天综合网久久ww| www.狠狠操| 一本色道久久天天射天天干| 少妇综合网| 免费国产| 新97国产超碰| 熟妇最新先锋一二三区| 亚洲欧美一区二区三区在钱蜜桃| 新婚人妻扶着粗大强行坐下| 天天日B狠狠操| 国产综合网站在线播放 | 亚洲巨爆乳一区二区三区四季网| 久操在97| 国产精品制服丝袜中文字幕日韩一区二区三区 | 视频黄色国产一级| 欧美激情视频在线一区| 草草草草视频| 亚洲人综合19| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 91在线欧色| 免费黄色片子| 久久99午夜精品一区人妻| 尹人免费观看视频在线| 色汉综合| 91老熟女视频| 97精| 超碰免费97| 国产精品美女| 色网站导航大全| 亚洲欧美首页| 97色碰| 97免费在线观看| 偷拍导航视频网站| 国际精品久久久| 丝袜美腿丝袜| 久久久久久久久久久久97 | 成年女人18级毛片毛片免费观看| 久草网站免费在线观看| 26uuu国产日韩综合在线观看| 亚洲国产成人7777| 亚洲欧美自拍偷拍| 三级网色| a在线观看| 亚洲宅男天堂| 色婷婷婷五月天激情四射| 国产福利夜| 91中文精品日韩欧美在线 | 久久透逼视频| 亚洲精品一区二区三区在线播放| 一区二区三区精品视频| 日韩另类色图| 欧美色天堂网在线视频| 久操视频在线| 精品91日日夜夜超清资源| 啊啊啊操死我| 亚洲精品一二区| 亚洲欧美国产成人综合不卡| 99热超碰| 日本中文字幕一区| 夜夜欢天天干| 亚洲精品尤物yw在线影院| 1禁看欧美黄片免费看| 我要看免费韩日黄片| 大香蕉色十月| 天天看高清麻豆| 玖玖爱伊人玖玖爱| 思思热国产高清| 26uuu性| 99久久婷婷| 99热免费精品| 97色97干| 国产精品久久伊人| 久久亚州高清| 综合网少妇| 日韩激情电影中文字幕| 亚洲免费看片| 亚热日本熟女| 午夜精品久久99蜜桃的功能章节| 久草国产在线视频| 91xingse| 日韩天天综合| 婷婷三区| 啊啊啊啊啊舒服| 欧美人与动性人交a| 午夜一区| 黄色一区三区| 日本欧美韩国国产在线| 在线观看一卡二卡| 天天综合网亚洲综合网| 人人摸.人人色| 欧亚洲精品有视频| 欧美草草高清日韩视频| 精品成人动漫一区二区| 在线天堂999| 国产一二三福利视频网| 色情乱伦AV| 中美日韩毛片| 中文字幕乱亚洲美女精品一区| 凹凸视频在线观看伊人| 热久日综合| 成全动漫视频观看免费下载| 99热精品在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 久操凹凸视频| 天天弄欧美| 亚洲色欧美| 九九热在线精品视频| 亚洲区限制级 99| 国产一级内射无挡观看| 精品国产99| 午夜成人爽爽爽爽A片李冰冰| 日本久久精品| 免费视频观看60秒| 狠狠色婷婷7777久| 加勒比海人人操超碰在线| 欧美日韩国产色图在线| 亚洲脚交| 丁香五月AV| 精品玖九九久| 精品区9| 性色aV一区二区三区噜噜| 中文字幕一区日韩精| 亚洲人人夜夜澡人人爽| 黄色av一区二区在线| 女上位精品在线| 国产成人久久久精品免费AV| 蜜臀中文无码午夜| 99久久婷婷国产综合精品草原| 91九色丰满高潮| 亚洲免费人妻在| 九色 蝌蚪 熟女自 | 日韩av电影网站| 日本精品高清一二区一本到| 97精品视频在线播放| 欧美日韩第一页| 四虎在线视频| 久久发布国产伦子伦精品| 秋霞色色影院| 久久久久久9999| 亚洲日韩美国人妻| 青草伊人网| 久7色| 国产中文字幕在线点播| 精吧天堂| 日本三级黄页| 国产极品精品美女视频| 色97国产69香蕉| 狠狠操夜夜操蜜桃视频三区| 人妻无一区二区三区| 男人精品天堂一区| 国产精品电影| 国产精品嫩草影院午夜两性| 人妻人久久精品中文字幕| 日本三级中国三级99人妇网站| 国产强奸乱伦无码视频| 美女91av| 伊人影院在线理论播放| h4610国产人妻| 日韩久射综合| 少妇三P| 91九色首页| 国产女s强制榨精视频| 伊人在线大香蕉视频久久| 婷婷尹人大香蕉免费| 免费av在线播放二区| 亚洲影视高清第一页| 99自拍B亚洲| 影音先锋中文字幕日本好一区二区| 逼逼逼逼操操操操操操操操操午夜剧场| 九9精品| 啊啊啊好湿久久| 日本福利二区视频| 97资源视频| 亚洲日韩精品一区二区| 亚洲清纯唯美| 久久超碰亚洲人| 丁香五月偷拍| 综合欧美日韩在线观看| 免费αV在线视频| 巨乳特殊服务按摩| 黄色一区三区| 青青草成人视频在线观看二区| 婷婷色在线| 思思热影视| 影音先锋日本乱伦| 成年人黄色| 日韩在线观看AV| 97超碰资源网| 久久深夜无码| 超碰午夜在线| 日韩99999色| 日韩精品99999| 狼人久草| 久久ww| av凤凰久久久| 乱伦熟女区| 国模无码一区二区三区在线| 激情五月天插| 久久天天艹| 国产极品粉嫩馒头一线天av| 91老熟妇| 校园春色综合网| 综合 亚洲 欧美| 国产9熟妇视频网站| 91激情国产| 国产人妻精品一区二区三区秋霞 | 9999九九九久久久| 极品后入免费视频| 小草av不卡亚洲二区 | 亚洲强奸乱伦影视网| 性在久久久久久| 日韩人妻制服丝袜av| 日韩中文字幕国产| 美国人人操人人操| 99热在线观看| 色九月婷婷| 夜夜操二区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 男人天堂婷婷五月天校园春色| 色婷婷丁香五月| 91 亚洲 欧洲| 99综合自拍| 欧美精品久久| 欧美久久人体| 欧美综合另类| 国产一区二区三区白丝| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 中文字幕jul-617人妻熟女| 日本三级大片| 日韩99神马视频播放| 99蜜桃臀久久久欧美精品网站| 超碰97在线色男人??| 中出人妻中文字幕91在线| 女人18精品一区二区三区| 久久久久白虎| 欧美最大综合网| 精品人妻丰满熟妇一区二区三| 久久只有精品一区二区三区| 亚洲.欧美.丝袜.中文.综合| 天天插天天干| 性色高清在线| 精品人妻伦一区二区三区久久| 少妇人妻在线| 91国产操逼视频| 色伊人91| 青青草在线成人视频| 久热久操| 天天综合中文字幕 91| 人人做,人人操,人人摸| 丁香六月啪| 色九月综合| 男人天堂最新手机版在线青青草| 91操熟女| 亚洲色诱惑| 国产乱弄免费在线视频。 | 色综合一区二区三区| 国产一级内射无挡观看| 精品国产一区二区三区av在线资源| 东北女人| av中亚| 日韩中文字幕在线视频观看| 欧亚不卡| 91黑人狂躁丰满熟妇| 家庭乱伦网站国产| 97看操| 97在线视频网站| 成人八戒网站| 高潮嗯啊性感美女久久久| 夜夜爽夜夜操| 不卡啪啪视频| 欧美在线 亚洲| 麻豆国产97在线| 日本天天色| 伊人嫩草| 无色无码| 天堂亚洲精品久久老牛| 国模私拍一区二区三区神乳| 欧美黄页在线| 久草这里只有精品| 五月丁香综合啪啪| 91欧洲入口| 操高情无码| 亚洲91网站| 最新日日夜夜天天干干| 青青草吊丝| 操国产高清| 国产91美女高潮| 一本色道久久综合精品婷婷| a在线视频免费观看| 综合性视频99| 国产福利av精彩对白| 国产第11页| 久久亚洲AV无码专区国产精品| 欧美日韩电影一区二区| 91人妻人人澡人人爽人人精品| 超碰人人乐97| 999久久久免费精品国产牛牛| 色噜噜综合在线| 国产精品96久久久久久| 在线 制服丝袜中出 人妻| 久久精品国产亚洲粉嫩| 狠狠色婷婷| 久9九综合在线| 3571色综合一区二区二区| 青草成人免费视频一COm| julia高潮后不停追击中出| 久久久久久九九九九九 | 综合夜夜| 久久婷婷在线观看视频| 综合av社区| 日韩电影天堂视频一区二区| 强奸乱伦Av网| 欧美色97| 男人的天堂2018东京热啪啪啪| 97久久网| 亚洲免费97免费| 3028国产精品| 亚洲小说视频| 色婷婷aV一区二区三区麻豆综合| 国产辣妈在线视频福利| 天天摸天天舔天天操| 爱做久久久久久| 偷拍 亚洲 欧美| 免费网色网站| 日韩欧美经典在线观看| 麻豆天美91| 天美精品一区二区三区四区在线观看| 国产女人操逼视频| 日韩欧美女求操每天更新| 日本熟妇熟色97一本在线观看| a男人的天堂久久一级A毛片| 嗯嗯啊啊日韩精品| 国产91美女高潮| 日本熟女免费視颖| 国产精品9999| 欧洲与亚洲欧美精品中文字幕| 黄网色一区二区三区四区精品| 亚洲色人阁| 久草综合视频| 六六久久日韩不卡| 男人a天堂手机在线版| 综合 亚洲 欧美| 亚洲精品一区二区免费在线观看| 人人操av| 把腿张开老子CAO烂你| 极品白嫩美少妇在地板上位骑射淫水泛滥| 伊人991| 999在线电影香蕉| 99精品久久久久久久婷婷| 欧美AB在线| 欧美在线|亚洲| 美女的肌被草喷水视频| 色色婷婷五月| 久久久久国产精品喷潮免费观看臀 | 97在线精品观看视频| 蜜臀99久久国产| 亚av顶级裸体一区二区三区四区五区 | 欧美亚洲第1页| 91狠狠色丁香婷婷综合久久精品| 不卡av在线中文字幕| 亚洲97在线| 欧美综合网站999| 天美传媒AV在线| 欧洲精品一二三在线| 按摩中文字幕| 六月丁丁香| 粉嫩在线一区二区懂色| 国产乱伦性爱区| 一级一性爱免费视频| 精品人妻一区二区免费看| 亚洲欧美在线综合| 欧美国产有色电影| 97久久精品亚洲中六字幕| 丁香五月av| 亚洲成?V人片在线观看福利| 亚洲中文一区二区三区| 性爱乱伦视频免费| 精品无码一区二区三区| 啊啊啊操死我| 亚洲久久久久| 免费观看一区| 免费操逼91| 91熟女视频| 99re免费| 探花视频免费观看国产专区| 日本媚薬中文字幕在线| 97人人夜| 人人操人人摸超碰| 超碰色97| 国产91 丝袜在线播放00-百度| 超碰97人人乐| 色网亚洲人| 亚洲玖玖爱| JuliaAnnXXX888| 99热婷婷一区二区三| 人妻娇喘 激情视频| 老熟女综合网| 97亚洲中文| 97日韩| 久久久久9999| 澳门黄片一香蕉视频| 三级精品三级在线观看| 国产又色又粗又黄又爽| 欧美成人A天堂片在线观看| 涩涩这里只有精品视频| 9丨亚洲一区二区在线| 琪琪精品免费一区二区三区 | 人妻av在线| 精品一区二区三区蜜桃臀赵总 | 超碰在线99| baisiav| 日本一区99| 成人片视频| 激情另类激情| 97精品视频| 国产日韩精品无码去免费专区国产| 99在线免费公开视频| av无码精品久久久久| 人人色人人操在线| 久久精品视频久久久| 超碰99热中文字幕| 久久人妻一区二区三区高清 | 天堂九九九九九九九九九| 少妇诱惑视频| 无卡一区=区| 色网色网色网色网色网色| 亚洲天天做日日做天天谢日日| 韩国午夜理伦三级好看| 天天做天天爱天天爽| 欧美一区二区传媒| 骚货操死你| 黄色操人| 五月综合色| 伊人玖玖网| 亚洲男人在线观看天堂| 天天日天天干天天色| 爽 好舒服 无码刺激久久| 中日无幕一二三四区| 大香蕉92| 日本成a人v网站在线观看| 欧美不卡二区| 亚洲熟女国产综合另类| 干美女人妻| 91P0RNY大屁股人妻| 国产三级多多影院2022国产AA一级毛片无码| 日本综合色图| 麻豆精品三区视频| 99啪啪| 婷婷激情一区二区三区俺也去| 99最新日韩偷拍视频| 国产午夜精品理论片一二三区区| 多乙久久久久久| 人妻精品综合中文字幕在线 | 久久成年片色大黄全免费网站| 欧日a| 欧美亚洲AN| 97超碰欧美中文字幕| 岛园激情| 一本久久精品中文字| 毛片久久| 嗯啊不要在线观看嗯啊| 丰满少妇精品一区二区| 国产精品久久久久久照片| 性欧美另类高清| 久久久女人| 久久AV无码网址| 性色av一区二区| 亚洲无码电影久久久| 丁香激情五月天| 欧美成人贴图| 日韩性爱视频免费在线| 亚欧美综合网。| 日本十八禁免费看污网站| www鬼畜国产男人的天堂| 少妇精品| 六月丁香久久| 啊啊啊慢点| 日本污ww视频网站| 亚州Av天美传媒| 欧美亚洲| 欧美综合传媒| 黄色欧美性爱视频| 物业黑人 AV一区| av日韩国产一区二区| 蜜臀久久99精品| 性久久| 91国产在线精品| 国产亚洲女v在线观看| 老汉网| 欧美精品日韩久久久九| 美性中文综合网| 免费的很黄很污的全部视频| 伦理弟一页| 乱论91| 天天综合网亚洲综合网| 日韩欧美字幕亚洲一区二区| 日韩丨制服丨中文|在线| 午夜理论片在线观看免费| 99re在线视频国产| 免费A V在线播放| 97日韩欧美亚洲| 日本久久99| 亚洲色狠| 欲香欲色天天天综合和网| 国产av又色又爽又黄| 天天日骚逼熟女| 激情综合网激情五月天| 密乳视频在线| 久久中日麻豆| 亚洲二区精品在线观看| 精品人妻少妇| 天天摸夜夜摸| 秋霞久久亚洲精品成人| 亚洲中字慕不卡| www.狠狠干.coom | 亚洲棕合电彰| 日韩丰满熟妇| 超碰在线91| 91丝袜激情在线| 国产激情片在线观看| 欧美综合亚洲综合| 中 文字幕一区二区三四 五 区日 日 骚| av绯色| 97超碰美女| 97欧美色资源| 久久人妻办公室视频| 国产又色又粗又黄又爽| 精品免费成人久久| 一区,二区,三区网站| 亚洲欧洲精品视频发布| 99re视频这里只有精品| 亚洲91网。| 亚洲成av人片色午夜乱码| 人人操,人人液| 欧美女同在线| 亚洲狼狼干综合1| 亚洲高清无码免费观看视频| 久久性爱视频免费看| 亚洲影视第一页| 嗯~啊~快点 死我视频| 国产又大又硬又长又粗| 十八禁啪啪视频| 欧美专区17页| 欧美日韩一干二干| 精品精品精品| 成人免费不卡在线视频| 久久久蜜桃臀无码视频| 精人妻无码一区二区三区伊人直播 | 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 一级久久久久久久久久久| 两性综合网| 夜夜骑夜夜操| 国产精品另类一区大香蕉| 97色论| 国产少妇与亚洲av| 大香蕉五月天| 最近2019中文字幕国语免费版| 日韩成人性日韩成人性爱视频在线免费观看 | 亚州欧美综合| 色眯眯射| 国产怡红院| 99成人| 日韩性爱视频免费在线| 午夜男女爽爽爽影院视频| 91AV国产精品| 国产丰满少妇久久久精品影院| 吻戏激情性巴克| 国产福利第一视频| 人人操我人人干| 亚洲女人91| 综合性视频99| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲不卡一| 伦理日韩国产久久| 亚洲精品 欧美精品| 亚洲精品欧洲精品| 亚洲欧洲精品成人| 91人妻视频| 免费9 1久久| 亚洲妇色| 屌妞视频久久久久久久 | 美国精品国产精品| 99re免费视频精品全部| 伊人一级免费黄片| 人人弄人人摸| 超碰在线人妻中文字幕| 亚洲一区在线观看欧洲| 亚洲中文字幕精品一区| 亚洲欧美日韩中文播放| 伊人天天久久动态图| av黄图片在线观看| 欧美成人性爱视频在线播放| 91处女在线观看| 九九九免费视频| 欧美Ⅴ性爱| 人妻一二三区| 91c色| 干婷婷综合网| www.狠狠操| 久久这里都是精品| 99热在线不卡| 久久久久久久六六 | 黄污污污污| 国产伦精品免编号公布| 第45页一区二区| 超碰免费欧美7| 另类老少妇| 亚州男人天堂| 台湾一区国产高清在线| av在线播放国产一区| 日韩精品中文字幕一| 日韩性爱网址| 亚洲欧美一区二区三区在钱蜜桃| 爱欲AV| 中文无线日韩一区| 2017天天操| 国产精品永久免费10000| 国产69精品久久久久99尤物| 成人综合久久精品色婷婷| 久久精精区一区二区一蜜桃一区二区| 亚洲欧美色综合| 91精品人妻啪啪间| 啪啪啪亚欧美视频| 日韩99精品视频综合区| 少妇滛荡视频| 宗合情欲网| 久久久久幕乱码| 国产精品爆乳懂色蜜乳| 强奸乱伦日韩AV| 97国产超湿| 亚州欧美综合| 午夜美女福利视频| 最新日产中文在线麻豆| 欧插网站| 国产精品电| 思思热在线视频免费| wwwcaobibi| 欧洲射精91| 男生通女生屁股| 亚洲精品乱码线路中文字幕| 国产成人无码网站在线视频| 欧美狠狠操| 久久久久成人网| 日本三级一区二区 在线| 六月丁香婷| 中亚黄色三级大片| 日韩欧美性爱电影在线观看| 无码视频黄色网战| 97露脸精品丝袜| 91天堂| 久草免费在线一区二区| 色九九九| www欧美91| 91精品啪在线观看国产城中村| 97二区四区| 综合亚洲网| 综合操逼| 中文字幕天天操| 国产精品乱码久久久久| 偷看洗澡一二三区美女| 中文一区在线日| 国产91福利小视频在线观看| 欧美成人精品A片免费一区99| 色网综合网| 1级黄色夫妻对换性交免费看| 天天综合91在线| 色欧美在线| 俺去俺来也在线www| 九九自拍伦理| 欧美日韩另类在线| 射丝袜高跟鞋99| 超碰欧美97| 色婷五月天| 五月天婷婷社区| 日韩精品一区二区三区色欲| 99在线啪| 国产白嫩漂亮KTV在线| 久久久久9999妇女| 午夜啪| 打av高清| 午夜人人操| 精品久久久久黄少妇| 久久精品一区二区一8| 天天影视网综合少妇| 综合网 欧美| 日本三级韩国三级99| 欧美九九九九九| 夜夜爽33333| 97久久网| 大香蕉免| 女同女同恋久久级三级| 蜜臀久久在线视频| 日韩欧美成人综合在线| 日韩78m视频| 乱伦AVxx| 久久久久久免费电影| 伊人久久大香大香线蕉中文| 超碰在线综合97| 婷色五月| 男人在线天堂| 男人天堂站| 国产女人高潮嗷嗷嗷叫小说 | 免费福利视频中文字幕| 成人一区二区三区四区| xxx0国产在线播放| 26UUU欧美日本| 诱惑人妻欧美一区在线播放| 三级色综合| 中文字幕精品亚洲熟女| 99久re热视频精品98| 国产精品乱码久久| 亚洲 图片 欧美 色图| 久久亚洲欧美中文字幕国语| 91操人| 五月激情在线| 成年人网站在线免费观看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 91久久堂| 日韩国产中文字幕| 亚洲欧洲激情卡通另类文学四射小说网站 | 日韩欧美中文字| 免费AV播放| 狠狠久久手机视频精品| 欧美在线中M| 激情五月激情综合网| 偷拍 欧美 日韩| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 素人播放一区| 最新亚洲人成网站在线影院| 亚州精品人妻一二三区| 小草三级久久观看| 久久成人午夜精品影院| 久久线上视频免费看| 色老汉色| 久久亚洲婷婷| 岛国片在线播放| 成人区人妻精品一| 国产又大又粗又长视频在线| 国产精品久久久久久久久AV大片| 97色亚洲| 青青草中出视频| 亚州再线| 天天干天天做| 国产强上视频在线观看| 亚洲无码视频免费在线观看网址!| 亚州欧美一区| 夜夜高潮夜夜爽高清视频一 | 淫荡网址| 日韩欧美麻豆| 欧美A√综合网| 超碰79人人乐| 欧亚免费视频| 天天操夜夜操狠很操| 国产97在线 | 亚洲| 屁股久久久久久久久| 免费看污网站| 精品色色| 精品黑人一区二区| 一级性爱啪啪视频| 性天堂| 色爱亚洲| 色九色久| 一区二区三区色综合| 9热9热综合网| 天天影视网综合少妇| 乱老女人一区二区视频| 高清成年美女黄网站免费大全 | 综合色拍| 99999精品成人| 97超碰色五月| 日日夜夜干| 这里都是精品在线观看| 男人a天堂手机在线版| 久久久精品电影| 国产乱伦视频污| 亚洲图片欧美色| 亚洲成成熟女人综合一区二区| 97视频在线免费| 人妻天天爽| 人妻黑丝袜电影| 青青草乱入乱欲视频在线观看| 超碰97资源中文字幕| 性色乱AV一区二区| 欧美不卡在线美女| 久久天天性久久伊人| 男人的天堂亚洲| 色婷婷丁香五月| 青草视频在线看看看看看看看看看| WWW黄片COM| 日韩国产中文字幕| 国产成人在线观看综合| 国产精品熟女丝袜一区二区| 成人网站 免费观看| 国人欧美精品一区二区| 人人射人人操人人摸| aⅴ日韩成人电影av在线免费看av大全| 国产网红精品| 青青操狠狠撩| 91人妻PORNY九色大屁股| 日本色色色| 五月综合激情网| 又大又长又爽| 91色黑人少妇| 传媒免费一区二区三区| 久久这里都是精品| 干超碰碰熟女| 国产精品999aaa| 91视频伊人| 亚洲第一精品在线视频| 欧美亚洲| 成人午夜无码视频| 97超级久久强资源|