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

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í)錄。我會從 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)來就會撞上客戶端暫時(shí)還沒準(zhǔn)備好的尷尬期。2.2 原生部署 Nacos 的基本配置操作先講原生部署。很多團(tuán)隊(duì)在測試環(huán)境會直接用解壓包方式啟動(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ù)庫存儲。默認(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的話會嘗試去連其他節(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á)。端口不通會導(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)還沒刷新就會等待或者重試。第二種配置拉取路徑慢。如果用了 Nacos 配置中心服務(wù)啟動(dòng)時(shí)會先拉取配置再啟動(dòng) Spring 容器。配置拉取的超時(shí)時(shí)間如果設(shè)置得過短在弱網(wǎng)或高延遲環(huán)境下就容易超時(shí)失敗。有些配置中心客戶端框架會在拉不到配置時(shí)直接啟動(dòng)失敗而 Spring Cloud Alibaba 的實(shí)現(xiàn)里對某些配置是允許先用舊配置啟動(dòng)的這個(gè)取舍就會影響首次調(diào)用的時(shí)機(jī)。第三種客戶端線程池初始化慢。Nacos Client 內(nèi)部有獨(dú)立的線程池用于負(fù)載均衡、健康檢查、服務(wù)列表更新。服務(wù)剛啟動(dòng)時(shí)這些線程池才剛創(chuàng)建如果 JVM 的類加載還沒有完成預(yù)熱第一次調(diào)用就會觸發(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)用會慢實(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)存不夠客戶端請求就會排隊(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 的話客戶端會卡在注冊或拉取配置步驟很久表面上看起來就是服務(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í)就會提前初始化指定服務(wù)的負(fù)載均衡器避免第一次調(diào)用時(shí)才去加載。Spring Cloud LoadBalancer 的實(shí)現(xiàn)邏輯是BlockingLoadBalancerClient或ReactiveLoadBalancerClient在調(diào)用choose方法時(shí)會調(diào)用ServiceInstanceListSupplier獲取實(shí)例列表。默認(rèn)情況下這個(gè) supplier 是懶加載的也就是調(diào)用時(shí)才去 Nacos 拉取列表。而開啟 eager-load 后會在應(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í)不會主動(dòng)加載本地緩存文件中的服務(wù)列表而是等服務(wù)端推送。如果服務(wù)端推送有一點(diǎn)點(diǎn)延遲就會產(chǎn)生空窗期。把這個(gè)參數(shù)設(shè)為 true可以讓客戶端在啟動(dòng)時(shí)先加載本地磁盤緩存的服務(wù)列表再等待服務(wù)端更新。這個(gè)配置在實(shí)際配置中往往被忽略因?yàn)楹苌儆形恼绿岬剿5谔幚矸?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)段就會導(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 解析延遲會直接疊加到首次調(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 會定期檢查臨時(shí)實(shí)例的存活狀態(tài)。臨時(shí)實(shí)例ephemeraltrue通過客戶端心跳續(xù)約默認(rèn)心跳間隔 5 秒超時(shí)時(shí)間 15 秒持久化實(shí)例ephemeralfalse由服務(wù)端主動(dòng)探測探測路徑為/actuator/health??蛻舳艘暯荢pring Cloud Alibaba 的健康檢查器會定期檢查服務(wù)列表是否就緒如果服務(wù)列表為空會把該服務(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)會被標(biāo)記在注冊中心。此時(shí)如果其他服務(wù)嘗試調(diào)用這個(gè)剛啟動(dòng)的服務(wù)會發(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 的客戶端會嘗試通過 gRPC 連接服務(wù)端而 1.4.2 的 Server 不支持 gRPC于是客戶端在兼容模式下退回到 1.x 的 HTTP 連接。這個(gè)回退過程在日志里幾乎看不到不對日志里會有一條明顯的連接異常記錄但很多人沒細(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á)的地址第一次連接就會超時(shí)。解決方法是顯式指定客戶端的 IPspring: cloud: nacos: discovery: ip: 192.168.1.100第三Spring Cloud 上下文刷新導(dǎo)致配置丟失。項(xiàng)目里用了RefreshScope在配置變更后觸發(fā)刷新但刷新過程中 Feign 客戶端被重建了重建后的客戶端是冷啟動(dòng)的就會出現(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)體會最后聊點(diǎn)實(shí)際的。Nacos 首次調(diào)用慢這個(gè)問題網(wǎng)上能搜到大量資料但每個(gè)團(tuán)隊(duì)的環(huán)境都不一樣直接抄別人的配置不一定好用。我個(gè)人在實(shí)戰(zhàn)中最大的體會是不要一上來就改配置先花十分鐘看日志把慢的環(huán)節(jié)確認(rèn)清楚。大多數(shù)情況下問題定位準(zhǔn)確之后真正需要改的配置往往只有一兩個(gè)。我自己的習(xí)慣是加入 Nacos 的項(xiàng)目會提前把nacos-client.log的日志級別調(diào)到 DEBUG 并歸檔保留這樣出問題的時(shí)候有據(jù)可查。同時(shí)會在項(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)度策略都會影響服務(wù)的發(fā)現(xiàn)延遲。如果你們團(tuán)隊(duì)的 Nacos 規(guī)模比較大建議后面在做容量規(guī)劃時(shí)把客戶端的注冊、心跳、訂閱請求量納入評估而不是只盯著服務(wù)端 CPU 和內(nèi)存用。先把客戶端這側(cè)的基礎(chǔ)打牢服務(wù)端才能真的省心。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
草久在线| 亚洲久久天堂| 人人操人人叉人人插人人| 亚洲日本天堂| 操九九九九九九| 欧美激情久操网| 国产五码丝袜屁眼| 久久五月婷| 久久久精品中文字幕爱豆| 蜜臀久久99精品| 能看的AV| 69精品久久久久中文字幕| 久艹免费| 麻豆天美在线喷水AV| 国产精品一区二区三区在线密挑| 国产免费一区二区在线A片视频| 五十路三区在线| 亚洲国内精品成人不卡| 国产精品欧美在线观看| 91青青在线视频| 97免费在线视频在线观看| 草草影院最新网址| 私人尤物在线精品不卡| 久久精品操| 日韩 欧美 校园一区| 婷婷五月天丁香| 6080YYY午夜理论片在线观看| 东京热AV男人的天堂| 亚洲影院小综合| 91天堂色男人的天堂| 91福利网在线观看| 强奸国产精品视频| 国产精品爆乳懂色蜜乳| 国内毛片欧美香蕉精品| 亚洲国产一级黄色视频| 亚洲综合欧美| 97综合在线| 无码精品啪啪啪一区二区三区三州 | 亚州九九九精品视频| 青青操青娱乐| 欧美色图天堂在线| 天天插天天射| 97视频在线免费看| 日韩伦理久 久久 清纯| 精品大久久| 深爱五月婷婷| 婷婷五月天在线观看| 国产麻豆福利av在线播放| 亚洲、日韩、综合、另类| 色久桃花影院在线观看| 四虎免费看黄| 内射卯月麻衣| 久久 久久国内精品亚洲| 国产精品天美传媒| 蜜臀久久99精品| 综合91网| 97久久天天综合色天天综合色电影| 精品-91人妻子系列| 国产激情在线观看| 大香蕉伊利av| 超碰 另类 欧美| 大香网伊人久久综合网eew| 四虎视频在线观看| 国产精品网站免费| 日产中文字幕2020| 日韩精品操少妇| 欧美视频激情久久久久久| 九九九网页| 神马久久69| 超碰97在线中文| 国产精品久久久久久夜夜夜夜| 久久中文字幕女同性恋一区| 综合网欧美| 日韩免费中文字幕视频| 日韩精品一区二区日韩| 五月丁香六月激情| 91处女视频在线观看| 欧美人人天天网| 老熟女综合| 精品久久久久久无码| 久久久亚洲欧美综合| AV中文字幕剧情1区2区3| 熟妇国产免费一区| 99热销国产这里有精品| 人人爱人人乐人人操| 伊人精品久久网站| 亚洲日产专区| 日日干男人的天堂| 国产精品久久蜜乳av| 99re超碰| 国产精品久久久无码AV网站| 影音先锋乱| 99re这里只有精品中心播放| 2017大香蕉国产精品久久| 天天躁狠狠躁av| 91久久久亚洲| 亚洲AV无码久久久国产精品| 亚洲男人的天堂AV| 一区二区高清视频| 免费看A片毛毛片在线播| 爱爱60秒免费视频| 人妻熟女一区二区| 370p日韩欧美亚洲精品| 国产女人高潮视频| 国产精品夜夜夜| 免费一级精品啪啪视频| 91 刺激在线| 天堂在线一区二区| 国产91美女视频| 日本1区2区不卡视频| 中文字幕av亚洲在线| 99只有精品| 久9久9久9久9久9久9| 超碰人妻久久| 欧美日韩国第一区| 精品人妻一区二区三区在| 亚乱色| 有码人妻系列| 老熟女综合| 青青草视频这里只有精品| 91伊人久久在线| 日本性爱视频一级| av操操不卡| 九九热精品视频六| 一区二区三区机械有限公司| 麻豆91熟妇人妻中文字幕茄子| 国产成人精品无码久久| 淫色网综合| 大肥女高潮bbwbbwhd视频| 日产狠狠干| 亚洲欧美综合网站| 国产一级作爱毛片| 天天综合,91入口| ..日韩av毛片精品久久久| 中文字幕av色| 精品国产乱码久久久影院| 无码av永久免费专区网站| 亚洲人在线| 亚洲天天在线| 久久久久久久久久精| 久久久久久久九九九九九九| 亚洲日韩东京热一区| 成人午夜小视频手机在线看| 亚洲自拍青操视频| 91精品国产麻豆国产自产在| 噜噜噜在线视频| 亚洲免费97免费| 成人日韩中文字幕| 久久的免费性爱视频| 91亚洲最新在线| 伊人黄色视频免费观看| 国产亚热在线久久| 五月婷婷六月色| 欧洲视频在线| 欧美男女午夜啪啪| 久草视频在线视频在线视频在线观看| 久久久不卡区一区二区三区久久久| 性爱视频无打码在线观看| 看黑人AV不卡| 91精品91久久久久77777| 99久久免费看精品国产一区| 五月丁香六月激情| 日日嗷| 久久黄黄| 中文色综合| 婷婷五月天无码 | 免费精品国偷自产在线在线 | 日韩啪啪啪视频| 99精品在线播放| 97精品网| 伊人久久亚洲色欲综合网站 | 91操操| 国产精品熟女一区二区三区| 一牛一区二区三区久久| 成人电影一区| 可以在线观看的黄色网址| 九九五月天| 精品久久久久,69国产成人精| 岛国黄片网站| 九九久久玖玖| 日本2020一区二区| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 天天综合网亚洲综合网| 亚洲精品97在线| 92久久| 日本精品九九九| 大香蕉啪啪网| 狠狠中文字幕| 国产第25页在线观看| 伊人网高清| 三级网站超变态精品| 精品国产乱码久久久久久久久1| 亚洲国产精品99久久久| 超碰九7| 99re这里| 久久久男人的天堂| 人妻一区二区三区| 婷婷久久综合| 99色视频| 色播五月婷婷| 人妻丝袜无 码视频专区| 人妻熟女av国产网站| 国产亚洲色停停久久99精品91| 精品大全99999| 屌妞视频久久久久久久久久久久| 91国产丝袜足交精品视频| 亚洲成av人片色午夜乱码| 大香蕉www.超碰| 日本成熟少妇A∨网站| 蜜臀va69| 人人妻人人爽| 2023天天操夜夜操| 国产极品馒头逼| 精品无吗m| 亚洲美女 晚间男人天堂 | 鸥美插入视频| 精品乱码久久久久| 亚洲色图第一页| 五月开心久久AV官网| 四虎AV无码| 亚洲欧美九九九| 四虎影库国产精品免费| 精品国产一区二区三区av在线资源| 国产成人自拍视频在线| 大香蕉久| 久久精品一区二区三区不卡| 亚码激情| 久操在97| 黄久在线| 青草精品视频一日本久久久久网站| 国产国产亚洲一二三久久| 欧美天天在线| 亚洲a色| 粉嫩av平台| JIZZJIZZ亚洲女人被躁| 男人女人18禁片免费看网站| 日本色色的视频| 欧美做爰无码A片视频| 国产高潮AA片免费看| 极品色www影院| 欧美亚洲丝袜人妻制服99| 黑丝内射一区二区三区| 大香蕉中文aV在线| av 模特一区了| 91bbbbbb| 岛国免费黄色网址| 欧美麻豆成人同性GⅤ在线| 混色激情av| 搡老女人老妇女老妇老熟女怎么读| 日韩性色b| 亚洲淫色网中文| 久久久久久久久国产| 国产精品大屁股999| 日韩色女精品| 欧美性爱日韩性爱| 丁香六月婷婷| 97色色色综合网站| 久久久久久久9| 人人爱人人乐人人操| 欧美十八禁视频| 亚洲色啪| 国产精品久久久久久久久久久久久久久久久久 | 亚洲影视高清第一页| 婷婷8月天青娱乐| 98久久超碰| 亚洲国产婷婷在线播放| 91久久久久免| 高清肉丝中文无码| 国产三级多多影院2022国产AA一级毛片无码 | 亚洲国产一区二区三区四区国产| 国产精品久久发布| 青青草依人大香蕉| 91艹B视频| 国产丝袜美女诱惑| 蜜桃传媒视频第一区入口在线看| 12一15性XXXX粉嫩国产| 夜夜操av亚洲一区二区| avav青青草久久夜| 国产一级特黄大片处女| 丰满的三级少妇欧美久久久| 精品人人| 欧美激情激情xxxx欧美专区| 欧美日韩香蕉| 丁香婷婷激情五月天无毒不卡| 美女91网址| 国产AV高清AV无码| 色香色欲天天综合网天天来吧| 香蕉综合网| 欧美极品女人的天堂| 小电影欧美91| 黑人无码一区二区| 骚逼一区二区| 青娱乐国产盛宴视频| 九九九九88| 精品国产乱码久久久| 国产精品成人无码av无码免费| 国产精品九9| 日韩干B| 凸凹视频在线观看| 91n免费处女| 超碰人人操97碰| 无码heyzo高清一区| 97欧美| 日韩精品一二三四| 中出后入| 视频黄色国产一级| 日本黄页视频在线观看| 亚洲成人日韩小说| 久久久神马影院| 久久精品日韩| 加勒比人妻综合| 日本一区二区成人在线| 欧美少妇高潮| 人妻天天爽夜夜爽爽| 色五月AV| 大香蕉宗合网在线| 97视频播放| 激情视频网址| 亚洲精品人体| 欧美日韩一干二干| 国产在线观看91精品一区| 国产大片精久久久久久| 狼狼色丁香久久婷婷综合五月 | 欧美高清91| 99无码视频| 亚洲欧美小说| 诱惑人妻欧美一区在线播放| 2017人人操,人人摸| 97久久国产亚洲精品超碰热| 国产99 中文字幕日韩小视频| 亚洲熟妇综合久久久久久| 亚洲最大AV网| 久久系列| 天美传媒Av在线| 91N综合网| 久久人妻四季| 免费在线黄片视频| 97久久超碰国产精品| 日韩情色视频| 搡老女人老妇女AAA一VU麻豆| 国产白丝在线| 精品精品精品| 国产精品人人爽人人做可爱福利| 东京热熟女亚洲视频网站| 丁香九月激情啪| 99久久国产精品免费高潮| 熟女欧美日韩综合婷婷| 99在线精品观看99| 午夜a成v人电影| 九九九只有精品| 大香蕉碰碰| 亚洲97久久精品亚洲| 91痴汉| 超碰国产情侣自拍网| 福利伊人玖玖国产| 91久久青青草原精品| 国产乱弄免费在线视频。| 青青草玖玖爱| 91碰碰| 377p欧洲日本亚洲大胆| 亚洲精品一区二区精品| 欧美97| 日日摸日日碰| 精品亚洲俞拍视频一区| 无码精品久久| 国产亚洲日韩在线三区黑人| 亚春色色| 欧美夜色| 国产丰满少妇久久久精品影院| 色色操| 国产大陆天天艹| 神马久久久久| 欧美一级二级三级| 国产一| 亚洲一二三| 国产原创精品| 亚洲操人| 激情五月天色色| 黄色AAAAA欧美| 日韩综合无码一区久久92| 91美女片在线| 99久久久| 97天天| 亚洲色图8| 乱子伦一区二区三区国产精品| 亚洲s在线观看| 精品福利视频| 夜夜高潮夜夜爽高清视频一| 人妻天天操天天爽视频免费| 色穴精品| 美女主播色欲91抠b在线播放| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 天天影视亚洲| 日夜伊人网| 天天日天天爽| 白嫩少妇| 啊啊啊啊啊好多水| 人妻精品视频一区二区三区| www欧美91| 四虎影视 亚洲无码| 四虎影视 亚洲无码| 91在线/欧洲| 欧美情色贴图| 一本色道久久综合亚洲二区三区| 粉嫩久久久极品| 9 1超碰九色| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 91黑丝在线播放| 久99久视频| 校园春色制服丝袜中文字亚洲| 亚洲精品99| 久久精品人体| 天堂亚洲精品久久老牛| 一本久久久精品| 欧美亚洲系列| 尹人免费观看视频在线| 男人天堂黄片| 无码高清操逼| 一区二区乱码福利| 日韩成人无码| 伊人久久大香线蕉无码| 99久久精品国产高潮| aaa一级黄片| 欧美在线视频99| 91爱| 国产精品久久久久久亚洲色欲| 精品久久久av无码免费| 97摸视频| 男人的天堂2010| 熟妇熟女一区二三区| 色噜噜人妻av中文字幕| 色姑娘综合网| 亚洲天堂AV在线播放| 亚洲中文字幕精品久久久久久直播| 九九色综合| 亚洲不卡不卡中文字幕不卡| 欧美第五页| 女色综合| 顶级丝袜熟女一区二区三区 | 亚洲精品三区在线观看| 久久久久婷婷| 日韩情色AV| 亚洲情欲| 在线可观看的黄色网址| 99.色网| 久久久精品久久| 97中文字幕九区| 亚洲精品无码久久AV| 屌逼传媒| 曰韩香蕉97| 亚洲国产精品无码AV久久久| 69人妻精品一区二区绯色| 熟女自慰久久久| 亚洲熟女人妻中文字幕一区二区| 久热香蕉精品在线视频| 午夜激情床戏激情| 在线不欧美| 亚洲AV操| 亚洲性少妇| 小视频国产| 懂色综合久久久| 蜜臀亚洲中文| 秋霞一集毛片观看| av中文字幕在线熟女| 97色冈| 青青青青青手机视频| 再深点灬舒服灬太大了添视频| 久99| 日本色日夜干| av资源在线播放天堂| 九九成人精品| 国产中文字幕在线点播| 欧美三级不卡| 国产午夜精品理论片一二三区区| 6080yy午夜理论三级一区二区三区无码| 97在线青| 久久久久久久久久久久黄色 | 人人爱夜夜爱| 国产精品电| 日本人人操人人操| AV天黑人| 久久香蕉综合一本到3atv| 久草男人天堂| 日韩乱伦影音先锋| 欧美色图另类图片| 九九黄色网| 18+91网站| 亚洲天堂男人在线| 97视频免费在线观看| 欧美九9 9 9| 97超碰久久| 97视频网站在线观看| 97在线免费视频观看| 蜜桃色色网站视频三区| 国产精品不卡av免费在线观看| 亚 欧 美 综合| 国产欧美日本亚洲精品| 东北女人操比视频| 国产乱人伦AVA麻豆软件.| 欧美综色欧| 欧美国产日韩清纯唯美| 91性片| 日韩无限资源| 99久久综合| 青娱乐欧美激情一区二区| 东北老女人的激情视频| 国产精品久久久久久 百度| 欧美综合狠| 91女在线观看| 日韩卡一卡二卡三在线| 91久久久久久久| 国产精品麻豆成人AV艾秋| 精品九九九九| 超碰伊人在线| 日韩人妻精品久久久久| 亚洲天天做日日做天天谢日日| 歐美一級亂黃99在綫精品| 99久久婷婷丁香| 有码专区最新中文字幕有码| 欧美亚男人的天堂| 精品国产片亚洲一区| 国产自偷| 夜夜高潮夜夜爽| 亚洲精品第一| 97超碰超碰| 91嫩草在线| 防屏蔽在线视频| 99久久久er直播网址| 91精品人妻一区二区三区蜜桃| 亚洲妇色| 久久久久免费少妇| 国产精品自拍欧美在线| 91 丝袜在线播放| 中文字幕在线第二页| 国产女上位好爽在线| 大香蕉久| 芊芊操逼视频无码| 精品中文日韩字幕视频| 亚洲 欧美 小说| 色优久久| 综合五月婷婷| 欧美亚洲另类在线蜜桃| 亚洲伊人久久综合97| 男人的天堂VA| 美女爽爽爽刺痛洞洞| 久久国产精品,久久国产| 中文字幕一区av| 亚洲少妇中文字幕网址| 一级AV性爱| 91无码西班牙视频在线| 后入人妻无码| 东京太热男人的天堂久久久| 啊啊啊久久久视频 | 欧美黄色手机在线观看| 欧美亚洲手机在线| 久久久日本电影| 欧美日日人人天天| 欧美天天综合站| 91真人天天在线| 第二页中文字幕| 骚乳在线| 午夜性| 99国产精品人妻人伦| 久久久999日本大片| 九九色影院| 久久久成人国产精品无码| 天堂中文资源在线bt| 国产精品一区二区亚洲人成毛片| 18禁看网站一区| 亚洲欧洲av影音| 襙一襙| 日韩欧美大力操| 日韩无码三级影院| 久久国产乱子伦精品免费女人| 亚洲图片婷婷五月天| 日本十八禁免费看污网站| 欧美18 在线观看| 午夜超爽| 国产剧情AV不卡在线观看| 女性喷水高潮在线观看| 青娱乐亚洲自拍| www.大香| 国产按摩一区二区三区| 国产熟女少妇一区| 中文字幕片| 日韩欧美天天爽爽爽天天爽爽| 免费亚洲国产精品久久一区| 东北操逼| 上特色A在线| 人人模人人看| 成人自拍三级在线观看| 芊芊操逼视频无码| 久久99视频| 日产中文字幕2020| 屁股久久久久久久久| 蜜臀在线网站| 偷拍偷窥与盗摄视频专区| 无码精品久久| 国产毛片久久久久久久| 在线不卡视频| 97人人爱人人做人人乐| 九九九九一区| 在线视频 亚洲精品| 中文字幕,人妻,日韩| 黄片直播三级黄片两女一男| 欧苏综合色综合| 最新亚洲风情电影| 久久久涩| 五月婷婷丁香六月丁香| 激情五月婷婷综合| 1204av韩国| 91 综合网| 草草影院最新网址| 狠狠久久亚洲欧美专区| 亚洲91大片| 国产精品com| 亚洲精品啪视频| 69综合网| 人妻娇喘 激情视频| 干我久操| 美女超碰978| 久草精品一区| 久久在肏| 亚洲AV成人在线| 97精品久久久久久久| 无码人妻一区二区三区免费九色| 国产精品无套内谢| 丰满人妻一区二区三区四| 超碰9 7女人| 亚洲密乳AV| 91精品国产高清久久久久久,亚洲成人| 天堂九九九九九九九九九| 婷婷激情五月综合| 在线精品福利免费播放| 97这里都是精品| 精品久9| 色婷视频| 麻豆天美AV传媒第一页| 国产偷拍自拍在线视频| 五月天综合网| 国产亚洲色停停久久99精品91| 亚洲天堂区| 91九色丰满高潮| 人人 操人人 操人人| 综合亚洲情色| 日本成人在线不卡一区二区三区| 嗯嗯嗯好爽| 精品玖九九久| 亚洲日韩精品在线播放| 超碰97极品9| 欧美一区二区观看在线| 色狠狠综合噜一二三区| 日韩 国产 欧美自拍| 色穴精品| 国产精品麻豆成人av| 青青欧美在线| 无码久久亚洲高清,| 日韩丝袜人妻AV| 久久色精品视频在线| 久久婷婷色综合一区二区三区| 亚洲日精品| 99无码视频| 精品69网| 国产乱婷婷精品二区三区| 天堂v无码免费视频| 看黑人AV不卡| 亚洲人妻爽爽爽| 91蜜臀在线久久久久| 97爱爱爱| 成人欧美日超碰| 中日韩久久久| AV在线播放网址| 国产原创自拍| 午夜舔阴达高潮视频免费看| 亚洲色入欧美| 白嫩国模丰满一二三区| 亚洲熟妇白浆无码AV| 日韩精品 资源| 99国产精品| 欧美亚洲日韩16色| 日本一级二级三级网站| 国产97色在线 | 亚洲| 伊人五月天青青草婷婷| 成人26uuu| 九九成人精品| 久久性爱城| 国产精品网址| 熟女精品一区二区在线观看| 亚洲一区二区精品福利| 综合色欧美| 中文字幕人妻色偷偷久久皮 | 久久五月天婷婷丁香中文字幕| 96久久久精品| 玖玖97综合 | 九九热免费国产视频婷婷伊人五月 | 0755午夜福利视频| 国产精品乱人伊人网| 久操网线| 91熟女视频| 天天看片麻豆| 天天摸,夜夜摸| 1级午夜影院费免区| 老司机香蕉久久久久| 中文一区二区婷婷视频| 日韩国产乱子伦App| AAAA级日本片免费视频| 91少妇通奸网站| 人妻久热在线| 伊人久久大香大香线蕉中文| 亚洲超碰97| 欧美97se| 老汉网| 久久婷婷色| 五十路六十路七十路熟婆| 少妇久久久免费| 日韩av色图综合| 99激情视频| 黄色免费一级在线毛片| 78m啪啪啪| 久久99草| 夜夜狠狠躁日日躁色视频| 丁香五月天激情网站| 日韩操p| 精品国产乱码久久| 天天色综合影视网| 少妇久久久免费| 欧美日韩国产电影| 99热这里| 欧美 亚洲 偷拍自拍| 国产一区自拍欧美日韩| 国产精品高潮呻吟av久久4虎| 精品无码一区二区三区| 91熟女.com| 国产精品。| www.狠狠干.coom | 91色插| av草草在线电影| 婷婷九月国产| 亚洲色香| 97视频在线视频| 98精品国产乱码久久久久久| 一级免费啪啪片| 久久久久久AV无码免费网站| 中文字幕aⅴ在线视频| 国产一区二区精品久久99| 日韩有码 一区二区三区| 男人的天堂三级| 欧美韩日精品99综合| 久久人妻无码毛片A片麻豆| 在线情色电影 91大| 玖玖爱一区在线| 激情自拍 校园春色| 97精品一二区| 亚洲熟妇图片| 久9视频| 99热最新| 日韩无码成人电影| 欧美日韩91| 99性爱| 久久精品国产精品亚洲艾通辽熟妇| 激情五月天色色网| 日本色色色| 中日韩欧美精品无码AⅤ一区二区| 一级性爱aaaa| 国产成人无码久久精品| 熟妇熟女视频一区二区三区| 欧美国产日韩清纯唯美| 欧美熟妇精品黑人巨大一二三区| 射丝袜高跟鞋99| 免費人妻夜夜爽天天爽爽一区| 闷骚老熟女15P| 动漫av中文| 无套后入双马尾| 婷婷爽人人婷婷爽视频| 91丝袜美女视频| 国产传媒午夜理伦精品| 亚洲国产尤物yw在线观看| 免費黃色視頻觀看一| 久久婷婷精品| 日韩美女久久一区二区三区| 丰满人妻一区二区三区在线| 一区二区三区蜜桃成人撸久久东京热| 中文在线视频| 97干在线视频| 一级黄色视频网| 婬女免费一二三区A片| 中文字幕精品一区二区精品| 天天摸夜夜操视频| 日本黄色精品| 成 人片 黄色大片| 日本午夜福利影院| 屌妞视频久久久久久久久久久久| 啊啊啊久久久视频| 快灬快灬 一下爽蜜桃在线观看| 青青免费在线视频一区| 久久肏大逼| 欧美色图天堂网m| 精彩久久中文| 国产97色在线 | 亚洲| 久久久久久亚洲Av无码| 免费精品福利在线观看| 欧美日韩人人早| 国产精品另类一区大香蕉| 久久透逼视频| 五月丁香啪啪网| 亚洲自拍欧美国产首页网曝| 午夜爽爽爽| 国产亚州高清国产拍精| 双插在线| 精品国产乱子伦一区二区三区,精品一| 熟妇xxxxx性春色| 婷婷丁香五月综合| 超碰这里只有精品| 日本韩高清无砖码22o| 日本人人操人人操| 亚州春色| 综合夜夜| 精品一区二区3区| 色偷偷2020免费视频播放| 免费人成毛片乱码| 神马福利久草| 欧美96交| 717影院理论午夜伦八戒| 玖玖资源中文字幕制服丝袜| 国产精品久久久吖| 五月天婷婷久久| 亚洲熟妇乱女区二区三区| 99999久久精| 一级A片女人高潮叫床| 一区二区三区色综合| av三级电影在线播放| 亚洲色天堂日韩中| 免费一级欧美片片线观看| 波多野结衣AV无码一区| 视频在线观看免费一区二区三区| 99无码视频| 老鸭窝在线视频播放| 91动漫操逼视频| 亚洲吊色| 久久毛卡| 欧美在线l亚洲| av在线不卡一区二区三区| 顶级少妇BT天堂| 97香蕉网| 蜜桃中文字日产乱幕4区| 91色婷婷综合久久中文字幕二区| 精品区9| 亚洲黄色电影| 日本91白丝| 激情图片伦理国产一区二区日韩| 香蕉久久国产AV一区二区| 白丝在线一区| 秋霞欧美性爰视频| 人妻美腿丝袜日韩| 天天看夜夜看日日干| 久久久久国产无av| 久9综合在线| 99精品成人免费看| 青青草久草AV| 亚洲超碰AV| 草B在线| 人妻天堂综合网| 97欧美视频| 97色涩| 欧美十八禁导航成人| 51一区二区三区| 超碰在线人妻| 色婷婷国产精品一区在线观看| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美一二在线| 人人看人人爰人人操| 中文字幕一区二区三区蜜桃视频| 性爱乱伦网址| 欧美色图20p| 精品人妻一区二区三区-国产精品| 一区二区三区亚洲| 欧洲大香蕉| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 久久精品欧美一区二区三区不卡| 亚洲91大片| 色5月婷婷| 亚洲色图综合| wuyechaopeng| 一区二区三区在线资源| 在线岛| 五十路熟女,国产欧美精品区一区二区三区| 99亚洲精品| 色哟哟AⅤ| 揉揉揉夜夜| 日本精品人妻少妇一区二区| 91天天综合日韩欧美| 欧美97视频| 色综合久久888| 人人么人人操| 热久久无毒不卡| 蜜桃av综合网发布| 久久久96| 丝袜美腿91| 久热久一区二区三区| 国产亚州日韩欧美看片| 一区二区三区国产在线播放| 欧美少妇第一页| 成人午夜无码视频| 国产亚洲深夜激情| 婷婷另类小说| 五月天激情国产综合婷婷婷| 岛国黄| 69天堂| 欧美—性—交—色| 鸥美插入视频| 999久久久九| 亚洲精品国产av天美传媒| 久久性爱视频免费看| 日韩亚洲美女一区久久| 久久精品国产AV一区二区三区| 欧亚韩国999| 清清草影| 爆乳免费黄网站| 黄片免费视频2019| 久操免费在线| 欧美激情黑人| 东北女人| 日韩啪啪啪啪啪| www超碰| 乱伦av麻豆| 国产在线强奸视频| 百度百度日本操逼| 天美传媒AV在线播放| 天操天操夜操夜月月年年操操| 国产乱人妻精品入口| 91九久| 91亚洲黑人| 99熟女| 国产亚洲深夜激情| 2023天天操夜夜操| 亚洲乱妇p22| 日本天天干天天操一区| 天美传媒av在线| 美女t无毒不卡不卡| 欧美日韩性爱无码| 伊人在线大香蕉视频久久| 少妇特黄一区二区三区| 久久视频少妇美女| 校园春色 亚洲| 视频一区二区免费在线| 2017人人操,人人摸| 国产精品999zyz| 欧美日韩在线国产在线| 亚洲综合婷婷| 久久超碰、| 99蜜月精品久久| 久久精品国产亚洲粉嫩| 色综合V| 国产日韩在线播放| 亚洲天堂性爱| 欧美激色| 亚洲性刺激| 日本人妻伦在线中文字幕| 国产亚洲精品美女久久久m| 嫩草影院在线观看精品| 人人色人人操在线| 国产精品午夜成人福利| 91性感在线| 亚洲欧洲综合成人av一区| 亚洲另类综合欧美| 少妇丝袜在线观看AV| 狠狠操狠狠操操| 18禁超污无遮挡无码免费网| 激情终合网| 天天干18禁| 日本福利二区视频| 97日视频| 日韩免费在线观看不卡| 美女被艹尤物视频| 97精品国产精品免费观看| 97AV在线观看| 日本99热| 久久性生大片免费观看性| 日韩精品在线观看网站| 天天综合影院91| 中文字幕丰满人妻日本| 在线性黄高清免费视频| 亚洲人91| 国产免费黄色一级大片| 天天干一干| 国产AV线| 欧美黑人精品一区二区| 国产一区麻豆免费观看| 操逼网站网站| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 中国国国产一级特黄毛片| 天天干天天日天天射黄色| 大香蕉狠狠爱| 日本国产成人亚洲精品无码| 午夜AV污污污| xxxx网站亚洲精品| 99精品网| 99久在线精品99re8蜜桃| 一区不卡在线观看av| 久9久| 人人干黄色| 亚洲成?V人片在线观看福利| 91强在线播放| 福利视频网站| 国产成人网| 伊人四虎综合| 淫荡少妇免费| 日本中文字幕一区| 久久精品店| 精品九九淫乱男| 精品毛片久久久精品毛片| 亚洲人妖网| 精品性爱一二三区| 免费看国产大AB| 亚洲第一无码播放立川理惠| 91女网站| 秋霞网—男女啪啪亚洲免费体验区| 色婷婷av在线观看| 超碰97护士| 色香蕉影院| 69一区二区三区| 综合网色| 美女被啪到深处抽搐视频| 大香蕉综合网| 懂色Av| 激情小说成人日本无码一| 综合大香蕉美。| 日本免费专区| 日韩精品三级| 欧美一级黄片免费播放| 精品国产99999| 97色在线观看| 自拍偷拍国产欧美日韩韩| 中文字幕诱惑制服人妻丝袜美丝袜美 | 97色碰| 亚洲天堂男人天堂| 试看福利| 熟女人妻一区二区三区| 国产精品天堂| 超碰 另类 欧美| 亚洲情色中文字幕一区| 欧美日动态视频| 久久xxxx| 揉揉揉夜夜| 超碰99热中文字幕| 久久精品色欧美aⅴ一区二区| 欧美色图20P| 九九久久99| 日韩黄色一区二区三区| 亚洲色天| 青女在线| 六月婷婷综合| 无遮挡男女激烈动态图| 欧美日韩亚洲国产中文永久天天看| 日日狠狠久久偷偷色综合免费| 国产精品久久久久久久无码AV| 亚洲综合伊人| 成人青青草原伊人| 日韩懂色网| 亚洲熟女中文字幕在线| 精品一区二区国产日韩| 色踪合AV| 夫妻四区五区六区| 日本成人电影资源网| 放黄片放3级黄片没穿衣服| 超碰天天操你比| 国产11页| 岛国1区2区3区在线观看| 少妇贴图| 欧美精品人妻视频| japan日本高清乱xxxx| 亚洲无码com| 亚洲男人天堂视频 | 手机在线播放国产福利| 日本不卡一区二区| 国产精品3| 97露脸精品丝袜| 五月天婷婷基地| 天天干天天狼在线视频| 青草精品视频日本久久久久网站在线| 97超碰久久色| 99精品视频在线观看| 日韩欧美tv一区二区在线观看| 成人性爱免费播放| 中文字幕福利视频一区二区三区在线观看| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日韩在线观看中文字幕视频| 国产91影院| 久久在肏| 欧美高潮在线| 久无码| 激情婷婷丁香| 91人妻尻屄视频| 欧美精品99久久久**| 欧美天天综合网| 啪啪啪亚欧美视频| 美女爽爽爽刺痛洞洞| 欧美色自拍| 91九九九逼| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 天天干2019| 欧美精品四区| 国产精品自产拍在线观看社区| 天天综合网日韩7799| 色网站导航大全| 欧美黄色手机在线观看| 久久区| 大香蕉一级黄色片久久| 超碰综合97在线| 男人把坤坤插入女人的下体| 亚洲激情天堂网| 中文乱码99| 一区二区三区男女操逼黄色小电影| 激情六月天| 婷婷激情啪啪| 丁香婷婷啪啪| 国产伦精品一区二区三区在线观| 国产人伦a片信息免费片| 影音先锋视频在线| 男人的天堂 在线一区| 91内射| 亚洲欧美一区二区网址| 碰碰97| 亚洲一区操| 天天射天天操天天干天天吃2018 | 99精品在线观看| 日本三级韩三级99久久| 黑人精品成人一区二区三区| 日韩性爱播放| 五月天激情小说网| 99精品视频在线观看| 人妻激情另类| 97免费在线视频在线观看| 清清一区二区三区四区不卡视频| 久久侵犯人妻爽爽爽| 射丝袜高跟鞋99| 午夜成人福利影视| 久污| 手机在线大香蕉| 91色狼| 新久久AV| 国产一级作爱毛片| 无码又爽又硬又激情免费视频| 九月丁香婷婷| 青娱乐av在线| 麻豆一区在线| 最新9久久久9免费视频| 欧美少妇性爱网站| 神马九九九| 久久岛国| 亚洲天堂男人| 日本免费专区| 日本三级R| 午夜激情床戏激情| 91美女视频在线| 亚洲熟妇白浆无码AV| 神马麻豆福利院| 日本操逼视频在线| 国产精品黄色三级av| 五月婷婷丁香中文字幕|