99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

SpringBoot集成Skywalking:微服務(wù)鏈路跟蹤與無(wú)侵入排查實(shí)戰(zhàn)

SpringBoot集成Skywalking:微服務(wù)鏈路跟蹤與無(wú)侵入排查實(shí)戰(zhàn) 如果你也經(jīng)歷過(guò)微服務(wù)環(huán)境下的深夜排查用戶反饋下單慢你打開(kāi)三臺(tái)服務(wù)器的日志先按時(shí)間戳對(duì)齊再逐個(gè)服務(wù)找堆棧最后還得靠猜“大概是哪個(gè)環(huán)節(jié)”卡住了那這篇關(guān)于SpringBoot集成Skywalking鏈路跟蹤的內(nèi)容就是來(lái)解決這個(gè)問(wèn)題的。這是SpringBoot綜合實(shí)戰(zhàn)系列的第三十二篇。這一篇不寫(xiě)業(yè)務(wù)接口也不講數(shù)據(jù)庫(kù)優(yōu)化而是把一個(gè)日常排查利器裝進(jìn)你的項(xiàng)目里Skywalking。它通過(guò)Java Agent探針實(shí)現(xiàn)無(wú)侵入接入不需要改業(yè)務(wù)代碼、不需要給每個(gè)服務(wù)手動(dòng)加依賴啟動(dòng)參數(shù)里加一行-javaagent你的SpringBoot應(yīng)用就能自動(dòng)上報(bào)調(diào)用鏈路、服務(wù)拓?fù)浜椭虚g件指標(biāo)。我會(huì)從“為什么需要鏈路跟蹤”講起把Skywalking的各個(gè)組件、后端部署步驟、SpringBoot接入方式、自定義埋點(diǎn)和日志關(guān)聯(lián)完整演示一遍最后附帶一個(gè)真實(shí)排查案例和一份踩坑記錄。適合正在做微服務(wù)改造、被“跨服務(wù)問(wèn)題定位難”折磨過(guò)的后端開(kāi)發(fā)者也適合想在項(xiàng)目里搭可觀測(cè)性基礎(chǔ)設(shè)施的技術(shù)同學(xué)。1. 一次“半小時(shí)排查”引發(fā)的思考鏈路跟蹤到底在解決什么1.1 日志碎片化時(shí)代的“拼圖游戲”單體應(yīng)用時(shí)代一次請(qǐng)求的日志都在同一個(gè)進(jìn)程里grep一下就完了。微服務(wù)拆開(kāi)之后一次下單請(qǐng)求可能經(jīng)過(guò)網(wǎng)關(guān)、訂單服務(wù)、庫(kù)存服務(wù)、優(yōu)惠券服務(wù)中間還夾著MQ異步消息。日志散落在不同機(jī)器的不同文件里時(shí)間戳稍微偏移一點(diǎn)你拼出來(lái)的“調(diào)用順序”可能就是錯(cuò)的。我見(jiàn)過(guò)太多團(tuán)隊(duì)在這種場(chǎng)景下的排查姿勢(shì)先在A服務(wù)找到“調(diào)用庫(kù)存服務(wù)超時(shí)”再跑去B服務(wù)翻對(duì)應(yīng)時(shí)間段的日志如果碰巧兩個(gè)服務(wù)都沒(méi)打traceId就要靠請(qǐng)求參數(shù)和時(shí)間窗口去關(guān)聯(lián)。運(yùn)氣好十分鐘運(yùn)氣不好一下午。這種“拼圖游戲”最可怕的地方在于——每次都要從頭拼一遍經(jīng)驗(yàn)根本無(wú)法沉淀。鏈路跟蹤解決的就是這個(gè)核心問(wèn)題把一個(gè)請(qǐng)求經(jīng)過(guò)的所有服務(wù)、所有中間件調(diào)用自動(dòng)串成一條帶唯一ID的調(diào)用鏈告訴你每一跳花了多久、在哪里失敗、失敗原因是什么。它能幫你把排查從“按時(shí)間戳猜”變成“按瀑布圖精確定位”。1.2 誰(shuí)最需要鏈路跟蹤如果你還在做單體應(yīng)用鏈路跟蹤的價(jià)值確實(shí)沒(méi)那么大單進(jìn)程里一臺(tái)Arthas基本夠用。但只要你滿足下面任意一條就應(yīng)該認(rèn)真考慮這件事服務(wù)拆成了三個(gè)以上且存在跨服務(wù)同步調(diào)用Feign、RestTemplate、Dubbo等。線上偶發(fā)慢請(qǐng)求日志里看不到明顯的Exception只能靠“感覺(jué)”判斷是數(shù)據(jù)庫(kù)慢還是外部調(diào)用慢。團(tuán)隊(duì)協(xié)作時(shí)經(jīng)常出現(xiàn)“A服務(wù)說(shuō)是B服務(wù)的鍋B服務(wù)甩給C”的扯皮。想給技術(shù)團(tuán)隊(duì)建立一套統(tǒng)一的、不受業(yè)務(wù)代碼污染的可觀測(cè)性底座。只要命中其中一條鏈路跟蹤就不是錦上添花而是排查效率的剛需。1.3 為什么選Skywalking而不是Zipkin和Jaeger市面上的APM方案不少我周?chē)娜肆牡米疃嗟木褪荶ipkin、Jaeger、Skywalking三家。它們的定位略有差異我整理了一個(gè)對(duì)比供你選型參考維度SkywalkingZipkin/SleuthJaeger接入方式Java Agent無(wú)侵入依賴SDK/注解侵入性強(qiáng)Agent或SDK功能覆蓋拓?fù)?、追蹤、指?biāo)、告警一體以追蹤為主以追蹤為主存儲(chǔ)ES、MySQL、H2等ES、MySQL、CassandraES、Cassandra中文資料活躍踩坑文章多較少一般學(xué)習(xí)成本低基本不用改代碼中要寫(xiě)配置和依賴中個(gè)人感受Spring Cloud Sleuth Zipkin那套勝在和Spring生態(tài)天然融合但每個(gè)服務(wù)都要引入依賴、寫(xiě)配置已有的老項(xiàng)目接入成本偏高。Skywalking最打動(dòng)我的一點(diǎn)是“探針注入”它基于Java Agent機(jī)制在類(lèi)加載階段做字節(jié)碼增強(qiáng)應(yīng)用代碼一行都不用動(dòng)。這個(gè)特性對(duì)老舊項(xiàng)目尤其友好——不用發(fā)版不用等排期改個(gè)JVM啟動(dòng)參數(shù)就能把鏈路數(shù)據(jù)采起來(lái)。2. 別急著寫(xiě)代碼Skywalking的四個(gè)角色先對(duì)齊2.1 Agent探針藏在JVM里的“臥底”Skywalking的Agent是一段獨(dú)立運(yùn)行的Java程序通過(guò)-javaagent參數(shù)掛載到你的SpringBoot進(jìn)程里。掛載之后它會(huì)在類(lèi)加載的時(shí)候?qū)δ繕?biāo)類(lèi)的字節(jié)碼做增強(qiáng)在HTTP入口、Feign調(diào)用、JDBC執(zhí)行等關(guān)鍵位置自動(dòng)織入“埋點(diǎn)邏輯”。拿Tomcat內(nèi)嵌場(chǎng)景舉例SpringBoot啟動(dòng)時(shí)Agent發(fā)現(xiàn)你要加載org.apache.catalina.core.StandardHostValve這類(lèi)Servlet容器類(lèi)就會(huì)在它的invoke方法前后插入耗時(shí)記錄和上下文傳遞邏輯。之后你完全感覺(jué)不到它的存在但它已經(jīng)在默默記錄每一次請(qǐng)求的入口、出口和中間經(jīng)過(guò)的組件。這才是“無(wú)侵入”的真正含義——不是少寫(xiě)幾行代碼而是從機(jī)制上繞開(kāi)了對(duì)業(yè)務(wù)代碼的觸碰。探針底層的字節(jié)碼增強(qiáng)用的是Byte Buddy這是Java生態(tài)里比較成熟的字節(jié)碼操作庫(kù)對(duì)類(lèi)加載器兼容性處理得比較好。2.2 OAP、存儲(chǔ)和UI大腦、記憶與儀表盤(pán)Agent采集到數(shù)據(jù)之后需要有個(gè)地方接收、分析、存儲(chǔ)、展示這就要靠另外三個(gè)組件OAPObservability Analysis Platform接收Agent通過(guò)gRPC上報(bào)的數(shù)據(jù)做指標(biāo)聚合、鏈路關(guān)系分析相當(dāng)于整個(gè)系統(tǒng)的大腦。存儲(chǔ)OAP把處理好的數(shù)據(jù)寫(xiě)入存儲(chǔ)層。默認(rèn)內(nèi)置H2生產(chǎn)環(huán)境一般換成Elasticsearch。Web UI一個(gè)獨(dú)立的前端應(yīng)用負(fù)責(zé)把拓?fù)洹⒆粉?、指?biāo)可視化成儀表盤(pán)。在實(shí)際部署中OAP、存儲(chǔ)、UI這三者可以拆開(kāi)部署在不同機(jī)器上。Agent只跟OAP通信OAP只跟存儲(chǔ)和UI打交道鏈路很清晰。2.3 一次請(qǐng)求在Skywalking里的完整旅程為了讓你對(duì)整體流程有畫(huà)面感我按順序描述一遍用戶請(qǐng)求打到SpringBoot應(yīng)用Agent在入口Span上生成全局鏈路IDTraceId。應(yīng)用內(nèi)部調(diào)用另一個(gè)服務(wù)或訪問(wèn)數(shù)據(jù)庫(kù)時(shí)Agent自動(dòng)創(chuàng)建子Span記錄組件類(lèi)型、目標(biāo)地址、耗時(shí)、狀態(tài)碼。請(qǐng)求結(jié)束后Agent把完整調(diào)用鏈分批通過(guò)gRPC上報(bào)到OAP默認(rèn)端口11800。OAP解析數(shù)據(jù)把鏈路以Span為單位入庫(kù)并計(jì)算服務(wù)間依賴關(guān)系、RT分布、成功率等指標(biāo)。UI通過(guò)OAP的HTTP接口默認(rèn)12800查詢數(shù)據(jù)渲染成你看到的拓?fù)鋱D和追蹤瀑布圖。只要理解了這條數(shù)據(jù)流后面排查“數(shù)據(jù)為什么沒(méi)出來(lái)”“為什么只有一個(gè)服務(wù)有數(shù)據(jù)”就會(huì)順手很多。3. 跑起來(lái)再說(shuō)OAPUI后端部署與存儲(chǔ)切換3.1 下載發(fā)行包并啟動(dòng)默認(rèn)版本后端部署最省心的方式是從Apache Skywalking官網(wǎng)下載二進(jìn)制發(fā)行包里面自帶OAP、UI和Agent三件套目錄結(jié)構(gòu)大概是skywalking/ ├── bin/ # 啟動(dòng)腳本 ├── config/ # OAP配置 ├── oap-libs/ # OAP運(yùn)行依賴 ├── webapp/ # UI前端 └── agent/ # Java探針Linux/Mac啟動(dòng)cd skywalking ./bin/startup.shWindows啟動(dòng)cd skywalking bin\startup.batstartup.sh會(huì)同時(shí)拉起OAP和UI兩個(gè)進(jìn)程。默認(rèn)配置下OAP的gRPC端口是11800HTTP查詢端口是12800UI端口是8080。注意8080很容易被你的業(yè)務(wù)應(yīng)用占用如果啟動(dòng)后發(fā)現(xiàn)UI訪問(wèn)不了先進(jìn)去看日志多半是端口沖突。3.2 驗(yàn)證安裝是否成功啟動(dòng)后訪問(wèn)http://localhost:8080如果能看到Skywalking的儀表盤(pán)首頁(yè)說(shuō)明后端已經(jīng)跑起來(lái)了。沒(méi)有頁(yè)面的話按下面順序排查看logs/skywalking-oap-server.log搜“oap server started”或“started successfully”關(guān)鍵字??磜ebapp/logs目錄下的日志確認(rèn)UI的Tomcat是否正常啟動(dòng)。檢查端口占用lsof -i:8080、lsof -i:11800、lsof -i:12800哪個(gè)被占就改哪個(gè)。這一步只需要“能打開(kāi)頁(yè)面”就行頁(yè)面里暫時(shí)沒(méi)有數(shù)據(jù)是正常的因?yàn)檫€沒(méi)有任何Agent接入。3.3 把存儲(chǔ)從H2切到Elasticsearch默認(rèn)情況OAP使用H2文件數(shù)據(jù)庫(kù)適合本地演示但別用在生產(chǎn)數(shù)據(jù)量大了之后查詢明顯變慢而且H2畢竟不是為海量時(shí)序數(shù)據(jù)設(shè)計(jì)的。生產(chǎn)環(huán)境我建議用Elasticsearch。切存儲(chǔ)的操作在config/application.yml的storage段進(jìn)行。核心就兩個(gè)地方storage: selector: ${SW_STORAGE:elasticsearch} elasticsearch: clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:127.0.0.1:9200} namespace: ${SW_NAMESPACE:prod_log_trace}順手給ES加一個(gè)namespace可以避免和其他系統(tǒng)共用ES時(shí)索引沖突Skywalking會(huì)在索引名前面拼上這個(gè)前綴。這里要特別提醒一個(gè)版本問(wèn)題Skywalking和ES的版本是有兼容矩陣的。以Skywalking 9.x為例和ES 7.x搭配最成熟ES 8.x要用對(duì)應(yīng)的新版本支持。別想當(dāng)然地“ES越新越好”我有一個(gè)朋友就是把ES從7升到8之后OAP一直刷索引創(chuàng)建失敗最后查官方文檔才發(fā)現(xiàn)版本沒(méi)對(duì)齊。具體兼容性請(qǐng)以官方文檔的Compatibility列表為準(zhǔn)不要賭。4. SpringBoot接入Agent探針無(wú)侵入的關(guān)鍵一步4.1 命令行與IDEA本地調(diào)試的接入方式后端就緒后SpringBoot這邊要做的唯一操作就是給JVM加啟動(dòng)參數(shù)。先看命令行方式j(luò)ava -javaagent:/opt/skywalking/agent/skywalking-agent.jar \ -Dskywalking.agent.service_nameorder-service \ -Dskywalking.collector.backend_service127.0.0.1:11800 \ -jar order-service.jar如果你在IDEA里做本地聯(lián)調(diào)不用每次敲命令直接在Run/Debug Configurations里找到你的SpringBoot啟動(dòng)類(lèi)在VM options里填入同樣的參數(shù)-javaagent:D:/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_nameorder-service -Dskywalking.collector.backend_service127.0.0.1:11800Windows下-javaagent路徑如果有空格整體要加雙引號(hào)。這個(gè)坑很小但等你排查到深夜就會(huì)發(fā)現(xiàn)它有多煩人。參數(shù)說(shuō)明-javaagent指向skywalking-agent.jar的絕對(duì)路徑。-Dskywalking.agent.service_name該服務(wù)在鏈路平臺(tái)里的顯示名。建議和spring.application.name保持一致團(tuán)隊(duì)內(nèi)必須約定統(tǒng)一命名規(guī)范否則UI里會(huì)出現(xiàn)一堆莫名其妙的名字。-Dskywalking.collector.backend_serviceOAP的gRPC地址即11800端口。多OAP節(jié)點(diǎn)用逗號(hào)分隔。4.2 Docker和K8s的接入方式容器化環(huán)境不能手改啟動(dòng)命令最常用的辦法是利用JVM的JAVA_TOOL_OPTIONS環(huán)境變量。Docker啟動(dòng)時(shí)指定docker run -d \ -e JAVA_TOOL_OPTIONS-javaagent:/opt/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_nameorder-service -Dskywalking.collector.backend_serviceskywalking-oap:11800 \ -v /opt/skywalking/agent:/opt/skywalking/agent \ order-service:latestK8s的話在Deployment的env里加一條JAVA_TOOL_OPTIONS環(huán)境變量把Agent路徑通過(guò)emptyDir掛載進(jìn)去即可。這樣Pod每次重建時(shí)探針都在同一路徑下配置也統(tǒng)一。4.3 怎么確認(rèn)探針真的生效了接完Agent重啟應(yīng)用后最關(guān)心的第一件事就是“數(shù)據(jù)到底上報(bào)沒(méi)有”。我一般按三步驗(yàn)證看應(yīng)用啟動(dòng)日志Skywalking掛載成功時(shí)會(huì)有Skywalking agent相關(guān)輸出沒(méi)看到就是-javaagent參數(shù)沒(méi)生效??碼gent/logs/skywalking-api.log這個(gè)日志文件記錄了Agent的運(yùn)行狀態(tài)??吹絞RPC連接成功類(lèi)信息說(shuō)明和OAP的網(wǎng)絡(luò)是通的。到UI的“服務(wù)列表”或“拓?fù)鋱D”頁(yè)面選對(duì)應(yīng)服務(wù)名多打幾個(gè)接口等十幾秒再看。第一次注冊(cè)有延遲別急著懷疑配置。如果前兩步都正常但UI里就是沒(méi)數(shù)據(jù)最可能的原因是我在第七節(jié)要講的幾個(gè)坑先繼續(xù)往下看。5. 進(jìn)階玩法自定義埋點(diǎn)、采樣控制與日志TID關(guān)聯(lián)5.1 哪些鏈路信息不用寫(xiě)代碼就能拿到Skywalking的插件體系非常豐富以下場(chǎng)景默認(rèn)就能被自動(dòng)增強(qiáng)HTTP入口SpringMVC / SpringBoot內(nèi)嵌Tomcat / 網(wǎng)關(guān)Spring Cloud Gateway。服務(wù)間調(diào)用Feign、RestTemplate、OkHttp、HttpClient、Dubbo。數(shù)據(jù)訪問(wèn)JDBC、MyBatis、JPASQL語(yǔ)句和綁定參數(shù)都能記錄。緩存與消息Redis、Kafka、RocketMQ、RabbitMQ注意插件版本和中間件版本的對(duì)應(yīng)關(guān)系。這也是我推薦用它兜底的原因團(tuán)隊(duì)里有人忘了打日志、忘了埋點(diǎn)探針也會(huì)默默把數(shù)據(jù)采出來(lái)。尤其在接手一個(gè)沒(méi)做過(guò)可觀測(cè)性建設(shè)的“歷史遺留系統(tǒng)”時(shí)這套自動(dòng)插件機(jī)制能讓你少寫(xiě)幾千行代碼。5.2 用Trace和Tag補(bǔ)上業(yè)務(wù)關(guān)鍵方法自動(dòng)增強(qiáng)覆蓋的是框架層調(diào)用但“優(yōu)惠計(jì)算里的某個(gè)核心算法耗時(shí)高”這類(lèi)問(wèn)題框架插件是看不到的。這時(shí)候就需要在關(guān)鍵業(yè)務(wù)方法上做自定義埋點(diǎn)。pom.xml里引入工具包dependency groupIdorg.apache.skywalking/groupId artifactIdapm-toolkit-trace/artifactId version9.2.0/version /dependency然后在方法上打注解import org.apache.skywalking.apm.toolkit.trace.Trace; import org.apache.skywalking.apm.toolkit.trace.Tag; import org.apache.skywalking.apm.toolkit.trace.Tags; Service public class PriceService { Trace Tags({ Tag(key skuId, value arg[0]), Tag(key skuCount, value arg[1]), Tag(key resultPrice, value returnedObj) }) public BigDecimal calcPrice(String skuId, int count) { // 復(fù)雜的業(yè)務(wù)計(jì)算 return result; } }Trace讓該方法變成一個(gè)獨(dú)立的SpanTag把方法參數(shù)、返回值塞進(jìn)Span標(biāo)簽里。這樣排查時(shí)你能直接看到“這個(gè)sku、這個(gè)數(shù)量下的計(jì)算結(jié)果”而不只是“優(yōu)惠計(jì)算耗時(shí)1秒”。工具包版本盡量和Agent版本保持一致避免出現(xiàn)注解類(lèi)兼容問(wèn)題。5.3 采樣率調(diào)整從“全量”到“夠用”鏈路跟蹤的數(shù)據(jù)量很大一個(gè)高并發(fā)系統(tǒng)如果全量上報(bào)所有請(qǐng)求存儲(chǔ)壓力和OAP壓力會(huì)直線上升。Skywalking的Agent在agent/config/agent.config里提供了采樣相關(guān)配置。老版本里常見(jiàn)的是agent.sample_n_per_3_secs意思是每3秒最多上報(bào)N條請(qǐng)求-1表示全量新版本可能改用sample_rate形式的百分比設(shè)置。具體字段名以你當(dāng)前Agent版本里的注釋為準(zhǔn)思路是一樣的。我個(gè)人建議測(cè)試環(huán)境全量生產(chǎn)環(huán)境先全量跑一周觀察OAP和ES的負(fù)載再把采樣率調(diào)低到能覆蓋峰值流量的水平。采樣率調(diào)低后單條請(qǐng)求的追蹤查詢可能查不到但服務(wù)指標(biāo)的統(tǒng)計(jì)依然準(zhǔn)確不影響告警和整體觀測(cè)。5.4 日志里帶上traceId日志平臺(tái)和鏈路平臺(tái)對(duì)賬鏈路平臺(tái)能看到調(diào)用鏈但如果你不知道這條鏈對(duì)應(yīng)業(yè)務(wù)日志里的哪幾行排查還是割裂的。解決辦法是把TraceId打進(jìn)日志里讓它和普通業(yè)務(wù)日志同屏出現(xiàn)。最通用的做法是用MDC。定義個(gè)過(guò)濾器import org.apache.skywalking.apm.toolkit.trace.TraceContext; import org.slf4j.MDC; public class TraceIdFilter implements Filter { Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { MDC.put(tid, TraceContext.traceId()); try { chain.doFilter(request, response); } finally { MDC.remove(tid); } } }在logback-spring.xml里把tid加到輸出模式中pattern%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{tid}] %logger{36} - %msg%n/pattern之后日志里每一行都會(huì)帶上類(lèi)似[f68d1d0e3a3344c5a8f0...]的鏈路ID在日志平臺(tái)搜索這個(gè)ID就能看到該鏈路過(guò)經(jīng)的所有日志反過(guò)來(lái)在Skywalking里也能用同樣的ID找到對(duì)應(yīng)的Trace詳情。新版Skywalking也提供了logback官方converter配置方式更簡(jiǎn)潔但包路徑隨版本變化建議直接參考官方文檔。6. 真實(shí)排查實(shí)錄用追蹤視圖定位“下單慢”的根因6.1 現(xiàn)象與初步判斷線上場(chǎng)景大概是這樣的工作日晚上八點(diǎn)左右用戶集中反饋下單接口“轉(zhuǎn)圈很久”平均RT從平時(shí)的500ms飆到3秒以上但接口沒(méi)有大面積報(bào)錯(cuò)只有零星超時(shí)。按照老辦法我第一反應(yīng)是去翻訂單服務(wù)的日志結(jié)果只看到一堆Read timed out根本不知道是下游哪個(gè)服務(wù)慢更不知道是不是所有用戶都受影響。這時(shí)候鏈路平臺(tái)的價(jià)值就顯現(xiàn)出來(lái)了。6.2 拓?fù)鋱D與追蹤頁(yè)的使用打開(kāi)Skywalking的“拓?fù)鋱D”頁(yè)面一眼看到order-service指向coupon-service的連線明顯變粗、顏色變紅說(shuō)明它們之間的調(diào)用流量和錯(cuò)誤率都異常。接著去“追蹤”頁(yè)面按服務(wù)、接口名和時(shí)間范圍過(guò)濾按耗時(shí)降序排列挑一條3.2秒的樣本點(diǎn)進(jìn)去。追蹤瀑布圖把一次請(qǐng)求拆成了清晰的Span列表入口Span/api/order/create總耗時(shí)3.2秒。JDBC Span查訂單表耗時(shí)120ms正常。Feign Span調(diào)用coupon-service耗時(shí)1.5秒狀態(tài)為超時(shí)。coupon-service內(nèi)部Span本身耗時(shí)1.5秒其中“計(jì)算優(yōu)惠”的Span占用1.1秒。Feign重試Span超時(shí)后又重試了一次再次耗時(shí)1.5秒??吹竭@里其實(shí)已經(jīng)很明白了瓶頸不在訂單服務(wù)自己的能力而在優(yōu)惠券服務(wù)的“計(jì)算優(yōu)惠”邏輯。這條鏈路如果沒(méi)有Skywalking你得先懷疑訂單服務(wù)、再懷疑網(wǎng)關(guān)、再懷疑數(shù)據(jù)庫(kù)繞一大圈才能接觸到真相。6.3 根因確認(rèn)與處理方案再點(diǎn)開(kāi)coupon-service的實(shí)例指標(biāo)頁(yè)發(fā)現(xiàn)該實(shí)例在高峰期GC耗時(shí)飆升Young GC頻繁Full GC也有好幾次。配合鏈路里“計(jì)算優(yōu)惠”邏輯的大量CPU計(jì)算和緩存未命中根因就釘死了優(yōu)惠券服務(wù)的JVM堆配置偏小加上優(yōu)惠計(jì)算邏輯里存在一個(gè)不合理的全量遍歷高峰期觸發(fā)了頻繁GC導(dǎo)致Feign響應(yīng)等待時(shí)間超長(zhǎng)同時(shí)又疊加了調(diào)用方的超時(shí)重試下單接口雪上加霜。處理方案分兩步先把coupon-service的堆內(nèi)存調(diào)大、把優(yōu)惠計(jì)算中的全量遍歷改成增量緩存再把Feign的超時(shí)時(shí)間從默認(rèn)值調(diào)成更合理的閾值同時(shí)配置熔斷降級(jí)。上線后再次觀察拓?fù)鋱D紅色連線恢復(fù)正常晚高峰RT回落。這個(gè)案例最有價(jià)值的點(diǎn)在于Skywalking把“偶發(fā)的慢請(qǐng)求”從概率事件變成了可定量分析的數(shù)據(jù)。你不用再靠運(yùn)氣和感覺(jué)鏈路里每一跳的耗時(shí)、每一次重試、每一段GC回溯全部有據(jù)可查。7. 踩坑全記錄從探針不上報(bào)到數(shù)據(jù)錯(cuò)亂的問(wèn)題排查鏈路7.1 探針“靜默失敗”應(yīng)用正常但UI查不到數(shù)據(jù)最詭異的場(chǎng)景是SpringBoot應(yīng)用起來(lái)了日志也顯示Agent掛載成功但UI里就是看不到服務(wù)。按下面的排查順序走基本能定位確認(rèn)-javaagent是否真的生效。有時(shí)候IDEA的VM options寫(xiě)在了錯(cuò)誤的Run Configuration里應(yīng)用正常啟動(dòng)不代表參數(shù)生效。檢查Agent日志agent/logs/skywalking-api.log搜error。常見(jiàn)報(bào)錯(cuò)是Connection refused指向OAP的11800端口不通。這時(shí)候分別telnet測(cè)試11800和12800兩個(gè)端口再檢查防火墻和安全組。查看OAP日志確認(rèn)是否接收到了segment。OAP啟動(dòng)后如果有大量IndexNotFoundException多半是存儲(chǔ)沒(méi)建好或者版本不對(duì)。檢查服務(wù)名是否和已有服務(wù)重復(fù)。如果多個(gè)實(shí)例用了同樣的service_nameSkywalking默認(rèn)會(huì)合并展示初次接入時(shí)容易誤判為“數(shù)據(jù)沒(méi)上報(bào)”。切記Skywalking的Agent默認(rèn)是“靜默失敗”的即使上報(bào)失敗也不影響業(yè)務(wù)進(jìn)程。這既是好事也是壞事排查時(shí)別指望它會(huì)主動(dòng)彈錯(cuò)誤提示。7.2 JDK版本和SpringBoot 3.x的兼容問(wèn)題SpringBoot 3.x強(qiáng)制要求JDK17而JDK9之后Java模塊系統(tǒng)對(duì)字節(jié)碼增強(qiáng)有了更多限制。如果你用老版本Skywalking Agent掛載到Java 17的應(yīng)用里非常容易出現(xiàn)ClassFormatError、UnsupportedClassVersionError或者在啟動(dòng)階段直接報(bào)transform失敗。解決思路不是改代碼而是版本對(duì)齊JDK17/21配SpringBoot 3.x的項(xiàng)目請(qǐng)使用較新的Skywalking發(fā)行版配套Agent版本對(duì)JDK17的支持才完善。如果你只想快速跑通演示也可以先用JDK8 SpringBoot 2.x的組合成功率最高少折騰。7.3 ES版本不匹配導(dǎo)致OAP啟動(dòng)失敗這個(gè)問(wèn)題在前面提過(guò)但值得單獨(dú)列入踩坑清單?,F(xiàn)象是OAP啟動(dòng)后控制臺(tái)不斷刷新類(lèi)似NoNodeAvailableException或index not found的異常ES索引一個(gè)都建不起來(lái)。正確做法是提前查官方兼容矩陣。Skywalking 9.x系列和ES 7.x的搭配經(jīng)歷了大量生產(chǎn)驗(yàn)證最穩(wěn)妥想用ES 8.x的確認(rèn)你的Skywalking版本確實(shí)支持后再動(dòng)手。同時(shí)注意如果ES集群?jiǎn)⒂昧税踩J(rèn)證記得在application.yml里把用戶名密碼也配上不然客戶端會(huì)一直認(rèn)證失敗。7.4 數(shù)據(jù)亂序與鏈路斷半截的隱蔽原因有一種比較隱蔽的坑服務(wù)正常鏈路也有但Span耗時(shí)是負(fù)數(shù)上下游順序顛倒或者一條完整的調(diào)用鏈斷成了兩截。原因多半出在基礎(chǔ)設(shè)施層。最常見(jiàn)的是多實(shí)例部署時(shí)宿主機(jī)時(shí)鐘沒(méi)有同步。Skywalking計(jì)算Span耗時(shí)依賴時(shí)間戳如果A服務(wù)的服務(wù)器比B服務(wù)慢了十幾秒鏈路里就會(huì)出現(xiàn)“下游比上游先結(jié)束”“耗時(shí)是負(fù)數(shù)”的詭異數(shù)據(jù)。解決方法是把NTP時(shí)鐘同步這件事納入服務(wù)器基線配置不然后患無(wú)窮。另一個(gè)原因是跨線程調(diào)用沒(méi)有被正確處理。比如你用Async或自定義線程池發(fā)起了異步任務(wù)老的線程池場(chǎng)景沒(méi)有插件支持鏈路上下文就無(wú)法自動(dòng)傳遞。新版插件對(duì)RocketMQ、Kafka這類(lèi)中間件處理了上下文傳播但對(duì)自研線程池還是要靠TraceCrossThread這類(lèi)工具注解來(lái)手工傳遞。7.5 探針性能損耗從“無(wú)感”到“需要調(diào)優(yōu)”Skywalking官方宣稱(chēng)探針損耗很低實(shí)際用下來(lái)一般場(chǎng)景確實(shí)無(wú)感但不代表完全沒(méi)成本。如果你把所有HTTP參數(shù)、所有SQL都采集下來(lái)在高并發(fā)核心鏈路里RT和CPU都會(huì)有小幅上升。我的經(jīng)驗(yàn)是分三步控制先把采樣率從一個(gè)保守值開(kāi)始調(diào)觀察一周再放寬然后關(guān)掉不需要的插件在agent/config/agent.config里按需啟用最后對(duì)敏感參數(shù)做好脫敏尤其是用戶手機(jī)號(hào)、身份證等信息不要直接打成標(biāo)簽。鏈路觀測(cè)要服務(wù)于排查能力不是把原始數(shù)據(jù)全存下來(lái)才算成功。8. 寫(xiě)在最后我在生產(chǎn)環(huán)境用了半年的幾點(diǎn)體會(huì)接入Skywalking這件事技術(shù)難度比我最初想象的低得多真正難的其實(shí)是讓它持續(xù)產(chǎn)生價(jià)值。初期大家會(huì)覺(jué)得拓?fù)鋱D很酷天天圍觀新鮮感一過(guò)沒(méi)人看面板了鏈路平臺(tái)就被晾在一邊。直到后來(lái)有一次線上故障靠著鏈路數(shù)據(jù)十分鐘就定位到問(wèn)題團(tuán)隊(duì)才明白這個(gè)系統(tǒng)的意義不是“好看”而是把隱形的依賴關(guān)系和使用體驗(yàn)變成可以回溯的數(shù)據(jù)資產(chǎn)。從那之后我們把“關(guān)鍵業(yè)務(wù)方法加Trace”“日志輸出帶TID”寫(xiě)進(jìn)了開(kāi)發(fā)規(guī)范新服務(wù)上線前會(huì)專(zhuān)門(mén)檢查Skywalking里有沒(méi)有這個(gè)服務(wù)的鏈路數(shù)據(jù)。給正準(zhǔn)備接入的朋友三個(gè)務(wù)實(shí)的建議第一服務(wù)命名規(guī)范一定提前定好別讓每個(gè)人自己起名第二先拿一個(gè)不重要的邊緣服務(wù)試水跑通全鏈路后再推廣到核心服務(wù)第三告警規(guī)則要配幾條比如服務(wù)成功率下降、平均RT突增把鏈路指標(biāo)變成主動(dòng)通知而不是被動(dòng)翻查。鏈路跟蹤不是什么高深技術(shù)但它能把團(tuán)隊(duì)從“反復(fù)猜問(wèn)題在哪”的消耗里解脫出來(lái)。希望這篇實(shí)戰(zhàn)記錄能幫你把Skywalking順利跑起來(lái)省下更多本該用來(lái)寫(xiě)業(yè)務(wù)代碼的時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月影院| 能看的av| 久久伊人日日夜夜| 99ri精品在线| 操日本99| 国外亚洲成AV人片在线观看| 丁香五月色| 婷婷五月天少妇| 91丁香| 思思热视频在线观看| 色综合久久伊伊婷婷五月| 婷婷大乡焦噜噜| 99综合网| 婷婷色色网| 玖玖婷婷色五月| 婷婷激情五月综合丁| 五月天久久网站| 91黄操| 搡BBBB搡BBB搡18 | 嫩草AV久久伊人妇女超级A| 伊人五月丁香| 久久A区B区| 99热99网| 婷婷五月丁香影院| 亚洲激情免费久久| 激情99。| 天天干,噜噜色,狠狠色| 激情五月综合免费| 深爱激情五月天色婷婷| 97婷婷丁香五月天激情图片| 亚洲一色色色色色色色色| www.久久婷婷| 综合网啪啪| 色色色1网址| 午夜天堂一区人妻| 国产人妻777人伦精品HD| 五月婷婷熟女| 99热这里有精力| 五月婷婷丁香大陆免费| 99天堂网| 99热在线观看| 婷婷五月色播天| 97精品人人A片免费看| 丁香五月天堂网| 九月激情网| 五月丁香六月激情在线| 综合99久久| 伊人玖玖网| 桃色五月天| 99热这里只有精品青草| 亚洲乱码在线观看| 狠狠色噜噜狠狠狠狠综合| 97超碰人人操| 开心激情站| 五月天激情图片| 五月丁香91| 五月婷婷狠狠干| 免费观看亚洲AV片| 欧美人与性动交CCOO| 国精产品一区一区三区免费视频| 五月丁香久久综合91| 激情四射亚洲| 五月婷婷啪啪啪| 大香蕉婷婷丁香| 综合久久五月天| 亚州色婷婷| 色色婷婷五月天| 五月婷婷干干干| 婷婷亚洲五| 99热只有精品在线播放| 伊人9999| 色婷| 丁香性爱在线视频| 色吧婷婷| 亚洲综合色丁香五月天| 天天爽天天爽| 99精品偷自拍| 激情四射网| 久久婷婷亚洲| 婷婷亚洲欧美丁香五月| 激情婷婷六月天| 开心婷婷五月| 国产九九一区二区三区| 激情五月丁香色婷婷| 91小黄书网址在线观看| 99久热在线精品| 91欧美| 久久婷五月影院| 综合九九久久| 99久久思思| 婷婷五月视屏| 亚洲精品国产熟女久久久| 婷婷激情六月中文| 丁香六月色婷婷欧美| 五月丁香六月婷婷在线小说视频| 婷婷在线视频| 91九九热| 人人色AV| 色播五月天激情| 日本三级99人妇网站| 99爽视频| 99热在线只有精品| 日韩AV无码影片| 91打屁股视频网站| 五月天六月婷| 爱穴久久| 五月天小说激情| 天天日本夜夜谢| 综合色99| 狠狠干五月天婷婷网| 曰日爽日日操| 操操操B| 日本精品99网站| 九九免费在线视频| 国产69久久久欧美黑人A片| 人橾人| 日日爽日日操| 婷婷天堂站| 久久ri精品视频| 99热精品在线| 日本三级黄色大片| 欧美日本黄色| 棕合影院色色| 日韩在线视频中文字幕| 婷婷色操| 久久精品99久久| 开心五月色婷婷综合开心网| 色.五月综合网| 久久这里只有精彩| 99精品久久久久久久久| 丁香六月色婷婷综合| 丁香色五月 97干| 亚洲AV免费国产电影| 久久婷婷六月综合资源| 国产SUV精品一区二区6| 毛片新网地| 天天爱天天爽| 天天色天天爱天天舔| 97碰碰视频在线观看| 色婷婷丁香AV综合| 激情深爱综合网| 秋霞av吧| 婷婷五月天成人网站| 色优久久| 思思re视频在线| 色爱综合网| av久热| 五月丁香影院| 大香蕉天堂| 五月丁香六月婷婷激情网| av操B网站| 精品人妻久久久久久久| 俺去婷婷 丁香| 噜噜噜噜综合在线| www.91操| 欧美成人精品三区综合A片| 色色色色欧洲| 久久A极片| 精品一区二区三区四区五区六区介绍| 国产精品人成A片一区二区| 精品思思久久| av操逼网| 丁香五月天堂| 欧美精品99久久久| www.97视频| 丁香五月婷婷88在线| 六月丁香五月婷婷| 亚洲国产精品VA在线看黑人| 色综合爽| 天天透天天干| 狠狠色噜噜狠狠狠狠综合| 五月激情视频| 一级黄色片看看| 99久久极情精品一区| 日本三级片片| 99综合免费视频| 99热久久最新地址| 91人人操| 国产AV一区二区三区最新精品| 激情综合网,婷婷五月天| 五月婷婷爽爽爽| 综合激情深爱| 久操福利| 丁香五月 性爱| 99热8| 97干欧美| 精品热青草| 夜夜躁爽日日| 五月丁香六月欧美综合| 久激情| 日韩AV片| 色五月婷婷色五月婷婷色五月婷婷| 97久久久免费福利网址| 精品亚洲国产成人A片在线鸭王| 俺去也在线官网| 91日综合欧美| 欧美搡BBBBB摔BBBBB| 欧美天天干天天草| 欧美狠狠草| av操B网站| 9热视频在线观看| 久久丁香婷婷五月天| 天天日日| 99ER热精品视频| 天天摸天天日天天舔| 91人妻人人操人人爽| 无码少妇高潮喷水A片免费| 日日夜夜久| 婷婷五月丁香基地在线视频官网| 亚洲久艹| 波多野结衣不卡AV| 丁香六月天| 99精品色| 激情婷婷网| 91一起操| 六月丁香综合| 五月婷婷激情日本| 大香蕉伊然在亚洲90| 色噜噜狠狠色综无码久久合欧美| 国产精品视频免费看| 久久有码| 六月色婷婷| 久久久精品色| 天天爽夜夜爽| 99热九九这里只有精品10| 九九综合五月欧美| 最新无毒无码AV| 欧美综合五月丁香六月婷| 好好干av| 爱的综合网| 99re热在线观看| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 婷婷丁香五月天激情| 洗浴中心操B视频| 天天爽在线视频| 久久ab| 丁香色五月婷婷17C| 涩婷婷视频快播人妻| 色五月综合在线| 色爱亚洲| 激情综合色播| 婷婷丁香五月综合激情视频| 伊人超碰| 五月天激情日色在线| 婷婷色五月偷拍| 亚洲性视频| 91男人资源站| 五月天久久小说| 夜夜躁爽日日| 色噜噜综合网| 午夜天堂一区人妻| 亚洲亚洲人成综合网络| 99视频| 99热久| 九热精品| 99热超碰在线| 成人免费120分钟啪啪| 婷色五月| 国产69久久久欧美黑人A片| 亚洲在线操| 99热只有| 色色婷婷丁香| 亚洲丁香五月天视频| 丁香六月综合| 日韩精品呦呦va| 荫道BBWBBB高潮潮喷| 天天操天天曰| 五月婷婷综合网| 六月 丁香 视频| 色五月av| 丁香五月亚洲综合丝袜| 91人人看| 91精品婷婷国产综合| 99热久97| 91热爆在线| 五月丁香婷婷激情四射迷人| 色哟哟精品| 六月婷婷色色色| 98永久精品| 久久天堂色| 激情婷婷五月社区| 99碰碰视频| 久久婷婷色情7777网站| 色欲日日躁| 国产性色蜜乳| 中文av网站| 午夜丁香婷婷| 色色网站在线| 国产精品第一国产精品| 色五月色图| 欧美激情综合色综合啪啪五月| 91精品无码久久久久久五月天| 激情人妻综合| 五月婷婷综合激情| 婷婷五月天激情开心网| 免费AV播放| 国产视频色色色色色色色| 99热传媒| 婷婷五月天最新综合你懂的 | 丁香六月综合激情| 色情一区二区播放| 日韩欧美成人片| 九九热在线视频观看| 丁香五月婷婷色| 操逼五月婷婷| 日亚二欧美| 久这里只有精品99| 天干夜夜操| 色婷婷AAA| 亚洲精品又粗又大又爽A片| 七七久久婷婷| 五月激情丁香久久综合网| 九九色视频| 超碰在线人人| 日韩久操婷婷| 色五月婷婷五月久久| 亚洲色激情| 91婷婷在线| 天天碰夜夜操| 久热精品视频在线观| m色激情网| 超碰91在线| 91av传媒高清在线视频网| 久热视频97AV在线观看| 色视五月天婷婷| 色九月婷婷丁香| 99在线精品视频| 婷婷五月,偷窥偷拍网| 久久五月天合网| 99热只有这里有精品| 丁香五月另类色婷婷麻豆| 日日操天堂| 九九色影视| 人人草人人爱手机视频看看| 五月丁香六月激情| 亚洲九九夜夜| 色五月欧美| www99精品日韩| 婷婷91| 99性色| 久久九网| 开心五月丁香啪| www.91色| 国产婷婷综合在线免费视频| 国产精品VA在线| 思思久久久婷婷| 久热2025无码| 免费亚洲婷婷| 天天干,天天舔| 秋霞AV淫| www.日韩国产| 久久激情五月婷婷| 色久九| 五月天色婷婷综合| 91精品丝袜久久久久久久久粉嫩| 色五月丁香伊人五月| 国产亚洲精品久久久久久豆腐| 99手机在线精品视频| 激情五月婷婷色| 玩熟女五十AV一二三区| 色五月婷婷激情五月| 99久re热视频精品98| 久久久久网站| 日韩成人网址| 天天插天天爽| 色五月综合网| 淫视馆aV二区一区| 丁香五月婷婷基地| 五月丁香在线国产| 中字幕视频在线永久在线观看免费| 99色视频| 欧洲亚洲免费视频9| 色婷婷五月综合在线| 亚洲精品视频电影| 日韩人妻白浆视频系列| 99热九九这里只有精品| 蜜臀av粉嫩av懂色av| 色一情一乱一乱一区91Av| 爱狠射| 亚洲午夜精品久久久久久人妖| 天天爽天天摸| 成人精品一区日本无码网| 99九九在线精品热动漫| 99无吗| 一个色的综合| 午夜免费试看| 婷婷久久免费| 亚洲狠狠干| 国产婷伊人| 性五月激情| 九九大香蕉黄色影院| 日木WWW视频| 五月激情综合网| 囯产精品久久欠久久久久久九大| 沈娜娜av| 夜丁香五月婷婷| 欧美日韩999| 综合久久高清| 丁香蜜臀黄色婷婷五月天| 丁香婷婷综合影院| 狠狠狠狠狠操| 丁香五月花影院| 日本色噜| 色色a| 色吧综合网| 中文字幕av在线播放| 丁香影院五月综合| 337午夜福利| 欧美性做爰大片免费看办公室| 噜噜色天天开心| 九色91视频| 婷婷玖玖五月天| 五月婷婷丁香在线| 色 噜噜 九月 婷婷| peg 2区三区四区的| 桃色五月天| 超碰在线人妻| 六月婷婷色综合| 久色视频在线| 欧美日韩91| 综合亚洲六月婷婷在线| 丁香五月天激情综合| 天堂久久精品| 天天干,天天日| 综合亚洲六月婷婷在线| 九九色色| 激情婷婷狠狠干| 国产熟妇的荡欲午夜视频| 欧美美女国产日韩一区二区久| 婷婷五月天影院| 永久的网站AAAA | 色情五月丁香婷婷网| 色爱亚洲| 婷婷五月深深的爱| 色婷婷丁香女女| 婷婷丁香五月天狠狠| 欧美日韩成人h| 婷婷激情五月色综合| 九一九九黄色| 在线观看亚洲AV| 99色视频在线观看最新| 亚洲综合激情五月久久| 婷婷五月AV| 欧美色必爱| 五月婷婷综合久久| 91久久综合亚洲鲁鲁五月天| 激情五月婷婷五月| 人妻精品久久久久久| 丁香六月天婷婷| 天天干天天做| 成人精品在线观看| co超碰在线观看| 五月天婷久精视频| 久久婷婷亚洲| 九九9久九9国产视频| 婷婷五月六月丁香综合| 99草视频在线观看| 99ER热精品视频| 人妻VideOssS人妻高清| 欧美综合五月丁香六月婷| 婷婷性爱| 俺去也在线视频| 国产97色在线 | 日韩| 久99热| 婷婷五月天xxx| 九九久久腿| 婷婷精品性视频| 久久婷狠狠色| 精品少妇人妻AV无码专区偷人| 成人免费va| 久婷| 亚洲激情四射色| 五月狠狠| 五月丁香婷婷激情久久| 九月婷婷综合网| 色色色综合网| 99人人操人人摸| 丁香婷婷黄网站| 亚洲最大成人综合网720P| 丁香五月天成人网站| 久久机热这里只有精品免费视频| 黄网在线免费观| 五月婷婷色色色| 色五月婷婷DVD| 六月丁香婷婷综合狠狠爱夜夜爱| 日韩人妻白浆视频系列| 欧美精品999| 久久丁香久久| 日韩黄黄| 久久婷婷五月丁香网| 国产美女无遮挡裸体毛片A片| 五月天激情中文字幕| 黄色片区子| 婷婷伊人综合| 五月色综合| 五月丁香综合激情| 99aese| 无码se| 新男人天堂人妻| 亚洲无码色| 亚洲操操操| 国产精品噜噜在线视频| 免费国产VA国产免费| 婷婷伊人75| 中文字幕一色哟哟哟哟| 色色婷| 久久人妻高清中文| 这里只有精品视频在线观看免费| 日本色99| 日韩高清久久| 影音先锋男人av资源站| 国产69久久久欧美黑人A片| 97操碰碰无码视频| 国产偷人妻精品一区| 久久av电影| 99色婷婷视频| 亚洲成人一区| 狠狠色噜噜狠狠| 日韩啪啪视品| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 美女五月狠狠| 能直接看的AV网站| 日本成人小说婷婷六月| 婷婷开心综合人妻小说网址| 777久久精品| 亲子乱AV一区二区三区下载| 成人网站在线观看视频| 九九亚洲综合| 五月丁香啪啪综合网| 99在线观看精品视频| 日逼免费视频| 性色99| 天天日夜夜草进麻麻的子宫| 色播五月天天| 婷婷六月中文字幕| 亚洲狠狠狠色婷婷综合激情久久久| 婷婷五月天av网| 二色AV| 六月婷久久| 亚洲乱码w在线观看| 色 噜噜 九月 婷婷| 超碰99热精品在线| 美女视频图片久久91| 五月婷久久久久综合| 国产日韩精品SUV| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 日本色狠狠| 在线可以看的av网址| 五月激情丁香| 激情综合丁香五月| 亚洲精品在线视频| 午夜一区| 激情五月天婷婷| 99无码精品| 97操视频| 天天拍天天操| 黄网在线免费观| 婷婷在线五月综合| 97性高潮久久久| 超碰99热精品| 久久99久久99精品免视看婷婷| 新97人人上人人| 人人爱操| 婷婷五月开心中文字幕色| 激情综合网亚洲色图| 色欲资源网| 5月丁香啪啪啪| 日本狠狠色| 99色亚洲| 久久久国产精品黄毛片| 中文不卡av| 99色.com| 超碰免费成人| 五月丁香综合伦理片| 色综合色色色色色| 欧美 日韩 成人| 99热婷婷| yazhoujiqingav| 97婷婷五月激情六月丁香伊人| 亚洲无aV在线中文字幕| 久久中文人妻系列| 婷婷五月天第四色| 日韩av在线电影| 欧美性猛交 XXXX 乱大交| 色欲久久99精品久久久久久| 久久99精品久久久久久三级| 婷婷五月天AV| 99青青草| 色婷婷导航| 婷婷丁香社区| 天天综合91入口| 婷婷六月丁香综合| 婷婷五月天狠狠搞干| 久9久9热久热| 秋霞少妇AV网站| 婷婷97碰碰| 婷婷六月婷婷| 大香蕉久久婷婷精品综合| 色播播五月天| 人操综合| 婷婷五月成人有| 五月丁查人人| www.99热| 久久一品区| 天天色爽| 婷婷五月天网址| 成人无码髙潮喷水A片| 九九九九成人| 婷婷性爱无码视频| 啊V视频在线观看| 婷婷五月综合视频| 婷婷欧美综合| 在线综合91| 99在线免费视| 97热精品| 婷婷色色色| 月月AV| 天天拍天天操| tingtingcaobi| 狠狠操狠狠爱| 在线另类视频| 丁香九色不卡aaa| 色色色色色色色综合| 超碰国产AV| 嫩草极品| 亭亭五月丁香综合欧美| 丁香六月五月天| 少妇人妻人伦A片| 久人人操| 五月激情久久| 丁香,开心成人,久久| 五月天日日操夜夜操 | 秋霞午夜理论| 欧美日韩99| 超级97碰碰| 五月丁香天堂网婷婷| 玖玖午夜视频| 亚洲另类毛片| 五月婷婷婷婷婷| 强壮公让我夜夜高潮A片视频| 伊人大香蕉毛片| 色婷婷五月天成人网| 久久久精品色| 99干日本| 操逼视频一区| www.色婷婷.com| 丁香六月激情网C0W| 久久久国产精品黄毛片| 亚洲人人96@| 天天操综合网| 丁香五月成人| 久久婷五月天| 久热九九| 99这里都是精品| 五月天激情黄色小说在线观看| 五月婷婷久久综合| 精品久热69| 99热精品超碰| 激情小说在线视频| 欧美日韩国产一区二区| 久色大| 停停综合色色| 亚洲综合五月天婷婷丁香| 黄色短视频在线观看| 婷婷五月天在线观看免费| 丁香六月天婷婷色| 婷婷五月伦理| 亚洲正能量欧美| 天天做天天摸| 丁香五月九九| 久久99激情| 婷婷爱爱蜜臀天天操| 婷婷五月激情欧美| 超碰人人在线| www.狠狠操| 69堂午夜视频最新地址| 五月天久久色| 丁香五月婷婷手机| www91久久| 久久五月婷婷丁香| 97操操操| 伊人综合网站| 天天日天天日天天搞| 色婷婷91| 99亚洲天堂| 婷婷亚洲日本| 国产成人一区二区三区在线观看| 激情九九这里只有精品| 免费啪啪啪网站 | 九九色网| 91丁香五月| 99自拍视频在线观看| 99精品在线观看| 五月天激情婷婷丁香| 丰滿爆乳一区二区三区| 婷婷爱五月| 六月丁香婷婷视频综合在线观看| 亚洲精品V天堂中文字幕| 亚洲性爱日韩无码| 超碰在线资源| 亚洲天堂久久| 5月丁香六月情| 日韩伊人大香蕉| 思思热这里只有精品| WWW、日本色丁香、co m| 变态另类色图| 婷婷五月综合在线| 人人看人人摸人人| 五月婷婷基地| 五月香蕉婷婷| 97黑人精品区| 伊人综合网站| 亚洲激情婷婷| 怕怕av| 丁香五月天社区婷婷| 日韩欧洲亚洲| 色五月婷激情| 中文无码婷婷| 97操碰日本女人| 超碰在线观看99| 噜噜噜色噜噜| 97人人干人人操| 人人摸人人操人人爱| 五月丁香综合| 97人人草| 国产性爱色| WWW.国产| 国产免费一区二区三州老师F1F1| 五月丁香花免费视频| 操碰99| 丁香五月激情综合久久| 99精品综合视频| 这里只有精品99www| 日韩AV在线免费观看| 无码人妻丰满熟妇奶水区码| 超碰在线人人| 五月婷婷综合久久| 久久这里这里有精品免费视频| 色婷婷亚洲综合av| 婷色五月天| 无码色| 婷婷丁香五月欧美人| 婷婷五月色情天| 99久久精彩视频| 中文字幕网伦射乱中文| 超碰99在线| 色色色综合色| 99re这里只有精品国产99| www.99热这里精品| 久久婷婷五月综合色区| 激情九月婷婷| 久久久性爱视频| 欧美狠狠地| 天天爱天天做天天舔| 狠狠干综合网| 91好好热日本在线| www.婷婷激情网.com| 狠狠色婷婷7777久| 六月婷婷五月天| 人人干女人| 丁香狠狠色婷婷久久无码视频| 久久婷婷亚洲| 高清成人综合| 国产超碰av| seav天堂| 久久这里都是精品| 九九AV在线| 99热国产免费| 久久这里有精品| 中文网av| 色婷婷五月天综合网| 五月婷婷成人网首页| 五月综合色| 超碰九九热| 久久99久久99精品免观看粉| 婷婷五月中文字幕| 久久丁香九| 五月天久久久| 五月天伊人| 激情六月婷婷| 99色视频在线| 婷婷色导航| 欧美日韩aaa| 69精品人人人人| 人人爽天天爽| 五月天色综合| 日韩成人网址| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 婷婷99| 另类图片五月天| 国产肥白大熟妇BBBB视频| 久久五月天婷婷| www久久久| 亚洲情综合五月天| 琪琪布丁香社区激情五月天| 九色综合网| 伊人超碰在线| 色色日本欧美| 久9热视频在线观看| 精品成人久久久久久久_一二三四视| 久久婷婷综合基地| 久久性爱视频| 亚洲视频丁香网va| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 九九www| 天堂久久性| 亚洲午夜视频| 人妻久久久久| 99热精品一区| 五月天五月天成人网亭亭成人色网站| 人人人人人人人草| 五月婷婷婷婷网| 丁香婷婷九月| 99热精品免费| 五月天婷婷社区| 三级片AAA久久久AAA久久久AAA | 99久久综合网| 色婷婷五月开心六月综合| 草操网| 色婷婷激情视频| 亭亭五月天黑人2014| 无人精品在线视频| 丁香五月色色| 欧美性猛交99久久久久99按摩| 九月婷婷在线视频| 欧美日韩国产日本精品四虎网网站物 | 五月婷婷色影院| 婷婷久久色| 亚洲mm免费| 色五月大| 深爱激情网五月| 噜噜色com| 青青草tp| 成人午夜天| 国产九九一区二区三区| 精品久久二6| 婷婷五月AV| 另类激情五月| 国产精品扒开腿做爽爽爽A片唱戏| 99视频热99| AV在线免费网站| 五月丁香六月色情网欧美| 天天色综网| 久操大香蕉| 丁香五月天堂亚洲社区| 五月天成人综合| 激情亚洲婷婷六月| 性天堂久久| 亚洲爆乳无码精品AAA片蜜桃| 天堂网啪啪| 丁香五月另类小说在线阅读| 精久久色| 99热综合网| 色婷婷另类| 久久 婷婷 五月天| 丁香五月天啪啪激情综和网 | 伊人丁香花综合影院| 六月撸婷婷| 免费无码毛片一区二区A片| 影音先锋毛片网站| 亚洲色a| 婷婷色情网| 久久久日韩特色特黄AAAA| 国产亚洲在线| 丁香六月在线| 日韩精品视频中文字幕| 大香蕉五月天婷婷丁香91| 天天艹夜夜爽| 五月激情六月综合| 人妻中文字幕网| 婷婷和五月天| 超碰人人干| 久草丁香婷婷1024| 天天做综合| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 久操热线| 色婷婷女优有码五月亭| 丁香五月丁香伊人| AV九九| 亚洲成人无码网站| 日日夜夜天天爽| 亚洲五月婷| 色播婷婷五月天| 狠狠色综合精品视频在线| 婷婷在线播放| 久久亚洲A| 婷婷性爱网| 色婷婷女优有码五月亭| WWW.99热| 99re在线播放| 超碰国产AV| 另类激情五月天| 亚洲日本韩国| 天天爽天天弄| 激情五月天社区| 99毛片| 狠狠综合网| 丁香婷婷浪潮AV久久综合| 五月丁香亭亭成人电影| 午夜大香蕉| www九九热| 超碰在线视屏| av在线免费网站 | 91五月天| 五月婷婷三级| 91人妻人人做人碰人人爽九色| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 中文字幕黄色片| 超碰猛烈的性猛交| 婷婷五月综合色拍| 色婷婷瘦婷婷日韩| 99视频精品全部观看10| 婷婷久久图片| 婷婷淫淫狠狠六月| 91seAV| 天天综合中文| 久久99免费视屏| 国产成人亚洲综合A∨婷婷| 91熟妇大香蕉| 日韩在线婷婷五月天综合| 色黄啪啪| 亚洲第一综合| 99久操| 99ri在线| 丁香六月综合激情| 大香蕉520| 人妻内射麻豆视频| 粉嫩AV久久一区二区三区| 亚洲综合视频一下| 久草婷婷网| 五月天四色房丁香| 婷婷五月天免费99| 五月天社区狠狠| 中文字幕不卡视频| 啪啪操超碰| 殴美激情综合网| 婷婷金品综合视频| 久久五月天精品视频| 欧美成人精品A片免费一区99 | 人人舔天天| 日本全黄一级999| 婷婷五月影院| 超碰免费人妻| 婷婷六月色| 东北婷婷五月天| 亚洲在线成人| 日韩综合天堂| 久久er免费视频| 久久久久久久11111111111| 五月天久久丁香| 伊人久久综合| 五月天婷婷色色| 久久99热这里只有精品23| 婷婷.com| www.9797国产| 亚洲婷婷丁香| 亭亭玉月丁香| 色五月天网| 亭亭玉月丁香| 激情五月综合| 日本老女人黄页在线播放| 韩日另类| 岛国AV网| 99精品综合视频| 欧美成人网婷婷综合在线| 91操女| 婷婷伊人久久| 开心婷婷五月天电影院| 婷婷情色五月| 五月丁香亚洲综合| 99热精品综合| 六月丁香综合| 免费无码毛片一区二区A片| 狠狠999| 六月婷欧美| 91碰碰| 狠狠操狠狠操AV| 久久久思思热| 三级毛片视频| 六月婷婷五月丁香| 丁香婷婷综合精品六月初| 色婷婷播放| 久草婷婷| 深爱激情婷| 激情综合5| 91成人看| 色婷婷成人做爰A片免费看网站| www天天爽| 亚洲第一色色色色| 超碰在线播放免费观看| 色婷婷亚洲精品天天综| 综合网视频| 精品色情一区二区三区四区| 婷婷成人在线| 少妇做爰免费视看片| 香蕉婷婷色五月| 天天干夜夜b| 色五月婷婷操逼| 久久男人网婷婷| 天天干天天日天天操| 久久99热这里只有精品| 丁香五月 综合| 99人人操| 沈娜娜av| 日韩操人| 九月激情网| 亚洲欧美另类在线23p| 99热这里只有精品亚洲| 婷婷激情四射网| 伊人丁香在线| 涩五月婷婷| 五月天婷婷綜合院| 五月婷色激情五月| 激情五月伊人婷婷| 久久久WWW| AV六月丁香| 国产精品久久久久久久久久久久| 中文字幕在线免费观看视频| 婷婷丁香五月综合激情小说| 婷婷成人综合免费视频| 91人操| 婷婷综合九月| 婷婷五月丁香五月基地| 婷婷五月激情网| 99热最新精品| 九九这里都是精品| 色综合网综合| 免费99情趣网视频| 天天日天天舔天天摸| 99久久精彩视频| 嫩草AV久久伊人妇女超级A| 亚洲人妻AV| 在线观看婷婷5月| 婷婷五月天无码| 久久久精久人妻| 深爱五月中文字幕| 五月综合亚洲色| 天天操天天爱天天日| 激情五月天啪啪| 丁香五月婷婷欧美成人色图| 久久33视频| 五月激情丁香啪啪| 亚洲成人无码专区| 国产成人一区二区三区在线观看| 99热色精品| 欧美一级色| 精品久久99码| 91干视频| 老司机伊人| 婷婷丁香成人五月天| 狠狠五月激情婷婷直播片| www.人人操人人看人人想人人摸 人人人人操,COM | 久久精典| 久热69| 97碰碰在线看视频免费| 66色在线日韩| 天天日日夜夜| 久久综合五月天| 综合网啪| 99re在线视频| 久99视频| 天天做天天爱天天玩| 99小精品| 六月丁香视频网站| 色婷婷亚洲| 中文成人在线| 日韩一级网站| 九月婷婷综合网| 亚洲旡码| 久久久网站| 婷婷开心深爱五月天| 99免费综合网| 六月色婷婷色| 99rewww| 操逼福利视频| 精品少妇蜜臀91| 婷婷丁香五月综合激情小说| 色丁香六月| 五月婷婷中字在线| 9久国产精品| 91天天操天天干天天射| 蜘蛛女免费观看完整版高清电影| 玖玖资源部在线播放| 五月色丁香激情| 26uuu另类亚洲欧美日本一| 超碰1999| 狠狠99| 色色色999| 尤物一区二区| 综合日本婷婷| 另类激情四射| 91人人操.COM| 五月丁香美女| 激情 婷婷 插| 色婷婷久久| 任你爽视频| 97在线观视频免费观看| 五月婷婷综合天天操| 五月五月婷婷| 91精品久久久久久| 天天射影视综合网| 婷婷五月天视频亚洲| 天天肏在线观看| 99无码视频| 久操香蕉| 五月丁香色婷婷久久| 婷婷色色综合激情| 婷婷中文字幕版| 第四色五月天| 亚州色色色| 久久五月婷综合| 99人人操人人操人人精| 99免费热在线精品| 热久久视频99| 久久久久久97| 99热在线观看| 亚洲成人另类| 亚洲五月婷婷在线| 亚洲日日操| 99热精品在线播放| 伊人天堂婷婷| 久久久久9999| 色色综合日韩| 亚洲操b| 日本综合久久| 国产jd1024基地手机看国产| 碰97久久| 婷婷在线午夜| 182TV大香蕉| 国产欧美日韩综合精品一区二区| 婷婷中文网站| 五月天天丁香婷婷在线中| 丁香五月婷婷亚洲综合精品在线| 六月婷婷久久| 91狠狠综合久久| 色护士综合| 蜜桃婷婷五月| 玖玖婷婷五月天| 在线另类| 香蕉网久久| 六月丁香婷婷尤物| www,99热| 另类图片五月天| 日韩免费99| 丁香婷婷五色月| 亚洲av网站| 日韩成人综合| 深夜婷婷五月丁香| 天天摸天天肏| 亚洲天堂碰碰婷婷| 婷婷色五月久久| 亚洲九九夜夜| 超碰日韩成人| 久久丁香五月综合六月激情红杏视频 | 区区欧美你爱| 99热自拍| 婷婷五月色色| 俺去啦综合网| 亚洲亚洲人成综合网络| 97综合在线| 婷婷五月色天| 一本色综合色| 另类图片五月天婷婷| 婷婷情色五月天| 日韩av高清| 天天噪夜夜爽| 婷婷五月成人| 97热这里精品在线视频| 99热这里只有精品国产首页| 国产乱子轮XXX农村| 任我肏| 色综合伊人网| a性生活久久无| 激情的五月| 亚洲精品婷婷| 全高清无码视頻| 丁香五月婷婷亚洲另类| 91婷婷视频| 免费AV黄在线播放| 成人av在线网站| 永久免费一区二区三区| 激情网综合| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 99九精品| 开心五月婷婷婷美女| 99干日日干| 六月婷婷视频| 99ri国产在线| 二区成人视频| 天天舔天天摸视频| 综合av在线| 色色热99| 色综合激情| 免费婷婷| 91婷婷色五月| 天天色凹凸| 五月天婷婷丁香社区| 91se视频| 99秘 在线| 婷婷五月丁香五月基地| 337p午夜影院| 青草青草视频2免费观看| 色婷婷成人影片| 欧美肉大捧一进一出免费视频| 五月婷婷激情综合在线| 综合久久99| 五月天伊人av| 国产67194| 激情五月丁香综合蜜桃| 色婷婷婷婷| 丁香五月婷婷亚洲人| 色婷婷影院| 日本va网站| .精品久久久麻豆国产精品| 婷婷五六月丁香| 亚洲精品一区中文字幕乱码| 五月香蕉婷婷| 国产偷人爽久久久久久老妇APP| 日韩无码一区二区三区四区| 亚洲九九夜夜| 亚洲俩性性爱图片久久第六页| 色婷婷综合网| 99热只有精品在线观看| 色综合77777| 亚洲这里只有精品| 久久女伦| 天天做天天爱天天爽| 色婷婷大香蕉| 中文av网| 色狠狠图片| 东北熟女视频99| AV五月丁香| 综合激情五月婷婷| 婷婷五月色激情欧美激情| 丁香久久综合| 五月婷婷婷| 夜夜操少妇| 色操综合| 婷婷五月天AV在线| AV无码免费| 狠狠干天天日| 亚洲婷婷六月天| 99re久热| 久大香蕉| 综合欧美五月婷婷| 激情99| 久久婷.com| 国内外色色色色色成人视频| 五月久久亚洲| 九九精品99久久久| 五月丁香综合| 26uuu欧美日韩| av免费在线看不卡无毒| 六月激情网| 久久久久久久综合狠狠综合| 西西4r午夜剧场| 天天日天天插| 激情五月天综合图片小说网站| 色色综合热| 久久婷婷精品| 天天 青草 制服丝袜 在线| 丁香花社区av| 久久女人天堂| 99.色| 大香蕉99热| 国产精品久久欧美久久一区|