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

ARTICLE DETAIL

資訊詳情

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

Nacos首次調(diào)用慢排查與配置調(diào)優(yōu)實(shí)戰(zhàn)指南

Nacos首次調(diào)用慢排查與配置調(diào)優(yōu)實(shí)戰(zhàn)指南 1. 項(xiàng)目概述與問題背景1.1 核心需求解析我不知道你有沒有踩過這樣一個(gè)坑服務(wù)用 Spring Cloud Alibaba Nacos 做了服務(wù)注冊與發(fā)現(xiàn)平時(shí)用起來一切正常但每次服務(wù)剛啟動(dòng)完第一次去調(diào)用別的服務(wù)接口總感覺像卡住了一樣慢得離譜。等這第一次調(diào)用過去了后面的請求又一馬平川快得很。這個(gè)首次調(diào)用慢的問題在微服務(wù)架構(gòu)里屬于那種不痛不癢、但真遇到又很折磨人的隱性 Bug。說它不痛不癢是因?yàn)樗挥绊懽罱K結(jié)果——請求最終還是成功了只是慢了那么幾百毫秒甚至幾秒說它折磨人是因?yàn)樗h(huán)境、版本、部署方式強(qiáng)行掛鉤同一個(gè)版本在這里沒事?lián)Q個(gè)環(huán)境就現(xiàn)原形排查起來非常折騰。這篇文章不是講解 Nacos 基礎(chǔ)概念的入門文而是要落地解決首次調(diào)用慢這一具體問題的排障實(shí)錄。我會(huì)從 Nacos 的配置操作講起覆蓋原生部署和 Docker 部署兩種情況然后帶你一步步定位首次調(diào)用慢的根源并給出可以直接抄作業(yè)的配置方案。先說結(jié)論Nacos 首次調(diào)用慢這個(gè)問題絕大多數(shù)情況下不是 Nacos 服務(wù)端的問題而是客戶端在啟動(dòng)初期與配置中心、注冊中心交互過程中一堆細(xì)節(jié)配置沒有調(diào)優(yōu)導(dǎo)致的。Nacos 本身只是一個(gè)分布式基礎(chǔ)設(shè)施它把服務(wù)注冊、發(fā)現(xiàn)、配置管理的活干完了但客戶端怎么配合它干活這個(gè)配合的細(xì)節(jié)直接決定了首次調(diào)用的體驗(yàn)。1.2 影響范圍與排查思路這個(gè)問題的典型出現(xiàn)場景包括服務(wù)剛啟動(dòng)第一筆外部請求進(jìn)來到真正發(fā)出下游調(diào)用之間延遲明顯。多實(shí)例部署環(huán)境中部分實(shí)例首次調(diào)用慢部分實(shí)例正常。測試環(huán)境一切正常生產(chǎn)環(huán)境首次調(diào)用偶發(fā)超時(shí)。服務(wù)重啟后短時(shí)間內(nèi)大量請求涌入出現(xiàn)集中的慢調(diào)用或超時(shí)。如果你遇到了上述任意一種又不想每次重啟服務(wù)都提心吊膽這篇文章一定要往下看。排查思路的核心在于先確認(rèn)慢在哪一段再確認(rèn)導(dǎo)致慢的機(jī)制。Nacos 場景下慢的環(huán)節(jié)通常集中在服務(wù)發(fā)現(xiàn)、配置拉取、客戶端線程初始化三個(gè)環(huán)節(jié)。定位到具體環(huán)節(jié)之后配置調(diào)整才有針對性。下面我按自己的實(shí)戰(zhàn)經(jīng)過把整個(gè)配置過程和采坑點(diǎn)完整過一遍。2. Nacos 配置操作全流程2.1 配置之前先搞懂 Nacos 的兩個(gè)核心角色在動(dòng)手配置之前必須先分清你用的是 Nacos 的哪個(gè)能力。Nacos 本質(zhì)上是一個(gè)注冊中心 配置中心的二合一組件而這兩個(gè)角色對客戶端的影響路徑完全不同。注冊中心負(fù)責(zé)服務(wù)實(shí)例的管理。服務(wù)啟動(dòng)時(shí)客戶端把自身 IP、端口、健康狀態(tài)注冊到 Nacos 服務(wù)端服務(wù)調(diào)用方Consumer通過 Nacos 獲取目標(biāo)服務(wù)的實(shí)例列表再根據(jù)負(fù)載均衡策略選擇實(shí)例發(fā)起調(diào)用。這一條鏈路如果出了問題直接表現(xiàn)就是找不到服務(wù)或者拿到的是過期的實(shí)例列表。配置中心負(fù)責(zé)配置項(xiàng)的動(dòng)態(tài)管理。服務(wù)啟動(dòng)時(shí)客戶端向 Nacos 拉取配置運(yùn)行期間客戶端通過長輪詢監(jiān)聽配置變化。這一條鏈路如果出了問題直接表現(xiàn)是配置沒生效或者啟動(dòng)時(shí)卡在拉配置環(huán)節(jié)。首次調(diào)用慢恰恰就集中在這兩條鏈路交匯的地方。服務(wù)啟動(dòng)后本地 Spring 容器的初始化工作可能早就完成了但 Nacos 客戶端的某些異步動(dòng)作還在進(jìn)行中這時(shí)候第一筆請求打進(jìn)來就會(huì)撞上客戶端暫時(shí)還沒準(zhǔn)備好的尷尬期。2.2 原生部署 Nacos 的基本配置操作先講原生部署。很多團(tuán)隊(duì)在測試環(huán)境會(huì)直接用解壓包方式啟動(dòng) Nacos Server雖然 Docker 已經(jīng)很普及了但原生部署依然有它不可替代的場景便于直接查看日志、便于調(diào)試、不依賴鏡像倉庫。啟動(dòng) Nacos Server 前最基礎(chǔ)也最關(guān)鍵的配置在conf/application.properties### 是否開啟認(rèn)證 nacos.core.auth.enabledfalse ### 控制臺登錄用戶名密碼開啟認(rèn)證時(shí)生效 nacos.core.auth.plugin.nacos.token.secret.keySecretKey012345678901234567890123456789012345678901234567890123456789 ### 服務(wù)端口 server.port8848 ### 數(shù)據(jù)源配置默認(rèn)使用內(nèi)嵌 Derby生產(chǎn)建議切換 MySQL spring.datasource.platformmysql db.num1 db.url.0jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneAsia/Shanghai db.user.0nacos db.password.0nacos這里有一個(gè)非常反直覺的坑很多人以為 Nacos Server 是內(nèi)存組件配置里沒有數(shù)據(jù)庫字段也沒關(guān)系。但 Nacos Server 的配置數(shù)據(jù)、注冊的持久化實(shí)例信息臨時(shí)實(shí)例除外都依賴數(shù)據(jù)庫存儲(chǔ)。默認(rèn)的內(nèi)嵌 Derby 只適合單機(jī)跑著玩一旦服務(wù)重啟Derby 數(shù)據(jù)文件可能損壞導(dǎo)致配置丟失。我自己就遇到過明明配置在頁面上能看到重啟之后全部蒸發(fā)的情況就是因?yàn)橛昧?Derby 且沒有做數(shù)據(jù)備份。所以生產(chǎn)環(huán)境務(wù)必配 MySQL別嫌麻煩。啟動(dòng)時(shí)單機(jī)模式用-m standalone參數(shù)sh startup.sh -m standalone如果是在 Linux 服務(wù)器上啟動(dòng)默認(rèn)是集群模式不指定standalone的話會(huì)嘗試去連其他節(jié)點(diǎn)然后一直報(bào)連接失敗。這個(gè)坑很常見尤其是在測試環(huán)境隨便拉起來一個(gè)服務(wù)用的時(shí)候。2.3 Docker 部署 Nacos 的操作細(xì)節(jié)Docker 部署 Nacos 其實(shí)是更主流的方式尤其是 Kubernetes 環(huán)境里Nacos Server 往往以 StatefulSet 方式部署。對于單體 Docker 部署最簡潔的啟動(dòng)命令如下docker run -d \ --name nacos-server \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ -e MODEstandalone \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOST127.0.0.1 \ -e MYSQL_SERVICE_PORT3306 \ -e MYSQL_SERVICE_DB_NAMEnacos_config \ -e MYSQL_SERVICE_USERnacos \ -e MYSQL_SERVICE_PASSWORDnacos \ nacos/nacos-server:latest注意這里我把 9848 和 9849 端口也映射出來了。Nacos 從 2.x 版本開始客戶端與服務(wù)端之間的 gRPC 通信走 9848 端口9849 是服務(wù)端之間的 gRPC 通信端口。很多人只映射了 8848 端口結(jié)果注冊中心頁面能打開服務(wù)也能注冊上但客戶端拉取服務(wù)列表時(shí)需要通過 gRPC 建立長連接端口不通就一直在重試表現(xiàn)出來就是服務(wù)剛啟動(dòng)時(shí)各種超時(shí)、首次調(diào)用極慢。這是首次調(diào)用慢的一個(gè)非常隱蔽的誘因Docker 容器沒把 9848 端口暴露出來。我建議你先自查這一條如果端口映射有缺失后續(xù)的配置優(yōu)化做得再好都白搭。注意Nacos 2.x 版本引入 gRPC 通信機(jī)制之后除了 8848 主端口還必須保證 9848客戶端 gRPC和 9849服務(wù)端 gRPC的端口可達(dá)。端口不通會(huì)導(dǎo)致客戶端連接狀態(tài)不穩(wěn)定間接引發(fā)首次調(diào)用慢。2.4 客戶端依賴與基礎(chǔ)配置服務(wù)端配置完之后客戶端側(cè)的 Maven 依賴也需要對齊版本。Spring Cloud Alibaba、Spring Cloud、Spring Boot、Nacos Client 四者之間的版本關(guān)系堪稱微服務(wù)領(lǐng)域最大的版本深水區(qū)之一。我見過太多人把 Spring Cloud Alibaba 版本隨便升一升Nacos Client 的版本也跟著變了然后該通的調(diào)不通不該有的 Bug 全冒出來了。以當(dāng)前比較穩(wěn)定的組合為例組件版本Spring Boot2.6.xSpring Cloud2021.0.xSpring Cloud Alibaba2021.0.5.0Nacos Client由 Spring Cloud Alibaba 管理2.2.xMaven 依賴坐標(biāo)如下dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency配置文件application.yml中核心配置項(xiàng)如下spring: application: name: order-service cloud: nacos: discovery: server-addr: 127.0.0.1:8848 namespace: public group: DEFAULT_GROUP register-enabled: true config: server-addr: 127.0.0.1:8848 file-extension: yaml namespace: public group: DEFAULT_GROUP refresh-enabled: true到這里為止基礎(chǔ)配置是能跑通的但離首次調(diào)用不慢還有距離。接下來進(jìn)入重點(diǎn)也就是首次調(diào)用慢的具體定位和解決。3. 首次調(diào)用慢問題的定位3.1 確認(rèn)慢在哪一個(gè)環(huán)節(jié)如果你遇到首次調(diào)用慢第一步不是改配置而是要確認(rèn)慢在哪個(gè)環(huán)節(jié)。我用一個(gè)比較笨但很有效的方法來分段計(jì)時(shí)。在服務(wù)調(diào)用入口和出口分別打點(diǎn)記錄下時(shí)間戳然后看差值。偽代碼如下public Result doBiz(Req req) { long start System.currentTimeMillis(); log.info([TIMELINE] 入口收到請求{}, start); // 發(fā)起 Feign/RestTemplate 調(diào)用前 Result result remoteService.call(req); long end System.currentTimeMillis(); log.info([TIMELINE] 得到響應(yīng){}耗時(shí){}ms, end, end - start); return result; }同時(shí)在 Nacos Client 的日志里觀察關(guān)鍵節(jié)點(diǎn)。Nacos 客戶端默認(rèn)日志路徑是logs/nacos/核心日志文件是nacos-client.log。啟動(dòng)服務(wù)后觀察日志中以下幾個(gè)關(guān)鍵記錄的出現(xiàn)時(shí)間客戶端啟動(dòng)開始連接 Nacos ServergRPC 連接建立成功訂閱服務(wù)列表成功第一次獲取到服務(wù)實(shí)例列表如果這幾個(gè)節(jié)點(diǎn)之間的間隔異常比如連接建立后到訂閱成功花了 3 秒那問題就出在客戶端與 Nacos Server 的交互上。3.2 常見的三種慢路徑根據(jù)我的實(shí)際排查經(jīng)驗(yàn)Nacos 場景下首次調(diào)用慢可以歸類為三種路徑第一種服務(wù)發(fā)現(xiàn)路徑慢。Consumer 發(fā)起調(diào)用時(shí)需要從本地緩存的服務(wù)列表中獲取 Provider 實(shí)例信息。如果服務(wù)列表還沒有成功拉取或者列表中的實(shí)例狀態(tài)還沒刷新就會(huì)等待或者重試。第二種配置拉取路徑慢。如果用了 Nacos 配置中心服務(wù)啟動(dòng)時(shí)會(huì)先拉取配置再啟動(dòng) Spring 容器。配置拉取的超時(shí)時(shí)間如果設(shè)置得過短在弱網(wǎng)或高延遲環(huán)境下就容易超時(shí)失敗。有些配置中心客戶端框架會(huì)在拉不到配置時(shí)直接啟動(dòng)失敗而 Spring Cloud Alibaba 的實(shí)現(xiàn)里對某些配置是允許先用舊配置啟動(dòng)的這個(gè)取舍就會(huì)影響首次調(diào)用的時(shí)機(jī)。第三種客戶端線程池初始化慢。Nacos Client 內(nèi)部有獨(dú)立的線程池用于負(fù)載均衡、健康檢查、服務(wù)列表更新。服務(wù)剛啟動(dòng)時(shí)這些線程池才剛創(chuàng)建如果 JVM 的類加載還沒有完成預(yù)熱第一次調(diào)用就會(huì)觸發(fā)一堆類的加載和初始化導(dǎo)致首次調(diào)用慢。3.3 用一個(gè)實(shí)例場景還原全過程為了把這個(gè)問題講透徹我模擬一個(gè)真實(shí)的場景一個(gè)訂單服務(wù)order-service調(diào)用用戶服務(wù)user-service的 Feign 接口首次調(diào)用耗時(shí) 2.3 秒之后每次調(diào)用耗時(shí)穩(wěn)定在 50ms 以下。我在 order-service 的啟動(dòng)日志里發(fā)現(xiàn)了這樣幾條記錄2025-06-01 10:00:01.001 [main] INFO c.a.c.n.registry.NacosServiceRegistry - nacos registry, SERVICE_NAME: order-service 2025-06-01 10:00:01.105 [main] INFO c.a.c.n.registry.NacosServiceRegistry - nacos registry, register finished 2025-06-01 10:00:02.300 [main] INFO c.a.c.n.config.NacosPropertySourceLocator - get data from Nacos success, dataId: order-service.yaml注意時(shí)間線注冊中心注冊 1 秒內(nèi)完成但是配置拉取花了 1.2 秒才完成。也就是說Spring 容器在配置還沒拉取完之前就已經(jīng)對外提供服務(wù)了實(shí)際上 Spring Cloud Alibaba 的啟動(dòng)流程中配置拉取發(fā)生在 Spring 容器刷新之前配置沒拉取完正常來說服務(wù)不應(yīng)該對外暴露。那為什么首次調(diào)用會(huì)慢實(shí)際情況是服務(wù)注冊完成并不代表服務(wù)已經(jīng)可以被穩(wěn)定調(diào)用。在 Spring Cloud Alibaba 的實(shí)現(xiàn)中服務(wù)注冊動(dòng)作發(fā)生在 Spring 容器的WebServerInitializedEvent事件之后也就是 Tomcat 已經(jīng)監(jiān)聽了端口、但某些后置處理器還沒跑完的階段。這個(gè)窗口期非常短但恰好第一筆請求打進(jìn)來時(shí)可能撞上 Feign 客戶端的第一次初始化這個(gè)初始化過程涉及生成動(dòng)態(tài)代理類、加載負(fù)載均衡策略、初始化連接池一整套下來幾百毫秒是常事。所以首次調(diào)用慢的本質(zhì)往往是調(diào)用方Consumer側(cè)在第一次調(diào)用時(shí)才懶加載地去初始化 Feign/RestTemplate 的底層組件疊加 Nacos 客戶端剛拿到服務(wù)列表、還沒完成負(fù)載均衡器的預(yù)熱兩個(gè)慢啟動(dòng)堆疊在同一個(gè)請求上從外部感知就是首次調(diào)用特別慢。3.4 定位工具與日志分析技巧定位這種問題你不能只靠猜要用工具把調(diào)用鏈拉出來看。我常用的方式是開啟 Feign 的日志輸出logging.level.項(xiàng)目包名DEBUG觀察首次調(diào)用的日志時(shí)間點(diǎn)。用 Arthas 在線診斷執(zhí)行trace com.example.feign.UserClient getInfo命令能看到方法內(nèi)部各子步驟的耗時(shí)分布。開啟 Nacos Client 的調(diào)試日志觀察注冊中心拉取列表的時(shí)間點(diǎn)。檢查 JVM 的類加載日志-verbose:class確認(rèn)延遲是否來自懶加載。有一次我用 Arthas 追蹤一個(gè)調(diào)用鏈發(fā)現(xiàn)耗時(shí)的大頭不在 Feign 發(fā)請求而是在負(fù)載均衡選擇服務(wù)實(shí)例的時(shí)候。chooseServer方法耗時(shí) 800ms而實(shí)際 HTTP 調(diào)用只耗時(shí) 30ms。這就是典型的服務(wù)列表未就緒、負(fù)載均衡器在等待或重試的場景。提示Arthas 的 trace 命令定位微服務(wù)調(diào)用鏈路延遲非常有效建議每個(gè)排查這類問題的同學(xué)都掌握基本用法。它不需要改代碼生產(chǎn)環(huán)境也能應(yīng)急使用。4. 解決首次調(diào)用慢的配置實(shí)操4.1 服務(wù)端的關(guān)鍵配置解決這個(gè)問題服務(wù)端能做的配置其實(shí)不多但有兩項(xiàng)值得重視。第一項(xiàng)是 Nacos Server 的 JVM 參數(shù)。如果 Nacos Server 自身 GC 頻繁、堆內(nèi)存不夠客戶端請求就會(huì)排隊(duì)間接導(dǎo)致首次調(diào)用慢。Nacos 默認(rèn)的 JVM 參數(shù)偏保守在bin/startup.sh中可以調(diào)整堆內(nèi)存JAVA_OPT${JAVA_OPT} -Xms1g -Xmx1g -Xmn512m如果服務(wù)規(guī)模不大幾臺到幾十臺實(shí)例1G 堆內(nèi)存足夠。第二項(xiàng)是開啟 Nacos Server 的 prometheus 指標(biāo)暴露默認(rèn)已開啟配合監(jiān)控大盤觀察服務(wù)端是否存在連接數(shù)飆高、請求超時(shí)的情況。如果服務(wù)端 CPU 打滿或者頻繁 Full GC那就是另一套調(diào)優(yōu)方案了。但說實(shí)話服務(wù)端配置對首次調(diào)用慢的影響遠(yuǎn)不如客戶端配置直接。大多數(shù)情況下問題出在客戶端下面重點(diǎn)講客戶端配置。4.2 客戶端配置項(xiàng)逐一調(diào)優(yōu)客戶端配置是解決首次調(diào)用慢的主戰(zhàn)場。Spring Cloud Alibaba 的 Nacos 客戶端適配中有幾個(gè)配置項(xiàng)直接影響首次調(diào)用的體驗(yàn)。4.2.1 關(guān)閉服務(wù)端的懶加載Nacos Discovery 客戶端默認(rèn)有一個(gè)開關(guān)控制是否需要等待服務(wù)列表就緒后才對外提供服務(wù)。這個(gè)開關(guān)在 Spring Cloud Alibaba 中通過spring.cloud.discovery.client.health-indicator間接控制。如果你沒有配置任何健康檢查、也沒有設(shè)置服務(wù)列表就緒等待那在極端情況下服務(wù)已經(jīng)暴露端口了但服務(wù)列表還是空的。更具體的配置是 Nacos Client 自身提供了幾個(gè)參數(shù)spring: cloud: nacos: discovery: # 注冊完成之前不進(jìn)行服務(wù)發(fā)現(xiàn) fail-fast: true # 客戶端開啟服務(wù)列表緩存 cache-enabled: truefail-fast這個(gè)參數(shù)的作用是如果客戶端啟動(dòng)時(shí)無法連接 Nacos Server直接快速失敗而不是無限重試。這個(gè)參數(shù)對首次調(diào)用慢的影響是間接的——如果 Nacos Server 短時(shí)不可達(dá)不設(shè)置 fail-fast 的話客戶端會(huì)卡在注冊或拉取配置步驟很久表面上看起來就是服務(wù)啟動(dòng)后首次調(diào)用非常慢。4.2.2 關(guān)鍵設(shè)置合理的負(fù)載均衡預(yù)熱這是最重要的一項(xiàng)配置。Spring Cloud LoadBalancer 默認(rèn)在首次調(diào)用時(shí)才去查詢服務(wù)實(shí)例列表并建立負(fù)載均衡策略??梢酝ㄟ^開啟饑餓加載eager-load來提前初始化spring: cloud: loadbalancer: eager-load: enabled: true clients: user-service, order-service, stock-service開啟后應(yīng)用啟動(dòng)時(shí)就會(huì)提前初始化指定服務(wù)的負(fù)載均衡器避免第一次調(diào)用時(shí)才去加載。Spring Cloud LoadBalancer 的實(shí)現(xiàn)邏輯是BlockingLoadBalancerClient或ReactiveLoadBalancerClient在調(diào)用choose方法時(shí)會(huì)調(diào)用ServiceInstanceListSupplier獲取實(shí)例列表。默認(rèn)情況下這個(gè) supplier 是懶加載的也就是調(diào)用時(shí)才去 Nacos 拉取列表。而開啟 eager-load 后會(huì)在應(yīng)用啟動(dòng)時(shí)主動(dòng)調(diào)用一次把列表緩存到本地后續(xù)調(diào)用直接從緩存取。我實(shí)測下來開啟 eager-load 后首次調(diào)用的耗時(shí)可以從 1.3 秒降到 150ms 左右基本接近正常水平。注意clients要配置為需要預(yù)熱的服務(wù)名多個(gè)服務(wù)用逗號分隔。這里不能偷懶地寫*或者all沒有這樣的通配符必須顯式列出。4.2.3 調(diào)整 Nacos 客戶端的服務(wù)列表獲取行為Nacos Client 在服務(wù)發(fā)現(xiàn)時(shí)默認(rèn)是先從本地緩存讀取服務(wù)列表再異步去服務(wù)端更新列表還是每次實(shí)時(shí)調(diào)服務(wù)端接口這個(gè)行為由 Nacos Client 的內(nèi)部機(jī)制決定在客戶端配置文件nacos.properties中有一個(gè)namingLoadCacheAtStart配置namingLoadCacheAtStarttrue默認(rèn)情況下這個(gè)值可能是 false意味著客戶端啟動(dòng)時(shí)不會(huì)主動(dòng)加載本地緩存文件中的服務(wù)列表而是等服務(wù)端推送。如果服務(wù)端推送有一點(diǎn)點(diǎn)延遲就會(huì)產(chǎn)生空窗期。把這個(gè)參數(shù)設(shè)為 true可以讓客戶端在啟動(dòng)時(shí)先加載本地磁盤緩存的服務(wù)列表再等待服務(wù)端更新。這個(gè)配置在實(shí)際配置中往往被忽略因?yàn)楹苌儆形恼绿岬剿?。但它在處理服?wù)重啟后快速恢復(fù)調(diào)用的場景里非常有效。4.2.4 配置超時(shí)與重試參數(shù)如果你是使用 OpenFeign 作為服務(wù)調(diào)用框架Feign 自身的超時(shí)和重試配置也需要一并調(diào)整避免首次調(diào)用超時(shí)時(shí)間太短導(dǎo)致失敗feign: client: config: default: connectTimeout: 5000 readTimeout: 10000 compression: request: enabled: true mime-types: text/xml,application/json,application/xml min-request-size: 2048 response: enabled: true連接超時(shí)設(shè)為 5 秒讀超時(shí)設(shè)為 10 秒這是一個(gè)比較穩(wěn)妥的起點(diǎn)。如果你把連接超時(shí)設(shè)成 200ms而首次調(diào)用恰好撞上初始化慢那就直接超時(shí)失敗了表現(xiàn)比慢更糟。4.2.5 線程池預(yù)熱如果你用的是 RestTemplate 或者 OkHttp 這種帶連接池的客戶端線程池的預(yù)熱其實(shí)就是提前發(fā)一個(gè)探測請求。這種手段比較 hack但確實(shí)有效。在應(yīng)用啟動(dòng)完成后主動(dòng)調(diào)用一個(gè)內(nèi)部接口讓 Feign/RestTemplate 完成類加載和連接建立Component public class FeignPreheatRunner implements ApplicationRunner { private final UserClient userClient; public FeignPreheatRunner(UserClient userClient) { this.userClient userClient; } Override public void run(ApplicationArguments args) { // 提前觸發(fā)一次調(diào)用用于初始化代理類和連接池 try { userClient.getInfo(preheat); } catch (Exception ignore) { // 預(yù)熱失敗不影響正常啟動(dòng) } } }這種方式的原理很好理解操作系統(tǒng)和 JVM 層面類加載、動(dòng)態(tài)代理生成、TCP 連接建立都是需要時(shí)間的。第一次調(diào)用這些資源都沒準(zhǔn)備好所以要慢預(yù)熱之后這些資源都在了后續(xù)調(diào)用自然快。4.3 Docker 環(huán)境下的特別注意事項(xiàng)如果你用的是 Docker 部署的 Nacos Server還需要額外注意容器網(wǎng)絡(luò)對首次調(diào)用的影響。一個(gè)常見的場景Nacos Server 跑在 Docker 里客戶端跑在宿主機(jī)上??蛻舳伺渲玫膕erver-addr127.0.0.1:8848初次連接時(shí)如果 Nacos Server 返回給客戶端的服務(wù)實(shí)例 IP 是容器網(wǎng)段地址而客戶端無法訪問這個(gè)網(wǎng)段就會(huì)導(dǎo)致連接失敗。首次調(diào)用時(shí)客戶端需要重新建立連接而連接失敗的重試時(shí)間往往比較長。另一個(gè)場景客戶端跑在 Docker 容器里Nacos Server 在宿主機(jī)上??蛻舳死锏?27.0.0.1指向的是容器自身而不是宿主機(jī)的 Nacos Server。這個(gè)可以說是新手最容易踩的坑。解決方法是配置為宿主機(jī)的局域網(wǎng) IP或者使用 Docker 的host_network模式。Docker 環(huán)境下還經(jīng)常遇到 DNS 解析慢的問題。如果 Nacos 用了域名而不是 IP容器內(nèi) DNS 解析延遲會(huì)直接疊加到首次調(diào)用耗時(shí)上。解決方法是讓 Nacos 服務(wù)端注冊為 IP 地址而不是主機(jī)名客戶端也盡量用 IP。4.4 完整配置參考可直接復(fù)制把上面所有客戶端配置匯總成一個(gè)相對完整的版本spring: application: name: order-service cloud: nacos: discovery: server-addr: nacos.example.com:8848 namespace: public group: DEFAULT_GROUP register-enabled: true fail-fast: true cache-enabled: true config: server-addr: nacos.example.com:8848 file-extension: yaml namespace: public group: DEFAULT_GROUP refresh-enabled: true loadbalancer: eager-load: enabled: true clients: user-service, stock-service啟動(dòng)應(yīng)用時(shí)額外加上 JVM 參數(shù)java -jar order-service.jar \ -Dnacos.naming.cache.dir/opt/nacos/cache \ -Dnacos.logging.default.config.enabledfalse-Dnacos.naming.cache.dir指定服務(wù)列表本地緩存目錄方便排查時(shí)直接查看緩存內(nèi)容。5. Nacos 健康檢查機(jī)制與配置補(bǔ)充5.1 健康檢查的基礎(chǔ)概念Nacos 的健康檢查分為兩個(gè)層面服務(wù)端視角的健康檢查和客戶端視角的健康檢查。服務(wù)端視角Nacos 會(huì)定期檢查臨時(shí)實(shí)例的存活狀態(tài)。臨時(shí)實(shí)例ephemeraltrue通過客戶端心跳續(xù)約默認(rèn)心跳間隔 5 秒超時(shí)時(shí)間 15 秒持久化實(shí)例ephemeralfalse由服務(wù)端主動(dòng)探測探測路徑為/actuator/health。客戶端視角Spring Cloud Alibaba 的健康檢查器會(huì)定期檢查服務(wù)列表是否就緒如果服務(wù)列表為空會(huì)把該服務(wù)標(biāo)記為不健康。這就是spring.cloud.discovery.client.health-indicator.enabledtrue配置的作用。完整的健康檢查配置如下management: endpoints: web: exposure: include: health,info,metrics health: nacos: enabled: true5.2 健康檢查與首次調(diào)用的關(guān)聯(lián)健康檢查和首次調(diào)用慢有什么關(guān)系關(guān)系大得很。如果上游服務(wù)有一個(gè)定期健康檢查器它每 30 秒檢查一次下游服務(wù)列表那么服務(wù)剛啟動(dòng)時(shí)如果健康檢查失敗因?yàn)榉?wù)列表還沒就緒這個(gè)失敗狀態(tài)會(huì)被標(biāo)記在注冊中心。此時(shí)如果其他服務(wù)嘗試調(diào)用這個(gè)剛啟動(dòng)的服務(wù)會(huì)發(fā)現(xiàn)它是不健康的于是拒絕調(diào)用或者走重試邏輯導(dǎo)致首次調(diào)用慢。這種問題的解法是調(diào)整健康檢查器的狀態(tài)讓服務(wù)在啟動(dòng)初期不被標(biāo)記為不健康或者把健康檢查器的啟動(dòng)延遲調(diào)大spring: cloud: discovery: client: health-indicator: enabled: trueNacos Client 內(nèi)部有一個(gè)NacosWatch組件它每隔一段時(shí)間拉取服務(wù)列表并檢查所有健康狀態(tài)。如果你發(fā)現(xiàn)服務(wù)啟動(dòng)后需要等 30 秒左右才能被正常調(diào)用八九不離十跟這個(gè)NacosWatch的默認(rèn)重試間隔有關(guān)系。5.3 配置適度原則避免過度優(yōu)化這里必須潑一盆冷水Nacos 的配置不是越多越好也不是所有優(yōu)化手段都該一起上。我見過有人把健康檢查的間隔從 30 秒調(diào)到 1 秒把心跳間隔從 5 秒調(diào)到 1 秒把所有超時(shí)時(shí)間都調(diào)成 10 秒以上結(jié)果 Nacos Server 負(fù)載暴增服務(wù)端 GC 頻繁整體性能反而更差。你要清楚每個(gè)配置項(xiàng)背后的代價(jià)心跳間隔越短N(yùn)acos Server 收到的請求越多服務(wù)端壓力越大。健康檢查越頻繁客戶端和服務(wù)端的網(wǎng)絡(luò)開銷越高。負(fù)載均衡預(yù)熱服務(wù)越多應(yīng)用啟動(dòng)時(shí)間越長。所以我的建議是如果服務(wù)規(guī)模不大優(yōu)先做負(fù)載均衡預(yù)熱 Nacos 客戶端參數(shù)微調(diào)這兩個(gè)動(dòng)作其他配置按需追加。先解決主要矛盾再處理次要矛盾。6. 常見問題與排查技巧6.1 問題速查表問題現(xiàn)象可能原因解決方案首次調(diào)用慢后續(xù)正常負(fù)載均衡懶加載開啟 eager-load預(yù)熱指定服務(wù)服務(wù)啟動(dòng)后一段時(shí)間內(nèi)無法被調(diào)用NacosWatch 未就緒檢查spring.cloud.discovery.client.health-indicator.enabled結(jié)合健康檢查線程池調(diào)優(yōu)注冊成功但調(diào)用超時(shí)gRPC 端口 9848 不通檢查防火墻和 Docker 端口映射配置中心拉取慢網(wǎng)絡(luò)延遲或超時(shí)設(shè)置不合理調(diào)整spring.cloud.nacos.config.timeout首次調(diào)用時(shí)連接被拒絕客戶端初始化連接池過慢通過 Feign/RestTemplate 預(yù)熱或調(diào)整連接池參數(shù)服務(wù)重啟后第一次調(diào)用極慢本地緩存未加載設(shè)置namingLoadCacheAtStarttrue6.2 排查技巧與工具清單實(shí)際排障過程中我總結(jié)了一套固定動(dòng)作分享出來供參考第一步看 Nacos 客戶端日志。Nacos 日志記錄了注冊、訂閱、心跳全過程的詳細(xì)時(shí)間線是定位問題最直接的信息源。用grep過濾關(guān)鍵字即可grep -E register|subscribe|heartbeat|service list|get service logs/nacos/nacos-client.log | head -50第二步抓線程狀態(tài)。如果首次調(diào)用卡住用jstack看看卡在哪個(gè)線程。如果線程停留在SocketRead或者WAITING狀態(tài)十有八九是在等 Nacos 的響應(yīng)。第三步用 Arthas 做方法級追蹤。剛才提到的trace命令可以直接看到NacosServiceManager或LoadBalancer的內(nèi)部調(diào)用耗時(shí)分布不用改代碼就能定位熱點(diǎn)。第四步檢查網(wǎng)絡(luò)鏈路。用telnet或nc驗(yàn)證 8848 和 9848 端口是否連通。這一步最簡單但能排除一半以上的問題。6.3 采坑經(jīng)驗(yàn)匯總我在處理 Nacos 問題的過程中攢下了一些很有意思的踩坑經(jīng)驗(yàn)挑幾個(gè)典型的分享第一版本混用的問題。某個(gè)項(xiàng)目里注冊中心用的是 Nacos Server 1.4.2但客戶端依賴被 Spring Cloud Alibaba 自動(dòng)升級到了 2.x。2.x 的客戶端會(huì)嘗試通過 gRPC 連接服務(wù)端而 1.4.2 的 Server 不支持 gRPC于是客戶端在兼容模式下退回到 1.x 的 HTTP 連接。這個(gè)回退過程在日志里幾乎看不到不對日志里會(huì)有一條明顯的連接異常記錄但很多人沒細(xì)看就導(dǎo)致每次首次調(diào)用都慢。排查這個(gè)問題時(shí)第一件事就是確認(rèn)服務(wù)端和客戶端的大版本是否一致。第二多網(wǎng)卡問題。服務(wù)器上有多塊網(wǎng)卡Nacos 客戶端注冊時(shí)選錯(cuò)了網(wǎng)卡 IP注冊的地址不可達(dá)。服務(wù)調(diào)用方拿到這個(gè)不可達(dá)的地址第一次連接就會(huì)超時(shí)。解決方法是顯式指定客戶端的 IPspring: cloud: nacos: discovery: ip: 192.168.1.100第三Spring Cloud 上下文刷新導(dǎo)致配置丟失。項(xiàng)目里用了RefreshScope在配置變更后觸發(fā)刷新但刷新過程中 Feign 客戶端被重建了重建后的客戶端是冷啟動(dòng)的就會(huì)出現(xiàn)非首次調(diào)用也慢的假象。這個(gè)坑很容易誤判為 Nacos 的問題其實(shí)只是上下文刷新導(dǎo)致的懶加載重來。6.4 快速驗(yàn)證優(yōu)化效果的方法每次調(diào)整完配置都建議做一個(gè)標(biāo)準(zhǔn)化的驗(yàn)證不然你無法判斷這次優(yōu)化到底有沒有效果。我的驗(yàn)證流程是重啟服務(wù)清理所有本地緩存文件。記錄服務(wù)啟動(dòng)完成的時(shí)間點(diǎn)。立即發(fā)起第一次調(diào)用記錄耗時(shí)。連續(xù)調(diào)用 10 次記錄平均耗時(shí)。對比優(yōu)化前后的數(shù)據(jù)。如果首次調(diào)用耗時(shí)下降超過 50%說明優(yōu)化生效了如果變化不明顯那就需要回到日志分析環(huán)節(jié)看看耗時(shí)到底消耗在哪一步。7. 實(shí)際操作中的一點(diǎn)體會(huì)最后聊點(diǎn)實(shí)際的。Nacos 首次調(diào)用慢這個(gè)問題網(wǎng)上能搜到大量資料但每個(gè)團(tuán)隊(duì)的環(huán)境都不一樣直接抄別人的配置不一定好用。我個(gè)人在實(shí)戰(zhàn)中最大的體會(huì)是不要一上來就改配置先花十分鐘看日志把慢的環(huán)節(jié)確認(rèn)清楚。大多數(shù)情況下問題定位準(zhǔn)確之后真正需要改的配置往往只有一兩個(gè)。我自己的習(xí)慣是加入 Nacos 的項(xiàng)目會(huì)提前把nacos-client.log的日志級別調(diào)到 DEBUG 并歸檔保留這樣出問題的時(shí)候有據(jù)可查。同時(shí)會(huì)在項(xiàng)目里放一個(gè)啟動(dòng)自檢的接口專門用來觸發(fā) Feign 客戶端的預(yù)熱和一個(gè)無業(yè)務(wù)邏輯的服務(wù)發(fā)現(xiàn)查詢這樣既能順帶做健康檢查又能把首次調(diào)用慢的風(fēng)險(xiǎn)轉(zhuǎn)移到啟動(dòng)流程內(nèi)部而不是暴露給真實(shí)的業(yè)務(wù)請求。還有一個(gè)小技巧如果你在壓測或者聯(lián)調(diào)環(huán)境下需要頻繁重啟服務(wù)可以考慮在啟動(dòng)參數(shù)中加-Dnacos.naming.cache.dir指定一個(gè)持久化的緩存目錄這樣服務(wù)重啟后還能復(fù)用上一次的本地緩存減少服務(wù)列表拉取的等待時(shí)間。這個(gè)方向還可以延伸一步Nacos 集群模式下多個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)一致性、Client 端從哪個(gè)節(jié)點(diǎn)拉取最新列表的調(diào)度策略都會(huì)影響服務(wù)的發(fā)現(xiàn)延遲。如果你們團(tuán)隊(duì)的 Nacos 規(guī)模比較大建議后面在做容量規(guī)劃時(shí)把客戶端的注冊、心跳、訂閱請求量納入評估而不是只盯著服務(wù)端 CPU 和內(nèi)存用。先把客戶端這側(cè)的基礎(chǔ)打牢服務(wù)端才能真的省心。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
开心五月婷婷激情| 亚洲人久久久网| 日日夜夜模| 午夜噜噜噜| 日韩无码视频黄色| 五月丁香六月激情| 精品欧美乱码久| 草莓精品视频在线免费观看| av午夜玫瑰| 99热线麻豆| 狠狠91| 国产亚洲色婷婷久久99精品91葵花宝典| 91久热| 亚洲黄色网址| 91碰碰碰| 欧美啪啪色吧在线| Av色五月| 搞中出久久| 天天摸天天舔天天操| 操婢日韩| 99精品无码| 午夜120视频在线观看| 超硑97精品| 国产精品白丝在线播放| 九九九九免费高| 国产亚洲性生活视频播放| 东京成人一区| 亚洲黄网在哪免费看| 天天天操天天天爱| 成人综合色网| av天堂精品久久| 男人把坤坤插入女人的下体 | 亚洲五码一区二区三区| 青青草一区二区高清无码视频| www超碰| 精品美女久久久久| 91美女视频。| 久操 高清| 欧美激情中文字幕另类小说| 欧美第二页| 涩涩久久精品| 99色悠悠| 国产农村一一级特黄毛片| 久久久久久久| 免费成人在线熟妇网| 操高情无码| 蜜桃av色偷偷av老熟女| 中文字幕免费在线观看| 亚洲美女黄色| 一区 欧美 日韩 麻豆| 欧美亚洲日本激情在线| 一区二区三区黄片免费观看| 日本成人免费一区二区三区| 日韩啪啪视频| 欧美97网| 日本Suv精品一区二区| 午夜毛片高清免费不卡| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 欧美黄片视频在线观看免费| 五月丁香拍拍激情综合三级| 日逼视频日本| 国产AV毛片| 欧美色院| 蜜臀中文字幕| 欧美色图亚洲激情| 99无码狠狠久久| 亚洲国产综合图区中文字幕| 中文久久| 日韩操p| 黄片免费日韩| 日韩另类色图| 一区中文字幕二区日韩| 98超碰日本| 久草精品一区| 国产精品白丝AV| 清纯唯美综合| 亚洲av国产av综合av卡| 一级日本牲交大片好爽在线看| 成人毛片免费| 超97在线精品视频| 国产精品久久久久久 百度| 一牛影视成人片免费| 在线看免费无码AV天堂的| 色狠狠色| 国产精品熟女九九九| 久久久久久久久久久久欧美日| 亚洲涩图欧美| 久久超碰com| 青娱乐欧美激情一区二区| 青娱乐国产盛宴视频| 不卡啪啪视频| 无码视频一区二区| 日骚逼视频| 日本操逼视频不卡直接放| 综合一区中亚洲国产成人综合精品| 欧美夜夜狠| 性生活无遮挡纯毛片在线看| 啊v在线观看视频| av强奸乱轮| 国内精品999| 男人的天堂三级| 中文字幕后石码四区五区| 高清有码一区二区| 亚洲综合春色| 欧美性性性| 国语国产操逼伊人AV网| 清清草影| 成人av在线播放| 午夜αv| 亚洲无码一区二区三区三州| 性九九九九九九| 九九视频黄色片| 九九热免费视频| 乱操9999| 久久婷婷五月综合| 色综合大香蕉| 日本一区二区三区精品| 青青操网| 99国产精品久久久在线播放| A V视频日本| 久久內射| 日本亚洲熟女视频| 麻豆天美在线| 欧洲综合视频| www.99中文字幕| 91丝袜在线视频| 国产av又色又爽又黄| 西西美女视频网| 亚洲无吗在线视频| 91美女在线| 狠狠干综合| 日韩免费a级毛片无码a∨| 黑人中出21连凳花野真衣| 又大又大又大又粗爽高潮观看| 97超碰jingpin| 久热在线精品免费观看| 亚洲蜜臀精品视频久久| 操一区| 欧美精品日韩一区二区| 九七超碰| 天天影视综合色| 另类综合另类| 乱伦系列一区二区| 操一操摸一摸| 91亚洲人| 日本最新1区2区3区| 日本高清有码网址视频| 欧美性生活男人的天堂| 少妇的嫩逼图片| 97 九色| 97超碰69| 96AV精品| 天天综合网一91网| 色综合天天| 国产精品久久久久久片| 色色色欧美| 欧美大香蕉久| 狠狠操狠狠操操| 色婷婷A V一二三四区麻豆综合| 丁香激情五月| 国产精品一区二区三区在线密挑| 欧美日韩香蕉| 国产精品久久99日日| 操一操摸一摸| 欧美高清18A片| 91老熟女| 无码不卡亚洲成?人片| 好吊色综合| 久久大香蕉97| 安微少妇操BBB| 欧美96交| AV中亚| 中文字幕一区二区视频在线观看| 99热一区二区三区四区| 乱伦强奸区日韩| 综合久久99| 免费a级毛片av无码久久精品中文字幕| 欧美亚洲综合高清在线| 强奸乱伦AV一天堂网| 久久久新亚洲AV| 另类天堂| 凸凹视频在线观看| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日本精品88888888| 夜色97| Av手机版天堂网| 中文字幕交换人妻| 丁香九月婷婷| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 国产精品成人在线| 国内精品久久人妻性色av| 色九九综合AV| 色欧美天天| 高清无码久操视频| 午夜福利成人免费视频| 国产精品国产精品国产| 骚逼一区二区| 少妇超碰在线| 在免费jIzzjIzz在线视频| 91亚洲人| 好爽要喷了| 久久不卡一区二区| 婷婷日韩一区二区三区中文字幕在线| 亚洲天堂人妻熟妇视频| 色汉综合| 亚洲第一页色网| 欧洲精品久久| 婷婷15月天青娱乐| 高跟伊人julia ann| 六九九九| 欧州色图区| 新版天堂中文资源8在线| 日韩精品色呦呦| 中文?日韩?免费?精品| 久久精品店| 茄子社区国产精品| 97国产综合欧美| 91+欧美| 95人妻爽爽人人做人人澡| 九九性爱网| 性开放中文AV高清无码免费看| 夜夜草我| 免费一级黄色录像影片| 国产精品一级毛片不卡视| 操婢日韩| 手机在线中文字幕国产| 日本日皮视频逼| 国产精品视频精品一二| 色99视频| 欧美三级免费伊人| 国产人妻精品一区二区三区秋霞 | 91精品少妇搡搡搡| 精品夜夜澡人妻无码AV| 欧美资源| 人妻81p| 亚洲色图殴美色图激情乱伦| 夜夜爽77777| 人人色人人射人人妻| 天天综合网国产| 99re9这里只有精品| 91精品久久久久久久久久| 九九久久国产精品怡红院| 亚洲欧美骚| 99e久久国产精品| 欧美特大黄一级片片免费| 狠狠中文字幕| 伊人视频| 国产毛片久久久久久久| 久久香蕉影院| 麻豆精品三区视频| 天天干,夜夜爽| 色色99| 欧美三四五区| 做爱A级亚欧| 99欧美| 欧美一区二区日韩传媒搭讪精品| 91男女| 操东北女人| xxx0国产在线播放| 东北黄色电影| 大色网久久| 福利操逼| 内射黑人| 久久精品无码一区二区三区| 超碰在线观看av不卡| 性色乱AV一区二区| 久久东京热成人| 国产亚洲日韩欧| 成人AV在线电影| 大屁股国产在线视频| 色91综合网| 久久久亚洲精品中文字幕人妻| 韩国一级AAA| 后入人妻一区| 欧美日韩大黄片| 按摩中文字幕| 俺去啦俺来也久久综合| 久久超碰免费的| 日本黄大片在线观看视频| 日韩内射视频| 少妇无码av专区线| 色踪合AV| 欧美一级黄片免费播放| 4tube欧美女厕所| 99久久久久| 日本三级精品| 国产精品久久久亚洲一区| 97超碰超碰| 宅男91视频在线播放| 国产精品久久久久久久久久梁医生| 综合网,亚洲,欧美| www鬼畜国产男人的天堂| 91亚洲情色| 青娱乐亚洲热| 中文字幕五月婷婷免费| 另类专区加勒比| 久久久久亚洲Aⅴ无码| 亚洲影视第一页| 嫖老熟女A片一二三区| 老熟女阿 国产91| 久久色一区| 日韩精品免费高清视频在线| 9美女超碰在线免费观看| 久草综合京东| 一本大道不卡一二三区| 美女91在线| 国产女同性恋视频| 中文字幕成人| 51一区二区三区| 天天澡天天爽日日AV| juliaann丝袜大战黑鬼| 五月天丁香网| 欧美天堂亚洲电影院一区在线播放| 久久香蕉综合一本到3atv| 亚洲综合97| 台湾佬中文娱乐网久久久久久久久久com| 天堂种子在线www网资源| 青青草国产欧美非洲黑人| 免费网站观看www在线观| 天天综合色| av最新免费中文字幕| 成人草草视频| 2017天天透天天通天天擦| 天天日天天爽| 日本三级大片| 调教熟妇 久久久久久| 操逼啊啊啊91| 2019天天干天天操| 国产性爱在线视频一区二区| 欧美日韩黄片精品在线| 成人免费毛片| 黄色大片免费在线| 国产v亚洲v日韩v欧美v片另类| www.av在线观看| 74成人在线| 中英熟女操女| 青青操网| 欧美精品精品一区二区| 欧美综合91| 91中文字幕在线观看| 超碰久在线天天做| 日本欧美m v精品网站加| 综合亚洲情色| 午夜精品久久久久久久99热影院| 免费9 1久久| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | yaouchengrenav| 网站A V在线| 老外又粗又长一晚做五次| 亚洲欧美日韩制服另类| 国产美女裸体秘 永久无遮挡| 日韩乱伦影音先锋| 影音先锋国产精品| 91精品国产综合久久久蜜臀| 欧美精品三级黄片| 91精片| 日本淫乱女一区二区三区视频| 欧美福利视频啊啊啊啊| 国产性爱乱伦AV| 高跟丝袜AV专区国产| 91天堂色男人的天堂| 五月婷婷六月丁香| 搡老女人老91妇女熟女| 四虎在线视频| 大香交| 亚欧性爱ab| 亚洲天堂欧美| 日韩二区三四区五区六区在线看| 国产情色第一第二页在线观看| 91jk色拍| 国产精品国产| 啊啊啊免费视频| www.黄色在线| 中文字幕高清20页视频| 久久蜜桃一区二区| 免费福利视频中文字幕| 任你草| 操国产逼| 国产在线视视频有精品| 不卡码视频| 国产热av| 天天看夜夜看日日干| 最新日产中文在线麻豆| 97 超碰 人人做 人人爱| 免费国产| 久久直播国产| 日本久久999| 中文字幕奈奈美被公侵犯| 99精品网| 国产三级中文字幕粉嫩| 久久亚州精品成人Av无| 男人的天堂在线有码| 欧美综合中文| 亚洲AV无码成人精品久久| 亚洲涩涩| 精品性爱一区二区| 日本性一区| 精品高清一区二区三区三州| 国产女同性恋视频| 国产又黄又粗又猛大片| 天天久久| 屌逼麻豆| 亚洲成aⅴ人片不卡无码| 久草国产在线视频| 丰满丝袜少妇AV| 操婷婷逼| 中文字幕日韩专区精品系列| 韩日巨乳美女免费视频在线观看| 婷婷伊人网| 思思久热在线精品66| 91高潮喷水美女| 99久视频| 国产精品久久久久久久黄无码 | 婷婷8月天青娱乐| 麻豆AV一区二区| 免费强奸av| 女性喷水高潮在线观看| 日韩成人小视频| 国厂麻豆77q4| 久久啊哟| 91丝袜美女国产| 亚洲九月丁香| 人人摸.人人色| 国产一级片| 亚洲男人久久综合天堂| 97视频在线播放| 97草草| 人妻少妇色综合| 啊啊啊 在线观看| 国产成人无码久久精品| 日韩人妻播放| 91高清无码下载| 黄片qw| 91被操| 极品国产内射| 丰满熟女一区二区三区在线播放| 亚洲 日本 不卡| 97在线播放 | 免費黃色視頻觀看一| 日韩美女操b| AV一区观看| 国产一进一出视频网站| 18禁无码永久免费无限制| 国产成久久综合片| 综合网,亚洲,欧美| 无码天天操| 午夜福利区| 亚洲乱熟女一区二区三区大香蕉| 舔足天天操天天射| 成人在线午夜视频一区| 超碰公开久久网| 免费A V在线播放| 日韩综合97p| 成人A片男人的天堂| 男人天堂新| 日韩无码服务区| 免费观看欧美日韩操逼视频| 日韩在线一区高清在线| 精品传媒在线一区| 岛国不卡超碰护士AV在线播放| 玖玖97综合 | 日韩亚洲国产视频| 国产午夜在线观看| 97在线观看免费视频| 伊人嫩草| 大香交| 九草九九九| 香蕉免费一区二区三区不读 | 欧美v亚洲v日韩v最新在线二区| 青青操网| 97操| 亚洲天堂男| 安微少妇操BBB| 超碰视97中文| 92大香蕉| 欧美性色网| 999综合网| 午夜男人的天堂| 校园春色 亚洲| 蜜桃臀一区二区三区久久| 好爽免费视频,| 日韩久射综合| 午夜传煤十二区精品| 清纯唯美综合| 乱操乱伦AV| 亚洲影院无码在线| 国产激情av女片自拍| 六月婷婷综合| 久久色激情一区二区三区| 欧美亚综合色图| k频道色撸撸| 青青操在线视频| 国产一二三福利视频网| 99热伊人| 伊人五月天婷婷| 一级黄色牲爱A级片| 四虎影院成年人片| 国产精品一区二区在钱播放| 国产精品久久久久久久久久久久久久久久久久 | 欧美体内射精| 女人综合网| 中文字幕日韩精品久久| 999岛国大片| 中文字幕精品人妻丝袜| 日韩色图 一区二区| 蜜臀久久99精品久久久久久酒店| 老司机深夜18禁污污网站| 黄色片大香蕉| 欧美中文狠| 天天日天天干少妇日| 18禁中文字幕| 超碰97资源大奶| 99这里都是精品| 综合网欧美在线| 人人澡综合涩| 97干97色| 婷婷综合| 欧美综合自拍亚洲综合图| 黄色无码高清黄色无码网站| 欧美啪啪女女| 欧美在线中M| 看免费的黄片| 夜夜狼人妻| 性欧美91| 99熟女| 日日做夜狠狠爱欧美黑人| 男人的天堂va| 99热精品在线| 蜜汁欧美| 亚洲第一在线视频| 夜夜青青无码影院| 欧美一级久久久久久久大片动画| 国精品一区二区三| 精品国产乱码久久久久久蜜臀| 你懂得91| 亚洲精品国产拍免费91在线| 日韩黄色一区二区三区| 秋霞鲁丝午夜无码一区二区三| AⅤ片水多多| 2025亚洲男人天堂| 中文字幕视频在线观看一区二区| 91白嫩| 人妻激情另类| 国产精品成久久久久午夜午夜| 神马久久久久眼| 91在线视频国产网站| 欧美极品女人的天堂| 人人操人人93| 日韩精品操少妇| 思思热er精品视频| 人妻欧美| 亚洲欧洲第二视频在线观看色图| 久操com| 亚洲色图片区| 亚州精人品大香蕉| 国产精品美女视频诱惑| 成人A片男人的天堂| 在线岛| 中文字幕无码不卡啪啪| 国产女上位好爽在线| 国产av强奸美女| 人人操超碰在线| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | aaaa少妇高潮大片| 一区三区啪啪| 乱伦一二三| 日本久久久精品电影| A V少妇特黄三级| 26uuu国产日韩综合在线观看| 精品国产a∨一区天美传媒| 97超碰色五月| 婷婷五月天影院| 日韩免费中文字幕视频| 好湿好紧视频| 997色在线| 久久久久9999妇女| 天天综合亚在线| 九九色图| 乱伦熟女区| 国产黄片精品在线| 色屁屁影院www国产| 亚洲精品97久久| 亚洲欧美啪啪| 东北女人操比视频| 美女97超碰| 嗯嗯啊啊视频在线看| 在线观看色视频| 一起草欧美| 国产午夜福利电影免费在线观看 | 999久久芭蕾| 国产最新小视频在线播放下载| 国产丝袜一区二区三区| 亚洲在钱| 99re6在线视频播放免费精品| 欧美色图片欧美色图| 亚洲色图自拍| 偷拍亚洲视频一区二区三区四区| 欧美日韩精品久久久久东北老熟妇| 青女在线| 东京热不卡视频| 亚洲人91| 精品国产乱码久久久影院| 亚州图片第一页| 学生妹天天看| 91A欧美电影网站| 欧美黄色手机在线观看| 国产又猛又粗又爽又黄| 26uuu性物| 亚洲色图殴美色图激情乱伦| 婷婷亚洲天堂| 乱人伦 国语对白:视频直接看| 99久热| 高潮嗯啊性感美女久久久| 亚洲的天堂网| 91精品在线播放| 国产精品人妻免费精品| 无码高清专| 国产成人网址| 国产日韩手机视频在线| 国内毛片无遮挡国产| 一级性爱啪啪视频| 超碰免费在线| 欧美 日韩 另类 亚洲| 日本在线15p| 国产福利精品98视频| 国产 日韩 欧美高清| 日产狠狠干| 91久久堂| 中文字幕av亚洲精品| 亚洲人妻在线一区| 一区二区三区 丝袜 高跟 美腿| 精品性爱久久视频| 国产97视频| 欧亚性爱在线视频| 伊人影院中文字幕| 啊啊啊啊,啊啊好多水| www久久国产精品| 成人免费不卡在线视频| 超碰人妻中文在线| 欧美国产精品久久九九| 久久久久免费少妇| 丝袜美腿丝袜| 午夜天堂啪啪| nuu12国产麻豆精品| 国产传媒午夜理伦精品| 天无日色综合| 91宗合网| 国产剧情一区在线观看| 91操熟女视频| 曰韩无码777| 女人18精品一区二区三区| 久草免费福利在线播放| 欧美亚洲涩涩| 日本性爱少妇| 熟妇一区,二区,三区。| 不卡啪啪视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 热久久这里只有精品| 72av视频| 欧美日韩性感| 国产一区二区成人av在线播放| 久久人妻四季| 国产高清吃奶免费视频网站| 亚洲色婷婷| 久久有码视频| 国产精品国产拍高清AV| 青青草这里只有精品| 户外裸露刺激视频第一区| 91麻豆一二三区| 少妇高潮对白在线观看| 欧亚韩国999| 亚洲欧美激情在线视频| AV天堂因数| 六月婷婷综合| 久久中出| 美腿色图| 亚洲欧美中文一区二区三| 欧亚韩国999| 超碰 97国产熟女| 377p欧洲日本亚洲大胆| 亚洲色图综合网| 欧美99热| 中文字幕高清精品一区| 精品白丝一区| 日韩图色| 亚洲色欲一区二区三区| 中文字幕精品日韩中文字幕| 漂亮人妻被强中文字幕hd| 97亚洲国产影视| 神马久久久久久伦理片| 九九热只有精品| 国产久久视频| 日韩三级一区 | 天天色粽合合合合合合合| 国产品精品自在在线午夜免费| 久久久久久久久久精| 欧美色日本| 91麻豆天美国产| 花野真衣| 黄片www.| 久久一区二区三区入口| 秋霞一级鲁丝片A片| 欧美性夜| 中文字幕在线免费观看 | 亚洲午夜免费狠狠干| 伊人久久大香大香线蕉中文| 免费看国产曰批40分钟怎么下载| 久久精品熟妇丰满人妻99| 走光一区92下载| 67194无码不卡| 国模限制级电影| 成人 日韩欧美一区| 99热综合| 99激情视频| 92午夜免费福利视频| 色狠狠 - 百度| 免费视频在线一区二区不卡| 神马九九| 女人天堂av在线播放| 色色九区| 午夜操一操| 91麻豆天美| 成人精品久久久午夜福利| 97在线观看| 91天天综合| 午夜小电影在线插入淫高潮| 亚洲巨爆乳一区二区三区四季网| 久久精品午夜国产亚洲AV无码| 国产无码精品无码| 综合av社区| 欧美日产国产在线成人第一区| 岛国网址国产 | 久操操AV电影| 久久久久久久亚洲Av无码| 人妻99p| 按摩中文字幕| 91超碰在线播放| 婷婷五月天色网| 亚洲另类天堂| 人妻乱仑一区二区三区| 男人天堂2019亚洲| 亚州熟妇精品| 91色欧美| 吖在线不卡一区二区国产剧情 | 婷婷久久综合| 日韩一级二级在线| 五月天亚洲网| 襙一襙| 日本综合久久| 青青草大香蕉在线视频| 欧美精品黑人猛交高潮| 国产Aα| 日韩久久三区| 韩日自拍| 黄色电影在线播放综合网站| 亚洲中文字幕三级在线| 香港日本韩国人妇99www.wccm20| 综合久久2017| 久久久久9| 啊啊啊好舒服视频在线观看| 91亚洲图片| 欧美精品日韩久久久九| 欧美日韩丝袜| 欧美欧美少妇| 国产精品久久伊人| 九色 蝌蚪 熟女自| 国产精品呦一区二区三区| 性感女人网页在线观看视频| 老司机福利社视频在线观看| 蜜乳AV.COM| 男人的天堂在线2| 欧美性性性| 天天操夜夜操| 麻豆一区二区AV天美| 日本一本道A级黄色毛片试看60分钟| 伊人丝袜美腿高跟在线观看高清| 日本阿v天堂在线观看| 99色在线| 色香综合| 99国产人成精品| 男女国产精品| 久久极品一区二区| 国产成人欧美精品在线| 岛国AV一区二区电影| 色视频蜜乳| 精品人妻一区二区三区视频| 家庭乱伦性爱av| 九七人妻在线| 狠狠色综合网| 日韩啪啪视频| 91N五十路| 被男人吃奶很爽的毛片| 青青操少妇| 国产又黄又爽又刺激久久久久久| 久久久穴999| 乱操乱伦AV| 啊啊啊啊啊啊啊啊要喷了| 亚洲欧洲日韩天堂av| 91天美传媒在线观看| 婷婷午夜成人色中色| 久久9精品网站| 99热婷婷| 国产成人久久精品蜜臀| 日韩影片中文字幕一区二区三区| 高清一区AV无码| 欧美综合色图网| 国内精品不卡无毒99999| 韩三级a视频在线观看| 青青青草伊人精品| 久操99| 午夜一区二区三区国产| 国产一线二线三线av| 超碰色中文| www.色操逼| 黄人人操人人操| 9118禁| 桑老女人九区| 77国产精品| 久久9精品视频| 国产成人在线观看综合| 亚洲国产av中文字幕久久| 欧美草草高清日韩视频| 美骚妇av高清在线| 久久久精品国产亚洲伊人| 东亚亚洲无码高清| 国产又黄又粗的视频| 欧美在线天堂| 亚洲 中文 欧美 日韩 在线| 夜夜福利| 另类av天堂| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 日本伦乱九九九综合| 亚洲av资源| 欧美性五月| 国产精品蜜乳AV| 九九九999久久久网站| 日本孕妇孕交| 后入式在线免费观看60秒| 亚洲AV免费在线观看| 在线不卡视频| 成人片在线播放| 久久久久久国产手机AV| 2020中文在线一区二区三区| 成人五月天丁香激情综合| 亚洲国产综合图区中文字幕| 精品少妇99| 蜜臀久久99精品久久久| 亚州欧美色图| 国产福利视频精品视频| 欧美亚洲第一页| 蜜乳av一区二区| 福利伊人玖玖国产| 破苞ⅩXXX性无码动漫无码| 色爱国产| 久久精品亚洲婷婷| 免费久久9999| 人妻美腿丝袜日韩| 大香蕉中文在线| 亚洲欧洲av影音| 日韩乱伦AⅤ| 超碰人人干| 亚洲少妇色| 国产精品suv一区| 四虎免费在线播放| 国产91福利小视频在线观看| 日本三级A片网站com| 九九性爱网| 亚洲国男人的天堂| 中文字幕在线2| 大香蕉日韩| 人妻一区视频| 亚洲激情网一二三四区| 97色涩| 伊人麻豆传媒| 多毛小伙内射老太婆| 成人综合久久精品色婷婷| 欧美男女午夜啪啪| 亚洲AV不卡在线观看| 日本一区二区中文字幕久久| 欧美亚洲色图另类国产| 大香交伊人网| 性性久久| а√天堂资源官网在线资源| 国产极品99热在线播放69| 丰满欧美少妇| 高清肉丝中文无码| 日本成a人v网站在线观看| 精品伊人久久久大香线蕉小说| 欧美色图天堂网m| 亚洲天在线| 韩国午夜理伦三级好看| 美女高潮视频91| 人妻第一页| 国产乱伦一二三区| 天天综合网~91入口| 亚州免费啪啪视频| 国产日韩精品suv| 欧美久热| 欧美性夜| 综合网,亚洲,欧美| 国产性爱欧美性爱在线| 亚洲 欧美 精品专区 极品| 九九色综合| 人人妻人人爽一区二区三区| 久久XX| 亚洲脚交| 九九色色| 草草电影院| 91最新综合| 91麻豆天美| 亚洲。日韩。欧美| 日韩AV无码网站| 四虎免费看黄| 操逼1区| 四虎精品永久在线观看| 啊啊啊操一区| 自拍偷拍国产欧美日韩韩| 99re95| 亚洲无码?第一页| 日韩精品资源| 婷婷色一区| 天天懆天天日| …中文字幕亚洲乱,97人妻无码费视…| 成人性爱电影一区二区| 欧美少妇人妻| 亚洲男人天堂2016| 婷婷亚洲天堂| 国产精品直播在线观看直播| 麻豆 亚洲 97| 丁香五月色情| 精品国产91内射久久| 欧美,日韩,中文,另类| 日本一二区免费| www.大香| 日韩电影在线观看网址| 国产乱不卡| 欧美久久久15P| 一级A啪啪啪啪| 国产精品点击进入在线影院高清 | 欧美A√综合网 | 亚洲成熟国产精品美女| 国产精品女aA片爽爽视频| a v网站在线播放| 欧美97爱| AV女资源| 亚洲涩图欧美| 精品无码人妻一区二区免费蜜桃| 免费观看的av| 国模精品娜娜一二三区| 亚洲一区日韩精品中文字幕| yazhouzaixian| 亚洲自拍欧美国产首页网曝| 欧美精品四区| 成片免费播放| 一区二区三区视频在线观看免费| 影视综合无码少妇| 欧美日韩大香蕉| 一区二区三区免费视频入口| 综合色欧美| 久久线上视频免费看| 亚洲精品久久久久久| 色香91| 日韩色图 一区二区| 99re6国产精品99re| 色阁阁AV综合网| 综合欧美日韩在线| 加勒比人妻综合| 欧洲亚洲人人爽爽视频| 97精品97久久| 午夜精品人妻二区三区| 精品欧美日韩在线观看| 激情视频图片| 日日骚av| 亚洲色91| 最新av网站在线观看| 一区,二区,三区视频| 久草婷婷| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 99re综合伊人| 亚洲一区二区av| 又大又大又大又粗爽高潮观看| 欧美精品三级黄片| 国产强奸91| 婷婷操逼| 超碰在线974| 久污| 亚洲性高潮| 91一区二区三区蜜桃| www.91逼逼.com| 九月色婷婷| 男人网站婷婷| 极品色综合| 人妻丰满熟妇一区二区三| 思思性爱| 欧美一区二区情色| 青青草在线视频美女| 91一区二区三区蜜桃| 色官网在线| 国产乱婷婷精品二区三区| 97国产精品久久久久| 9丨久久九九九| 1人人看人人摸人人操| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 一个人在线看的黄色电影网站| 91 丝袜在线观看| 亚洲丝袜诱惑| 国产亚洲精品农村妇女| 东京太热久久久| 骚日日av| 国产精品久久久久无码A√| 日韩乱码av| 国产精品一区二区麻豆| 2018天天干在线视频| 色婷婷综合久久中文字幕雪峰 | 精品夜夜澡人妻无码| 肉丝中文无码高清| a一区二区三区乱码在线| 91精品人妻一区二区三区蜜桃臀| 伊人在线大香蕉视频久久| 国产三级在线现体验区| 色婷婷成人| 欧美日韩性爱操大逼| www.AV有限公司一区| A级片一区| 97中文天堂| 老熟妇91| 99热免费| 久草在线| 99久在线精品99re8热| 91欧洲入口| 欧美三级中文字幕hd| 欧美亚洲国产日本在线,久久精品国产| 男女性无套 免费九一| 日韩一区二区高清在线观看的| 成人色女网| 国产欧美在线观看免费观看| 97视频网站在线观看| 日B操| 国产精品久久久久久久久久久久久久久久久久 | 欧美—性—交—色| 中文字幕大片三级狠狠干| 久久久555| 另类视频在线| 欧美天天综合网版| 东北夫妻性偷拍| 操www| 九九热只有精品| 精品久久久九九九孕妇| 国产欧美日本亚洲精品| 亚洲美女 晚间男人天堂 | 成人性爱美曰韩| 超碰97.com| 亚洲 中文 女同| 日韩卡一卡二卡三在线| 午夜亚洲| 97精品国产手机| 成人资源中文字幕在线观看天天| 日韩一区二区精彩视频| 啊啊啊啊,啊啊好多水| 四虎AV无码| 美国一区二区免费视频| 日本一级特级毛片视频| 在线小视频| 精品99999久久久久久| 亚洲AV无码国产成人| 97爱综合| 麻豆一区二区AV天美| 一区二区蜜臀| 内射白嫩美女| 国产伦精品一区二区三区在线观| 偷拍 欧美 日韩| 深喉吞精| 99福利社| 夜夜综合| 欧美老妇综合网| 日韩另类色图| 家庭乱伦网站国产| 欧美呦呦性爱| 日韩免费簧片| 激情色图| 大香蕉综合网| 人妻丝袜一区二区三区在线| 亚洲情色综合网| 天天天天天天天天综合| 自拍视频大全亚洲专媒视频/一区二区三区 | 熟女乱3伦999| 日本不卡一区二区| 丰满熟女一区二区三区在线播放| 国产精品白丝www| 4tube欧美女厕所| 日本道人妻久久久在线不卡色视频| 欧美亚州色的图| 亚洲熟女乱综合一区二区三区| 神马久久啊啊| 人妻精品4K4K4K4K4| 国产视频一区二区在线| 中文字幕加勒比海高清无码免费视频| 久久国产三区| 一道本东京热加勒比一区二区三区| 欧美一二三区四五区| 免费的av网| 乱老熟女一区二区三区| av久日| 啊啊啊轻点在线观看| 色妇91| 欧亚揄拍偷拍精品视频| 在线免费试看60秒| 久久久久久久9最新免费视频观看| 一区 欧美 日韩 麻豆| 91精品丝袜久久久久久无码人妻| 丝袜性亚洲| 欧美久久人妻少妇一区二区| 综合 青草 伊久久 影院 综合| 91美女丝袜诱惑视频| 性欧美另类高清| 97久久精品亚洲中六字幕| 青青草一区二区三区四| 人妻熟妇一区二区三区| 91色综合| 午夜高清成人在线视频| 亚洲天堂电影精品一区| A啊啊在线观看| 一二三区精品视频| 欧美国产欧美在线观看| 99色在线| 日产123区精品免费观看| 中文久久久| 黄色高清无码无码破解免费暗网| 日韩99999色| 青青青在线高清视频在线一二三四区| 久久精品| 极品极品色影院| 操学生天天| 蜜臀久久久99久久久久| 日韩一级成人毛片免费观看| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 99热| av草草在线电影| 操操操日本的逼| 国产suv精品一区二区四| 神马久久久久久久久| 97人妻免费中文字幕| 色狠狠综合噜一二三区| sewuyueav| 久久99亚洲精品久久99果| 国产精品丝袜久久亚洲不卡| 欧美成熟性爱精品| 日本不卡高清免v欧美日韩在线观看| 夜夜久久久| 国产午夜无码片在线观看影视| 美女91在线观看| 91伊人久| 校园春色亚洲欧洲| 天天看天天干| 开心六月色| 伊人久久综合影院精品久久久| 一区二区三区日韩欧美| 欧亚无码视频| 麻豆一区在线| 中文字幕国产|