色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

千萬QPS架構(gòu)演進(jìn):從VM到容器的確定性之路

千萬QPS架構(gòu)演進(jìn):從VM到容器的確定性之路 千萬 QPS 架構(gòu)系列講到第 218 講話題落到“容器化從 VM 到容器”。很多人看到這個(gè)題目第一反應(yīng)是“這還有什么好講的容器不就是比虛擬機(jī)更輕的虛擬化嗎”但如果你真的在千萬 QPS 的業(yè)務(wù)場景里做過架構(gòu)演進(jìn)就會(huì)知道從 VM 到容器真正改變的不是部署形態(tài)而是整個(gè)系統(tǒng)的成本結(jié)構(gòu)、故障邊界和運(yùn)維模型。我這里想先給出一個(gè)貫穿全文的判斷千萬 QPS 架構(gòu)下的容器化不是為了省幾臺(tái)機(jī)器而是為了獲得更高的確定性——讓調(diào)度更快、讓故障半徑更小、讓擴(kuò)容從“采購流程”變成“一條命令”。如果你只是在小業(yè)務(wù)里用 Docker 跑幾個(gè)服務(wù)可能體會(huì)不到這種確定性有多重要但當(dāng)你面對流量洪峰、發(fā)布頻率和故障恢復(fù)速度的壓力時(shí)容器化幾乎是必經(jīng)之路。這篇文章我不會(huì)只講“VM 和容器的十個(gè)區(qū)別”這類入門內(nèi)容。我會(huì)從架構(gòu)視角出發(fā)講清楚三件事第一VM 在高并發(fā)場景下到底卡在哪里第二容器為什么能解開這個(gè)結(jié)以及它的代價(jià)是什么第三真實(shí)業(yè)務(wù)做容器化改造時(shí)按什么順序、避開什么坑、需要補(bǔ)哪些工程能力。1. 先搞清楚千萬 QPS 場景下VM 架構(gòu)的瓶頸到底在哪里1.1 不是性能不夠而是“確定性與彈性”不夠很多團(tuán)隊(duì)在沒有遇到大規(guī)模流量之前會(huì)覺得虛擬機(jī)用得很好。CPU、內(nèi)存、網(wǎng)絡(luò)隔離看起來都很完善穩(wěn)定性也不錯(cuò)。那問題出在哪出在“峰值的不可預(yù)測性”和“擴(kuò)容的線性成本”上。假設(shè)你的業(yè)務(wù)平時(shí)只有幾萬 QPS某天運(yùn)營活動(dòng)突然把流量推到千萬 QPS。這時(shí)候你面對的問題清單是這樣的現(xiàn)有 VM 集群的 CPU 水位還能扛多久需要新增多少臺(tái) VM每臺(tái) VM 從申請、初始化、部署代碼、掛載監(jiān)控到加入負(fù)載均衡需要多長時(shí)間如果擴(kuò)容腳本寫得不夠自動(dòng)化是不是需要運(yùn)維同學(xué)半夜手動(dòng)點(diǎn)一圈擴(kuò)容之后流量回落這些 VM 是不是還得繼續(xù)付費(fèi)從工程經(jīng)驗(yàn)看虛擬機(jī)的擴(kuò)容鏈路里最慢的環(huán)節(jié)通常不是機(jī)器啟動(dòng)本身而是“初始化”和“接入”的過程。一個(gè)虛擬機(jī)實(shí)例創(chuàng)建之后要裝系統(tǒng)、配網(wǎng)絡(luò)、裝 Agent、拉代碼、啟動(dòng)進(jìn)程、跑健康檢查、注冊到服務(wù)發(fā)現(xiàn)這一串動(dòng)作往往需要分鐘級甚至十分鐘級。而這種速度在流量曲線陡峭上揚(yáng)的時(shí)候是跟不上的。更麻煩的是VM 的資源隔離是“硬隔離”一臺(tái) VM 的規(guī)格往往在創(chuàng)建時(shí)就固定了。流量漲了你不能只給某個(gè)容量的進(jìn)程加 200MB 內(nèi)存你得再開一臺(tái)機(jī)器或者遷移到更大規(guī)格的實(shí)例。這就導(dǎo)致資源利用率很難做得很滿。經(jīng)常出現(xiàn)的情況是每臺(tái) VM 都預(yù)留了 30%-40% 的緩沖區(qū)但這些緩沖在大部分時(shí)間都是空閑的真正的流量峰值來了又覺得哪里都不夠。1.2 故障半徑一臺(tái) VM 掛掉和幾十個(gè)進(jìn)程優(yōu)先級掛掉處理方式完全不同還有一個(gè)容易被低估的點(diǎn)故障半徑。一臺(tái)物理機(jī)上如果跑了多個(gè) VM某個(gè) VM 出了故障物理機(jī)可能還能兜住。但 VM 里的故障往往是“整機(jī)不可用”——進(jìn)程崩潰、內(nèi)核 panic、負(fù)載高到 SSH 都連不上你只能重啟或重建。重啟一臺(tái) VM意味著上面的所有進(jìn)程一起重啟恢復(fù)時(shí)間以分鐘計(jì)。在千萬 QPS 場景下故障恢復(fù)時(shí)間每多一分鐘損失都是巨大的。如果業(yè)務(wù)層沒有做好重試、降級和熔斷一次非預(yù)期的 VM 故障就可能引發(fā)雪崩。所以VM 時(shí)代的高并發(fā)架構(gòu)并不是不能支撐千萬 QPS而是支撐得“很累”。你需要在容量規(guī)劃上留足裕量在擴(kuò)容速度上接受分鐘級延遲在故障處理上依賴更厚重的高可用設(shè)計(jì)。你可以用很多辦法把這種架構(gòu)做得很好但每加一層復(fù)雜度維護(hù)成本就會(huì)非線性上升。2. 容器到底改變了什么不是“輕量級 VM”而是一套新的運(yùn)行哲學(xué)2.1 鏡像、進(jìn)程隔離、命名空間容器比 VM 少了什么又多了什么先做一個(gè)最簡單的對比。虛擬機(jī)虛擬的是硬件所以每個(gè) VM 里需要有一個(gè)完整的操作系統(tǒng)內(nèi)核容器虛擬的是操作系統(tǒng)多個(gè)容器共享宿主機(jī)的內(nèi)核只是通過 Namespace 和 Cgroups 做資源隔離和視圖隔離。這個(gè)差別的直接結(jié)果就是容器啟動(dòng)非???。因?yàn)閱?dòng)容器本質(zhì)上是啟動(dòng)一個(gè)進(jìn)程組而不是啟動(dòng)一個(gè)系統(tǒng)。從實(shí)踐來看一個(gè) Java 服務(wù)容器從拉取鏡像到 Ready通常也就是幾秒到十幾秒的狀態(tài)而一臺(tái) VM 從冷啟動(dòng)到業(yè)務(wù)就緒往往需要幾十秒到幾分鐘。不過這里必須說清楚容器不是“更輕的 VM”兩者不適合直接做替換式對比。容器的隔離級別比 VM 弱同一個(gè)宿主機(jī)上的多個(gè)容器共享內(nèi)核一旦內(nèi)核出問題影響的不是單個(gè)容器而是整個(gè)宿主機(jī)上的所有容器。這意味著在千萬 QPS 架構(gòu)里容器化之后反而需要更關(guān)注宿主機(jī)的穩(wěn)定性和內(nèi)核兼容性。容器真正多出來的東西是鏡像。鏡像把代碼、運(yùn)行時(shí)、依賴、配置“打包”成了一個(gè)不可變單元。過去在 VM 上部署應(yīng)用最怕環(huán)境漂移生產(chǎn)環(huán)境的 JDK 版本和測試環(huán)境不一致某個(gè)動(dòng)態(tài)庫少裝了一個(gè)某條 cron 忘了配置。容器鏡像把這些問題基本抹平了。只要鏡像能在測試環(huán)境跑起來在任意一臺(tái)裝了容器運(yùn)行時(shí)的機(jī)器上它都能以同樣的方式跑起來。2.2 容器調(diào)度從“人工找機(jī)器”到“聲明式地告訴集群我要跑什么”VM 時(shí)代你要部署一個(gè)服務(wù)基本流程是找運(yùn)維要一臺(tái)機(jī)器SSH 上去裝環(huán)境拉代碼啟動(dòng)進(jìn)程然后記下 IP配到負(fù)載均衡或注冊中心里。容器時(shí)代尤其是用了 Kubernetes 之后你做的是“聲明式部署”你只需要描述清楚我要多少個(gè)副本、用什么鏡像、需要多少 CPU 和內(nèi)存、暴露哪些端口、健康檢查怎么探集群會(huì)自動(dòng)把 Pod 調(diào)度到合適的節(jié)點(diǎn)上并持續(xù)保證期望狀態(tài)。這兩種模式的差異用一句話概括就是VM 時(shí)代是“找機(jī)器、裝環(huán)境、跑服務(wù)”容器時(shí)代是“描述需求、交給調(diào)度器解決”。在千萬 QPS 架構(gòu)里這個(gè)差異非常關(guān)鍵。因?yàn)槟阋呀?jīng)不可能像管理幾十臺(tái)機(jī)器那樣一臺(tái)一臺(tái)地手工維護(hù)。你維護(hù)的是一個(gè)集群一個(gè)抽象的資源池。新增流量時(shí)你調(diào)整副本數(shù)宿主機(jī)故障時(shí)控制平面自動(dòng)把 Pod 重新調(diào)度發(fā)布新版本時(shí)滾動(dòng)更新的策略由平臺(tái)保證。整個(gè)過程的“可預(yù)期性”遠(yuǎn)遠(yuǎn)好于人工操作。2.3 容器化不等于 Kubernetes但千萬 QPS 通常繞不開編排單機(jī)版的 Docker只能解決鏡像分發(fā)和單機(jī)運(yùn)行的問題解決不了跨機(jī)器的調(diào)度、服務(wù)發(fā)現(xiàn)、存儲(chǔ)編排、配置管理和故障自愈問題。要支撐千萬 QPS容器化通常要配套容器編排平臺(tái)。Kubernetes 是當(dāng)前最主流的選擇但注意它不是一個(gè)開箱即用的高并發(fā)平臺(tái)。默認(rèn)配置的 Kubernetes在千級 QPS 的流量下可能已經(jīng)夠用但到了萬級、十萬級、百萬級 QPS你需要調(diào)的東西就非常多了kube-proxy 模式、DNS 并發(fā)、etcd 性能、節(jié)點(diǎn)資源預(yù)留、Pod 數(shù)量上限、鏡像拉取策略、監(jiān)控指標(biāo)采集頻率等等。這些細(xì)節(jié)后面我會(huì)專門展開講。所以在開篇我想先打破一個(gè)觀念很多人以為“容器化改造”就是把應(yīng)用打成 Docker 鏡像再寫幾個(gè) YAML 文件往集群里一扔。這種理解只完成了 20%剩下 80% 的工程量在穩(wěn)定性、可觀測性、安全性和運(yùn)維體系上。3. 從 VM 到容器的底層機(jī)制鏡像、命名空間與上午架構(gòu)的關(guān)系3.1 鏡像分層為什么容器化能讓發(fā)布變得更快、更可控容器鏡像的分層設(shè)計(jì)可能比很多人想象中重要得多。一個(gè)典型 Java 服務(wù)鏡像大概分這么幾層基礎(chǔ)系統(tǒng)層比如帶有 glibc、時(shí)區(qū)信息、CA 證書的 Linux 根文件系統(tǒng)JRE 層應(yīng)用依賴層jar 包應(yīng)用配置層。打包時(shí)每一層都可能被緩存并被多個(gè)鏡像復(fù)用。這個(gè)設(shè)計(jì)帶來的好處很直接發(fā)布新版本時(shí)如果只改了應(yīng)用代碼那其他層都不變構(gòu)建和推送只需要處理最上面的一層拉取時(shí)同理宿主機(jī)上如果已經(jīng)有基礎(chǔ)鏡像和依賴層只需要下載新增的那一小層。配合上鏡像加速器或離線鏡像倉庫發(fā)布速度會(huì)快很多。在千萬 QPS 架構(gòu)里發(fā)布速度意味著什么意味著你能更快地完成故障修復(fù)。線上出了問題你改了一行代碼理論上兩三分鐘內(nèi)新鏡像就能構(gòu)建完并滾動(dòng)上線。而如果你還在用 VM 方式可能要先把包傳到所有機(jī)器再逐臺(tái)重啟進(jìn)程整個(gè)過程不僅慢還容易因?yàn)闄C(jī)器環(huán)境差異出現(xiàn)“這臺(tái)成功、那臺(tái)失敗”的局面。3.2 Cgroups 與資源視圖為什么容器能更精細(xì)地裝箱Cgroups控制組是 Linux 內(nèi)核提供的資源限制能力可以限制、記錄和隔離一組進(jìn)程對 CPU、內(nèi)存、磁盤 I/O、網(wǎng)絡(luò)的資源使用。容器的資源配額底層就是靠 Cgroups 實(shí)現(xiàn)的。在 VM 時(shí)代CPU 和內(nèi)存規(guī)格通常是固定的、不連續(xù)的你要么用 4C8G要么用 8C16G很少能精確到“這個(gè)服務(wù)只需要 1.5 個(gè) CPU900MB 內(nèi)存以后還能動(dòng)態(tài)調(diào)”。但容器化之后資源配額可以更細(xì)粒度地設(shè)置同一個(gè)宿主機(jī)上可以混布不同資源需求的容器裝箱率會(huì)比傳統(tǒng) VM 模式高很多。從成本角度看這可能是容器化為數(shù)不多能直接算出來的好處。但換一個(gè)角度看粒度變細(xì)也帶來了新的風(fēng)險(xiǎn)你以為限了 512MB 內(nèi)存實(shí)際 JVM 的堆外內(nèi)存、線程棧、Metaspace、Direct Memory 加起來可能輕松超過配額結(jié)果容器被 OOMKilled。應(yīng)對辦法也很明確做容器化改造時(shí)不要只設(shè)置內(nèi)存上限還要配合 JVM 參數(shù)調(diào)整、HeapDump 采集和內(nèi)存監(jiān)控。3.3 網(wǎng)絡(luò)模型的變化IP 變得“不值錢”服務(wù)發(fā)現(xiàn)變得尤為重要VM 時(shí)代每臺(tái) VM 有一個(gè)相對穩(wěn)定的 IP你的監(jiān)控系統(tǒng)、日志系統(tǒng)、白名單機(jī)制幾乎都是圍繞 IP 設(shè)計(jì)的。你可以通過 IP 快速判斷“這個(gè)請求是哪個(gè)機(jī)器處理的”也可以用 IP 來配置數(shù)據(jù)庫訪問白名單。但容器化的世界IP 是臨時(shí)資源。Pod 可以被銷毀、重建、被調(diào)度到其他節(jié)點(diǎn)上IP 會(huì)隨之變化。如果你還在容器里用“固定 IP 手動(dòng)配置”的思維做網(wǎng)絡(luò)規(guī)劃會(huì)非常痛苦。所以容器化之后服務(wù)之間的調(diào)用關(guān)系不再依賴“知道對方的 IP”而是依賴“服務(wù)名 服務(wù)發(fā)現(xiàn)”。Kubernetes 內(nèi)部的 Service 和 DNS 解決了大部分流量路由問題服務(wù)之間的調(diào)用走的是 Service DNS 或 Service Mesh。過去那種“出問題我先看哪臺(tái)機(jī)器”的方式會(huì)變成“先看服務(wù)實(shí)例列表里有哪些副本日志集中在什么地方”。這個(gè)變化看著簡單實(shí)際影響深遠(yuǎn)。如果你的團(tuán)隊(duì)還停留在“SSH 到 VM 上 tail 日志”的排查習(xí)慣容器化之后會(huì)非常不適。日志必須集中采集指標(biāo)必須按服務(wù)維度聚合鏈路追蹤必須成為標(biāo)配。否則你面對幾百個(gè)隨時(shí)變化的 Pod根本沒有辦法做問題定位。4. 千萬 QPS 容器化的關(guān)鍵工程點(diǎn)從“能用”到“穩(wěn)如磐石”4.1 資源配額與 JVM容器世界里最容易翻車的地方很多從 VM 遷移到容器的 Java 團(tuán)隊(duì)遇到的第一個(gè)坑就是內(nèi)存。在 VM 上跑得好好的 Java 應(yīng)用放進(jìn)容器里卻經(jīng)常被 OOMKilled。原因也不復(fù)雜JVM 默認(rèn)的 MaxHeapSize 是根據(jù)宿主機(jī)內(nèi)存來算的不是根據(jù)容器配額。如果你不給 JVM 顯式設(shè)置 -Xmx它可能會(huì)申請超過容器限額的內(nèi)存。JVM 的堆外內(nèi)存包括 Metaspace、線程棧、Direct Buffer、JIT 編譯器內(nèi)存這些在容器里都屬于容器配額的一部分。解決思路是顯式設(shè)置 JVM 堆和容器內(nèi)存配額的關(guān)系通常建議 -Xmx 設(shè)置為容器內(nèi)存上限的 50%-70%。使用 Java 10對于較新的 JDK容器可以識(shí)別 CPU 限制如果你還在用 Java 8建議升級到 Java 8u191并配合 -XX:UseContainerSupport。預(yù)留 25%-30% 的內(nèi)存給非堆內(nèi)存避免因?yàn)?JVM 動(dòng)態(tài)擴(kuò)展或 JIT 編譯導(dǎo)致 OOM。如果原始業(yè)務(wù)的 QPS 比較高一定要先做一次壓測觀察容器在限制下的 Full GC 頻率、堆使用率和響應(yīng)時(shí)間曲線再?zèng)Q定合適的配額和副本數(shù)。4.2 健康檢查、優(yōu)雅退出與滾動(dòng)更新發(fā)布不再是玄學(xué)容器化對發(fā)布流程最大的改造在于發(fā)布變成了“聲明新的期望狀態(tài)等待集群自我調(diào)整”。但如果你沒有配置好健康檢查這個(gè)過程會(huì)變成災(zāi)難。Kubernetes 里有三種探針啟動(dòng)探針startupProbe、就緒探針readinessProbe和存活探針livenessProbe。在千萬 QPS 架構(gòu)里這三種探針的配置都不可省略啟動(dòng)探針解決服務(wù)啟動(dòng)慢的問題。如果你的應(yīng)用啟動(dòng)需要 60 秒但存活探針的 initialDelaySeconds 設(shè)成了 5 秒那容器還沒起來就被殺掉了。就緒探針決定流量是否進(jìn)入 Pod。新 Pod 沒有 Ready 之前Service 不會(huì)把流量打進(jìn)去。存活探針負(fù)責(zé)處理“進(jìn)程活著但業(yè)務(wù)卡死”的情況比如死鎖、線程池耗盡的死循環(huán)。實(shí)際發(fā)布時(shí)如果你只做了“殺掉舊 Pod、啟動(dòng)新 Pod”而沒有做優(yōu)雅退出可能出現(xiàn)存量請求被硬斷造成非常明顯的報(bào)錯(cuò)率和服務(wù)不可用。嚴(yán)謹(jǐn)?shù)淖龇ㄊ桥渲?preStop讓容器在終止前先摘除流量等幾秒讓存量請求處理完然后再真正停止進(jìn)程。注意不要把優(yōu)雅退出這一步省掉。千萬 QPS 場景下哪怕只有 0.1% 的請求在發(fā)布瞬間被斷開也會(huì)放大成大量業(yè)務(wù)報(bào)錯(cuò)。4.3 鏡像倉庫、并發(fā)拉取與帶寬大集群擴(kuò)容時(shí)的隱形瓶頸假設(shè)你有 1000 個(gè)節(jié)點(diǎn)某個(gè)大版本發(fā)布時(shí)所有節(jié)點(diǎn)需要同時(shí)拉新鏡像。如果鏡像很大比如 1GB而倉庫出口帶寬只有 1Gbps那理論上并發(fā)拉取會(huì)直接把帶寬打滿發(fā)布時(shí)間會(huì)被拉得非常長。常見的解法鏡像瘦身盡量使用 alpine 或精簡基礎(chǔ)鏡像Java 服務(wù)只帶 JRE 不帶 JDK。分層緩存把依賴較多的層盡量放在前面保證只有最上面的應(yīng)用層需要變動(dòng)。并發(fā)控制通過容器編排的配置限制集群內(nèi)同時(shí)拉取鏡像的節(jié)點(diǎn)數(shù)避免帶寬打滿。私有倉庫 就近部署在物理區(qū)域內(nèi)自建鏡像倉庫或者通過 P2P 分發(fā)組件減少源倉庫的壓力。這個(gè)問題平時(shí)不明顯但大促前擴(kuò)容時(shí)經(jīng)常爆發(fā)。你會(huì)在控制臺(tái)看到一堆 Pod 處于 ImagePullBackOff 或者 ContainerCreating 狀態(tài)原因不是網(wǎng)絡(luò)不通而是拉取鏡像排隊(duì)太長。4.4 日志、監(jiān)控與鏈路追蹤排查問題的方式必須升級容器化之后應(yīng)用日志不能在容器內(nèi)寫文件了。原因很簡單容器隨時(shí)可能被調(diào)度走宿主機(jī)上的日志文件會(huì)隨之丟失。而且多副本情況下你想看某個(gè)請求在某臺(tái)機(jī)器上的日志基本沒法手工“登上去找”因?yàn)閷?shí)例本身可能是動(dòng)態(tài)的。所以做容器化改造時(shí)日志方案必須改為“統(tǒng)一采集、集中存儲(chǔ)、檢索分析”。常見路徑是應(yīng)用把日志寫到 stdout/stderr由日志采集 Agent比如 Filebeat、Fluent Bit采集到 Kafka再到 ES 或 ClickHouse或者在應(yīng)用日志框架里配置為發(fā)送到統(tǒng)一日志服務(wù)比如 Loki、ELK 等。監(jiān)控和鏈路追蹤在這個(gè)階段也會(huì)變成剛需。在 VM 時(shí)代你還能通過 CPU 曲線和流量曲線大致猜出瓶頸在容器時(shí)代如果連調(diào)用鏈都沒有遇到跨服務(wù)的慢請求排查問題會(huì)非常痛苦。建議從改造的第一天就確定好監(jiān)控指標(biāo)的最小集請求量、錯(cuò)誤率、響應(yīng)延遲P50/P95/P99、容器 CPU/內(nèi)存使用率、節(jié)點(diǎn)水位、發(fā)布變更記錄。5. 容器化改造的真實(shí)路徑不是“全量遷移”而是“分步驗(yàn)證流量灰度”5.1 第一步先給業(yè)務(wù)做“容器化可行性畫像”不是所有業(yè)務(wù)都適合立刻容器化。我建議先做一個(gè)分類無狀態(tài)服務(wù)Web 服務(wù)、API 網(wǎng)關(guān)、RPC 服務(wù)、消息消費(fèi)者。這類業(yè)務(wù)的容器副本之間沒有狀態(tài)關(guān)聯(lián)殺掉重啟任何副本都無所謂是最適合容器化的類型。有狀態(tài)服務(wù)MySQL、Redis、ES、Kafka。這類服務(wù)的數(shù)據(jù)和服務(wù)實(shí)例強(qiáng)綁定直接跑在普通容器里會(huì)有數(shù)據(jù)丟失風(fēng)險(xiǎn)通常需要使用 StatefulSet、PV/PVC、本地盤調(diào)度或者其他狀態(tài)化方案復(fù)雜度比無狀態(tài)服務(wù)高一個(gè)量級。定時(shí)任務(wù)CronJob 在 Kubernetes 里能跑但要注意并發(fā)策略和補(bǔ)跑機(jī)制不要多個(gè)副本同時(shí)執(zhí)行同一個(gè)任務(wù)。批處理任務(wù)適合用 Job 模式跑跑完即結(jié)束比常駐服務(wù)更靈活。從改造優(yōu)先級來看應(yīng)該先挑無狀態(tài)、流量可灰度、故障容忍度高的業(yè)務(wù)跑通整套流程。不要一上來就把核心數(shù)據(jù)庫塞進(jìn)容器里。5.2 第二步用“流量灰度”替代“機(jī)房整體切換”我見過很多團(tuán)隊(duì)做容器化改造時(shí)喜歡采用“一刀切”的方式隔離出一個(gè)專門的新集群把應(yīng)用整個(gè)遷移過去等穩(wěn)定了再切換流量。這種做法的風(fēng)險(xiǎn)在于如果遷移過程中出現(xiàn)一個(gè)你沒想到的問題切換不了影響的不是某個(gè)服務(wù)而是整條鏈路。更穩(wěn)妥的方式是“邊跑邊換”讓容器版本和 VM 版本并行運(yùn)行一段時(shí)間通過網(wǎng)關(guān)逐步灰度流量。比如第一階段容器副本只接收 5% 的測試流量主要驗(yàn)證基礎(chǔ)功能和鏈路連通性。第二階段放出 10% 的線上流量觀察錯(cuò)誤率、延遲、GC、CPU、內(nèi)存等指標(biāo)是否和 VM 版本一致。第三階段逐步擴(kuò)大到 50%再 100%最后下線 VM 副本。這個(gè)思路的核心是不要用“徹底搬遷”的心態(tài)做改造要用“新老系統(tǒng)并存、逐步替代”的心態(tài)做改造。容器的調(diào)度、網(wǎng)絡(luò)、存儲(chǔ)、監(jiān)控體系都需要時(shí)間磨合灰度期間暴露的問題是成本最低的學(xué)習(xí)機(jī)會(huì)。5.3 第三步補(bǔ)齊容器化缺少的工程能力容器和編排平臺(tái)解決的是“調(diào)度和部署”問題但它不自動(dòng)解決以下工程問題配置管理配置項(xiàng)應(yīng)該用 ConfigMap / Secret 管理不能直接打進(jìn)鏡像。否則每次改配置都要重新構(gòu)建鏡像。權(quán)限控制容器內(nèi)部不要以 root 用戶運(yùn)行業(yè)務(wù)容器要有獨(dú)立的非 root 用戶Dockerfile 里需要用 USER 指令切換。安全掃描鏡像上線前要做漏洞掃描不信任的第三方鏡像不要直接拉進(jìn)生產(chǎn)集群。鏡像安全和容器安全是兩個(gè)不同維度鏡像掃描解決的是打包階段的問題運(yùn)行時(shí)安全解決的是逃逸和異常訪問的問題。資源隔離很多團(tuán)隊(duì)在 Kubernetes 里只設(shè)置 requests不設(shè)置 limits。這種配置在流量低時(shí)看不出來流量高時(shí)一個(gè) Pod 會(huì)把整臺(tái)節(jié)點(diǎn)打爆。合理做法是先做壓測再設(shè)置 requests 和 limits并且對 CPU 與內(nèi)存分別設(shè)置。備份與恢復(fù)對于有狀態(tài)服務(wù)如果最終還是決定容器化必須提前設(shè)計(jì)好持久化存儲(chǔ)和備份策略不能依賴“容器還在”這個(gè)狀態(tài)。6. 千萬 QPS 場景下的容器化調(diào)優(yōu)默認(rèn)配置跑不出高并發(fā)6.1 kube-proxy 與 iptables/ipvs連接與負(fù)載均衡能不能扛住Kubernetes 默認(rèn)的 kube-proxy 模式如果是 iptables在大規(guī)模高并發(fā)場景下會(huì)遇到兩個(gè)問題Service 數(shù)量、Endpoint 數(shù)量非常大時(shí)iptables 規(guī)則會(huì)非常龐大更新規(guī)則時(shí)可能造成連接閃斷。iptables 的規(guī)則匹配是順序匹配規(guī)則多了之后轉(zhuǎn)發(fā)性能會(huì)有明顯下降。生產(chǎn)環(huán)境通常建議改用 IPVS 模式。IPVS 在內(nèi)核態(tài)實(shí)現(xiàn)了負(fù)載均衡支持多種調(diào)度算法性能比 iptables 好很多而且規(guī)則同步更穩(wěn)定。切換后ClusterIP 對應(yīng)的負(fù)載均衡轉(zhuǎn)發(fā)能力會(huì)有明顯提升。另外還有一個(gè)容易被忽略的點(diǎn)如果服務(wù)規(guī)模很大DNS 解析 QPS 也會(huì)非常高。Kubernetes 默認(rèn)的 CoreDNS 配置在大量 Pod 并發(fā)解析時(shí)會(huì)成為瓶頸需要調(diào)整副本數(shù)、部署模式比如 daemonset和緩存參數(shù)。6.2 節(jié)點(diǎn)水位與調(diào)度策略不要讓任何一臺(tái)宿主機(jī)成為“落單熱點(diǎn)”容器化之后宿主機(jī)故障的影響面取決于這臺(tái)機(jī)器上跑了多少個(gè)業(yè)務(wù) Pod。如果調(diào)度策略不關(guān)注 Pod 的“反親和性”某個(gè)核心服務(wù)的所有副本可能同時(shí)落在同一臺(tái)宿主機(jī)上那這臺(tái)機(jī)器一掛整個(gè)服務(wù)就瞬間不可用。在千萬 QPS 場景下調(diào)度策略至少要考慮核心服務(wù)多副本盡量打散到不同節(jié)點(diǎn)、不同可用區(qū)?;旌喜渴鸬蛢?yōu)先級任務(wù)與核心業(yè)務(wù)時(shí)要設(shè)置優(yōu)先級和搶占策略避免低優(yōu)先級任務(wù)搶占高優(yōu)先級業(yè)務(wù)的資源。設(shè)置節(jié)點(diǎn)資源預(yù)留kube-reserved、system-reserved不要把節(jié)點(diǎn)資源 100% 分配給業(yè)務(wù)容器防止宿主機(jī)自身系統(tǒng)和組件異常。6.3 大促擴(kuò)容容器數(shù)量多了問題也會(huì)跟著變多千萬 QPS 的大促場景下系統(tǒng)會(huì)自動(dòng)擴(kuò)容出大量副本。這個(gè)時(shí)候出問題的往往不是應(yīng)用本身而是容量側(cè)的基礎(chǔ)設(shè)施節(jié)點(diǎn)數(shù)增加容器集群控制面 API Server 的請求量會(huì)上升etcd 的寫入 QPS 也會(huì)漲。需要提前評估集群規(guī)格必要時(shí)拆分多個(gè)集群。Pod 數(shù)量增加后監(jiān)控 Agent 采集的指標(biāo)數(shù)量也會(huì)增長監(jiān)控系統(tǒng)自身需要擴(kuò)容。服務(wù)發(fā)現(xiàn)和注冊中心需要同步擴(kuò)容尤其是如果你的服務(wù)仍然依賴注冊中心做 RPC 路由注冊中心會(huì)成為新的瓶頸。如果新的 Pod 需要掛載存儲(chǔ)存儲(chǔ)系統(tǒng)的并發(fā)能力也要提前壓測避免擴(kuò)容后因存儲(chǔ) IO 跟不上導(dǎo)致服務(wù)失敗。簡單說容器化把“機(jī)器維度”的擴(kuò)容問題變成了“平臺(tái)維度”的擴(kuò)容問題。機(jī)器不夠用變成集群不夠用帶寬不夠用變成倉庫或 DNS 不夠用連接數(shù)不夠變成 Service 轉(zhuǎn)發(fā)或注冊中心不夠用。你需要用新的視角去看容量規(guī)劃和壓測。7. 落地前的自檢清單一套可以直接拿走的容器化改造框架到這里我已經(jīng)把從 VM 到容器的架構(gòu)邏輯講得差不多了。但我知道大部分人看到最后真正需要的是一個(gè)能落地執(zhí)行的檢查表。下面這個(gè)清單是這套方法論的核心沉淀也是我建議你在動(dòng)手改造前先逐條過一遍的東西。第一層服務(wù)畫像[ ] 服務(wù)是否有狀態(tài)數(shù)據(jù)是否存在本地文件、本地磁盤或內(nèi)存中[ ] 服務(wù)是否支持優(yōu)雅退出進(jìn)程收到 SIGTERM 后能否在有限時(shí)間內(nèi)處理完存量請求[ ] 服務(wù)啟動(dòng)時(shí)間是多少是否超過 90 秒是否需要啟動(dòng)探針兜底[ ] 服務(wù)的內(nèi)存占用峰值是多少JVM 的堆內(nèi)和堆外內(nèi)存是否都統(tǒng)計(jì)過第二層鏡像與供應(yīng)鏈[ ] 基礎(chǔ)鏡像是否精簡能否去掉編譯工具鏈、包管理器和緩存[ ] 鏡像中是否存在敏感信息密碼、密鑰、Token[ ] 是否用了私有鏡像倉庫鏡像上傳后是否做漏洞掃描[ ] 是否配置了鏡像拉取策略Always / IfNotPresent第三層編排與配置[ ] 配置是否已經(jīng)從鏡像中剝離能否用 ConfigMap / Secret 管理[ ] 是否設(shè)置了 requests 和 limits是否經(jīng)壓測驗(yàn)證過[ ] 就緒探針、存活探針、啟動(dòng)探針的閾值是否和服務(wù)真實(shí)啟動(dòng)時(shí)間匹配[ ] 優(yōu)雅退出是否正確配置preStop 是否執(zhí)行第四層可觀測性[ ] 日志是否已改為集中采集能否在日志平臺(tái)按 traceId 串聯(lián)全部鏈路[ ] 監(jiān)控是否覆蓋請求量、錯(cuò)誤率、P99 延遲、容器資源、節(jié)點(diǎn)水位和服務(wù)發(fā)現(xiàn)狀態(tài)[ ] 是否有按服務(wù)維度而不是機(jī)器維度的告警規(guī)則[ ] 鏈路追蹤是否已經(jīng)接入核心業(yè)務(wù)鏈路第五層穩(wěn)定性與容量[ ] 是否對核心服務(wù)做過容器資源限制下的壓測[ ] 是否對鏡像拉取并發(fā)、DNS 并發(fā)、Service 轉(zhuǎn)發(fā)能力和注冊中心容量做過評估[ ] 核心服務(wù)多副本是否配置了反親和性避免打到同一臺(tái)宿主機(jī)[ ] 大促擴(kuò)容腳本是否演練過控制面是否撐得住流量洪峰這個(gè)清單看起來很長但每一項(xiàng)背后幾乎都有真實(shí)事故在支撐。你在小規(guī)模場景里可能感受不到它們的作用但一旦流量漲到千萬級任何一個(gè)“看起來不重要的配置項(xiàng)”都可能成為壓垮系統(tǒng)的最后一根稻草。8. 容器化之后架構(gòu)的長期方向平臺(tái)能力才是真正的分水嶺聊完了改造步驟和調(diào)優(yōu)細(xì)節(jié)我想把視野拉遠(yuǎn)一點(diǎn)說一說容器化這件事對架構(gòu)演進(jìn)的長期意義。從 VM 到容器起初看起來只是部署方式的改變。但真正堅(jiān)持做下來的團(tuán)隊(duì)會(huì)發(fā)現(xiàn)這件事的長期價(jià)值在于它逼著你把部署、配置、監(jiān)控、日志、安全、權(quán)限、容量管理和發(fā)布流程全部“產(chǎn)品化”和“平臺(tái)化”。當(dāng)這些能力沉淀為平臺(tái)服務(wù)之后任何團(tuán)隊(duì)上線新服務(wù)時(shí)不再需要重復(fù)造輪子而是直接通過平臺(tái)申請資源、配置流水線、選擇監(jiān)控模板。到了這個(gè)階段業(yè)務(wù)系統(tǒng)的性能瓶頸已經(jīng)不完全取決于單機(jī)或單服務(wù)的能力而是取決于平臺(tái)對資源的調(diào)度效率、對故障的恢復(fù)速度和對外部流量變化的響應(yīng)速度。這也正是千萬 QPS 架構(gòu)能夠持續(xù)演進(jìn)的關(guān)鍵不是靠一次性的性能優(yōu)化而是靠一套可以讓復(fù)雜系統(tǒng)穩(wěn)定運(yùn)轉(zhuǎn)的機(jī)制。從工程經(jīng)驗(yàn)看這個(gè)平臺(tái)化的過程通常不是一蹴而就的。先有一個(gè)小的容器集群跑幾個(gè)非核心服務(wù)然后慢慢擴(kuò)大范圍接入網(wǎng)關(guān)、核心業(yè)務(wù)、存儲(chǔ)層最后再建設(shè)多集群、多可用區(qū)、統(tǒng)一發(fā)布和彈性伸縮體系。每個(gè)階段都有各自的坑但只要方向是對的每走一步系統(tǒng)的響應(yīng)能力和確定性都會(huì)上一個(gè)臺(tái)階?;氐轿恼麻_頭那個(gè)判斷容器化改造的核心價(jià)值不是“從 VM 換成容器”這件事本身而是通過容器和編排技術(shù)讓整個(gè)技術(shù)團(tuán)隊(duì)擁有了更快的響應(yīng)速度、更小的故障半徑和更確定的運(yùn)維流程。如果你所在的業(yè)務(wù)已經(jīng)接近或超過百萬 QPS并且還在為擴(kuò)縮容速度、發(fā)布效率和故障恢復(fù)時(shí)間焦慮那么容器化不是一道“要不要做”的選擇題而是一個(gè)“什么時(shí)候做、以什么順序做”的工程問題。希望這篇文章能給你一個(gè)相對完整的認(rèn)知框架讓你在做技術(shù)決策時(shí)不至于被工具和概念牽著走。這也是我認(rèn)為“千萬 QPS 架構(gòu)”系列里容器化這一講最值得沉淀下來的內(nèi)容。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
在线综合色| 99色热| 97精品综合久久网| 亚洲丝袜二区| 五月婷在线| 国产91啪| 亚洲欧美首页| 伊人91| 色婷婷A V一二三四区麻豆综合| 久久免费中文字幕在线观看| 啪啪啪大香蕉| 人妻啊啊人妻啊啊| 亚洲精品久| 亚洲国产奇米影视久久| 天天综合色图| 无码天堂| 久久成人国产精品| 黄色av网站在线播放| 美女诱惑一区| 欧美v亚洲v综合v国产v妖精| 欧美亚洲手机在线| 国产亚洲精品A在线观看下载| 操逼片中文| 日韩国产品视频中文字| 97免费视频网| 黄页网站成人免费| 狠狠操狠狠操操| 秋霞色色影院| 3d成人精品一区二区| 日韩精品中文字幕一| 国产精品美女在线一区| 亚洲九区| 蜜桃视频一区二区三区 | 国产 大胆 对白| 欧美激情色婷婷花野真衣一区二区| 国产偷仑| 麻豆成人影音在线| 亚洲AV无码翔田千里网站| 色欧洲| 国产无码精品高清| 可以免费观看的av| 婷婷五月天久久精品视频一区二区三区| 色吧综合网| 亚洲不卡av在线| 青草视频人妻在线观看| 精精品人妻一区二区三区| 亚洲加勒比| 亚洲国产成人福利在线观看| 蜜桃色色网站视频三区| 中文熟女五十乱码在线| 国产精品久久久久久久无码AV| 五月丁香黄色网| 亚洲成熟国产精品美女| 蜜臀99999| 青青久草| 日本久久99| 国产偷人妻精品一区二区在线| 国产精品日日摸天天碰| 日韩性爱电影一区| 91国产丝袜美女| 高清国产无码av| 亚洲人成网www| 97操碰| 日韩人妻一区二区精品| 九九九精品一区二区无码| 100啪啪视频大全| 极品白嫩美女白浆成人福利在线看| 91在线|亚| 国产乱色国产精品免费视| 国产精品久久发布| 另类 日韩 熟女| 加勒比海人人操超碰在线| 粉嫩少妇自慰在线| 高清无码人妻久久久一区二区三区aⅴ| 久久在线观看免费视频| 色婷网| 2020中文字幕| 婷婷探花久久精品一区| A片 AV一级在线播放观看免费| 清纯唯美第一页| 日本国产成人亚洲精品无码| 欧美草草高清日韩视频| 亚熟hd视频在线| 欧美超碰96| 亚洲色丰满少妇高潮| 九九Av| 成人av动漫在线观看| 欧美黄片欧美黄片xxx| 99国产精品视频尤物| 婷婷激情五月天小说网| 嗯嗯啊啊日韩精品| 久热精品在线| 亚洲久久久| 日本熟妇人妻一区二区三区| 嫩草 我啊~嗯~在线| 欧美日韩淫加| 青青草十区九区爱夜| 亚洲欧美经典一区二区| 超碰成人国产| 九九热AV| 91在线欧色| 在线无码操| 9l视频自拍9l九色成人| 久久午夜色播影院免费高清| 另类专区加勒比| 久久不卡一区二区| 日韩乱伦影音先锋| 久久久久国产精品久久久| 伊人精品视频| 日韩电影天堂视频二区三区| 久久国产精品视频| 亚洲一区二区av| 免费在线黄片视频| 日本日日色视频| 亚洲影视综合网| AA丁香综合激情| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 黄片免费看黄片免费看| 日韩人妻免费精品| 免费一级a毛片久久久久久鸭绿欲| 亚洲色91| 无遮挡男女激烈动态图| 97超碰人人操人人操| 嗯嗯啊啊好爽| 五月婷婷六月丁香网址| 国产无马视频| www.久久久久| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 夜夜天天噜狠狠爱2021| 可以免费观看的日韩av毛片| 黄片在线免费在线观看| 亚洲熟妇自偷自拍另欧美| 五月丁香| 日本三级日本三级99| 国产欧美亚洲精品a第2页| 成人a大片在线观看| 国产精品露脸在线观看| 色官网在线| 久久一级无码精品毛片6| 日韩精品 视频一区二区| 欧美成人一级免费电影| 五月天色色网站| 亚洲精品官网在线观看| 午夜一区| 九九久久久久久爱| 日骚逼视频| 九九九九九九视频免费| 熟女这里只有精品6| 另类小说综合网| 嫩草影院在线观看精品| 激情五月天视频| 人妻少妇久久久| 精品国产91久久久久久一区黄无| 国产日韩中文字幕欧美| 国产一级舔足在线观看| 97人人操人人摸人人爱| 国产精品老熟女一区二区| 亚洲色诱惑| 青青青操| 蜜臀久久99精品久久久久久成人小说 | 亚洲AV永久无码一区仙野| 377p欧洲日本亚洲大胆| 日本 情色 1区2区3区| 久久人妇| www.男人天堂| 97公开久久| 日本精品加勒比海一区| 日韩中文字幕宗合在线| 91网站18| 岛国小电影| 麻豆精品一区二区三区四区免费观看| 97摸视频| 中文伊人大香蕉视频| 啪啪91| 91色女| 欧美色图偷拍另类| 亚洲毛片基地专区| 日韩成人无码| 亚欧国产无码精品在线| 超碰97久久观看| 精品久| 九月丁香综合网| 91久久国产综合久久| 情色AV电影| 天天拍天| 女沟厕偷窥piss小便| 亚洲女毛多水多21P| 久久久不能久久久久| 久久久久久久久久久久久9999| 亚洲色天堂九9| 免费自拍三级综合| 丁香婷婷激情五月天无毒不卡 | 黄片直播三级黄片两女一男| 久/久精品99看9| 亚洲国内精品成人不卡| 国产在线视频二区| 精精夜夜| 97精品一区二区视频| 五月丁香成人网| 精品9999| 亚洲天堂7777| 天天爱综合网| 久久精品国产亚洲AV片多多| 亚洲成人激情小说视频| 精品少妇一区二区三区免费观看| 日本成熟少妇A∨网站| 97 亚洲 日韩 欧美 在线| www.99色| xxx亚洲午夜天堂| 天天夜夜rb| 日韩乱码av| 丝袜夫妻自拍| 日韩黄片视频试看| 男人午夜天堂| 人妻 中文 日韩| 97久久精品亚洲中六字幕| 亚洲妇色| 人人摸.人人色| 精品久久久久瑟瑟| 亚洲乱妇p22| 亚洲色图超碰在线| 超碰成人人人爽人人爽| 国产偷仑| 中文字幕,人妻,日韩| 中文字幕片| 五月天婷婷在线看| 久久国产对白激情浪潮| 国产日产精品久久快鸭的功能介绍| 后入 亚洲 美女 射| 水多多映视AV| 四虎国产成人精品免费一女五男| 亚洲熟女精品| 中日韩久久久免费看| 99这里都是精品| 色欲av国内精品久久久久久| 人妻精品一区二区全免费| 岛国黄片网站| 久久男人精品| 射 色综合| 日韩在线观看三级电影| 亚洲少妇激情视频| 人人射人人操人人摸| 97中文综合| 色色无码| 不卡中文字幕aⅴ在线| 久久亚码| 大香蕉免费中文| 超碰在线人妻中文字幕| 国产诱惑| 91天天| 日韩二三区| 亚洲av综合色区图片亚洲| 色www精品视频在线观看| 亚洲精品成人激情在线| 水多多映视AV| 国产精品一级二级在线| 大香蕉97久久| 亚洲成人一区二区精品| 九九九九九精品| 丰满精品人妻少妇久久字幕| 天天爽人人综合免费7799| 亚洲在线网站| 99操逼| 天天综合网入口~91| 大色综合网| 人人操人人色网| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 不卡六六在线91| 欧洲无码一区二区| 一级黄色视频网| 在线洲亚线| 久久亚洲熟妇在线视频| 黄污污污污| 日韩精品人妻一| 久九九九九九九九热| 超碰色中文| 九九热精品| 亚洲熟女人妻中文字幕一区二区| 国产一级操B视频| 九九九九久久久久| 欧美手机在线综合| 蜜桃色院一区久久| 美女淫穴| 91女人的网站| 少妇超碰在线| 人人操人人狠狠操| 伊人激情五月天一区二区| 久草看看看| 国产后入精品| 久热伊人| 精品国产99999| 9久久美女首页| 大香蕉色十月| 一二三啪啪专区| 男人天堂2019亚洲| 日本天天操| 国产精品自产拍在线观看社区| 人人操人人搞人人草| 天天上日日上日韩精品| 性高潮久久久| 国产精品久久久久9999小说| 97欧美资源| 国产白领连续中出在线播放| 亚洲欧洲色情高清| 少妇精品久久久| 另类av综合久久| 超碰综合色| 二对二中文字幕。| 插入综合网| 日本天天吊| 九九精品美女高溯喷水| 炮色五月| 亚洲美女色图| 日韩三级性| 人人爽人人精品乱人伦AV| 91啪9色| 在线综合 亚洲 欧美中文字幕| 久热久一区二区三区| 男女打扑克高清网站| 中文字幕在线24| 精品夜夜澡人妻无码| 95精品在线| 夜夜狼人妻| 色哟哟1区2区| 插B在线观看| 欧美亚洲激情一二三| 男人天堂网手机版婷婷| 大香蕉99re| 超碰色97| 老子午夜伦不卡影院| 精品少妇999| 日韩三级在线观看网站| 亚洲,日韩,欧美,成人播放| 日韩精品在线观看观看| 欧美色色色| 搡老女人老妇女老妇老熟女怎么读| 狠狠干综合| 亚洲91少妇| 爱欲AV| 国产成人天堂| 综合亚洲欧美| 色悠久| 欧美爱三级日韩久久| 欧美日韩性爱无码| 国产999精品久久久久久| 五月天婷婷色| 久久综合女优| 伊人91| 嗯啊视频免费在线观看| www.99色| 欧美日本天堂| 熟女91网站| 在线黄色污污网站| 吉川爱美亚洲二区在线 | 欧美色另类| 青青操网| 欧美78p| 91在线页| 亚洲国产蜜臀系列在线观看| 2017av无码免费无线播| 丰满人妻av一区二区三区| 天天影视网综合少妇| 涩涩久久精品| 国产综合日韩伦理| 长长久久88视频| 欲香欲色天天天综合和网| 欧美性性性| 国产一级内射无挡观看| 操逼网站地址| 成人天天爽| 中文字幕丰满子伦无码专区在线视频最新 | 日韩精品人妻| www欧美性爱| 夜夜操夜夜爽夜夜高潮| 婷婷五月天在线观看| 亚洲激情在线| 欧美Aⅴ| 97在线视频网站| 久久久免费一级黄片| 欧美人与动性人交a| 人妻精品一区一区三区蜜桃91| 性欧美另类高清| 午夜国产成人福利视频| 一起草日韩| 免费精品中文字幕| oumeisetu综合| 成人情色综合网| 啊v在线观看视频| 久色网| 自拍欧美| 午夜舔阴达高潮视频免费看| 色综合久| 熟女AV一区| 中字一区| 精品久久久久久中文字幕视频免费| 92午夜免费福利视频| 天天综合香 ld视频| 啪啪自拍九九综合| 婷婷爱五月| 亚洲综合色在线| 欧美激情激情xxxx欧美专区| 亚洲,欧美,春色,另类| 日韩91网| 在线人人人人人人精品超| 亚洲日韩少妇一道本视频| 黑人精品XXX一区一二区| 婷婷激情一区二区三区俺也去| 青娱乐国产剧情av一区| 高凊专区人人操| 一区二区乱码福利| 日韩少妇丰满亚洲| 日本不卡五区| 久久嫩草国产成人一区| 人人操人人插 - 百度 - 百度| 淫色网综合| 四虎午夜影院| 日本东京热大香蕉a片| 中文字幕一二区二三区人妻专区| 久久久久久91香蕉国产| 国产精品一区午夜福利| 久久九九热| 97色在线| 午夜视频久久久久一区| 中文字幕乱偷人妻久久艾草网| 国产中文字幕曰本毛片| 97欧美综合网| 亚洲综合性感在线| 国产中文字幕曰本毛片| 超碰97综合在线| 78精品在线| 久久久蜜桃一区二区三区| 天天综合91入口| 色色亚洲| 成人av福利在线观看| 天天天肏屄欧美| 亚洲成人日韩小说| 日日骚一区二区三区| 亚洲精品99| 欧美影院一区二区三区| 色老久久| 亚洲色图超碰在线| 国产黄片在线免费观看| 一区二区三区看视频| 澳门人妻久久| 久草免费在线一区二区| 一区二区高清视频| 2019亚洲男人天堂| 婷婷五月天av| 欧美aⅴ99久久黑人专区| 99久久久久久亚洲精品不卡| 曰本91情色| 国产 丝袜 欧美中文 另类| 97色综合中文网| 久久有碼| 午夜国产成人福利视频| 中文字幕日韩专区精品系列| av在线人气| 爱av免费| 亚洲h片在线免费观看| 偷拍亚洲视频一区二区三区四区| 日韩人妻网站| 婷婷午夜| 亚洲图片日本AⅤ欧美在线| 综合97亚洲| 久久啊哟| 久99久视频| 思思热免费在线视频| 97chaopenrihan| 精品网站99999| 婷婷五月天激情小说| 性爱视频无打码在线观看| 春色91| 伊人少妇久久久| 性色avv| 国产乱伦性爱AV| 欧美午夜视频免费观看| 黄色视频高清无码网站| 欧美日韩另类激情图片| 好色美女九七第一页| 艳尻美人妻| 97一区二区蜜臀| 91在线超高颜值国产| 色综合一区二区三区| 亚州色图欧美色图| 97爱啪| 亚洲 欧美 综合 91| 激情欧美日韩女同久久| 宅男91视频在线播放| 国产高清无码一区二区三区四区皇冠| 国产真实野战在线视频| 日韩国产乱子伦App| 国产污视频麻豆传媒一区二区 | 欧美91视频| AV不卡在线| www.色五月| 东北女人高潮视频| 韩国一级婬片A片无码天美| 久久超碰天天| av橘色网站| 丁香7月婷婷| 少妇第一页| 欧亚揄拍偷拍精品视频| 国产嫩草精品A88AV在线| 日韩伦理久 久久 清纯| 男人天堂.AB| www鬼畜国产男人的天堂| 天天影视网综合少妇| 亚洲天堂区| 国语人妻精彩刺激| 欧美亚洲日本视频久久久| 中文字幕一区二区在线日韩精品| 操迟操逼在巾线Fre看| 国产成人自拍视频视频| 亚洲最大的综合性av| 中国国国产一级特黄毛片| 婷婷激情五月天小说网| 91在线无码精品秘 软件| 熟女乱伦二区| 亚洲少妇色| 中美日韩毛片| 97就爱干| 精品人妻一区二区三区鲁大师| 天天色欧美| 五十路熟女人妻一区二区在线观看 | 97在线精品观看视频| 国产路线专区| 亚洲av噜噜噜噜噜噜| 91亚洲欧美激情| 大象AV在线| 精品无码久久久久久国产浪潮| 亚洲欧洲综合| 夜夜操美女| 精品成人动漫一区二区| 色色99| 欧色综合| 亚洲狠狠入| 中文久久久| 国产91乱伦| 日本一级一级一级一级| 欧美情色男人的天堂| 欧美综合传媒| 国产9区| 黄色小视频日本txt| 在线看片国产精品每日更新| 人妻嗯啊啊在线播放| 二对二中文字幕。| 大香蕉99re| 青娱乐淫乱1314| 国产 丝袜 欧美中文 另类| 久久精品亚洲婷婷| 超碰97欧美日韩| 2017亚洲天堂| 国产97视频免费观看| 亚洲图片91| 老司机天天操| 久久久久久午夜男人的天堂| 国产精品粉嫩福利在线| 人妻熟女一区二区三区视频| wwwxxx日本爽| 激情五月天色色网| 日韩啪啪啪视频| 97精品一区二区三区免费| 亚洲av综合色区图片亚洲| 亚洲AV无码乱码在线观看性色| 精品99999久久久久久| 日本99一区二区| 97天天摸天天爽| 在线观看成人性爱免费小视频| 亚洲性爱高潮影院| 欧美肥臀在线| 岛国片国产成人亚洲播放| 91AV老熟女视频| 欧洲亚洲人妻无码久久三区四区| 偷拍 亚洲 欧美| 久操凹凸视频| 亚洲自拍一区夜夜操| 亚洲激情片| 色色综合网站| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚91亚洲网| 91亚洲人| 青青草福利视频| 天天日日夜夜| 欧美色图校园春色| 欧美性爱系列| 在线小视频| 国产成人精品必看 | 后入人妻无码| 午夜精品久久一区二区| 亚洲AV无码乱码| 偷拍网站久久男女男| 精品人妻一区二区三区鲁大师| 国内精品久久人妻性色av| 伊人97色天使| 国语精品av| 思思热在线视频精品| 婷婷探花久久精品一区| 亚洲欧洲综合| 亚洲欧美激情另类色图| 职场同事知名国产国产精品久久欧美日韩| 在线人成亚洲视频免费观看| 久久综合日韩亚洲欧美| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 新版天堂中文资源8在线| 久久九操在线观看| 男男H黄动漫啪啪无遮挡网站| 江都AV在线| 香蕉精品二区二区| 亚洲天堂综合AV| 91黑丝在线| 国产精品午夜高潮呻吟久久av| 97国产精品久久久久| 中文字幕中文字幕一区二区| k频道色撸撸| 睡产熟女乱伦| 欧美美女视频| 91欧美偷拍| 超碰在线香蕉| 中美日韩毛片| 精品久久久高清无码| 91无摭挡| 91人妻爽爽人人做人人澡| 国产400孕妇孕交群| 色性综合| 欧美成熟性爱精品| 男人的天堂日本东京热| 99re28在线观看| 久悠悠av| 日韩欧美亚洲自拍偷拍| 美欧老女人97| 懂色Av| 欧美性爱一区| 色综合色欲色综合色综合色综合| 日日骚一区二区三区| 精品久久久久,69国产成人精| 亚洲丝袜诱惑| 美日韩在线不卡人妻| 91干熟女| 成·人免费午夜在线观看| 欧美中文狠| 亚洲综合色婷婷| 97chaopengongkai| 91AV天堂| 玖玖视频在线资源一区二区三区| 成人无遮挡毛片免费看| 97蜜桃综合| 乱伦系列一区二区| 久久亚洲中文字幕视频| 久啪视频| 美欧老女人97| 高凊专区人人操| 亚洲天堂人妻熟妇视频| 抽插爽| 99久久9| 在线无码网站| 欧洲久久一二线| 亚洲风情综合网| 欧美日韩少妇色情| 啊啊啊好爽快点啊啊啊嗯嗯| 国产91av在线播放| 嗯嗯啊好大| 97精品国产97久久久| 人妻乱仑一区二区三区| 成人蜜乳小视频网站| 91美| 日韩天天本| 91亚洲丝袜熟女| 一区二区三区网站日日骚| 欧美综合狠| 激情干在线| 学生妹天天看| 日韩性爱人人爱人人操| 殴美牲| 亚洲AV免费在线观看| 欧美大香蕉同搞| 国产精品黄色三级av| 亚洲久久久| 亚洲大色堂| 手机在线播放国产福利| 亚洲性天堂| 98人妻精品一区二区色欲| 97日视频| 97超碰热线| 欧美视频在线第3页| 久久久精品国产亚洲AV无码| 无码一区二区精品视频久久久春药| 中文字幕乱码在线| 久久东京热久久| 久久成人东京热人妻| www四虎| 九九热精品| 亚洲一区二区三区播放在线| 2017天天插| 欧美色图另类图片| 中国的操老妇女| 99热 按摩 日韩| 日韩精品9999| 女色视频社区| 神马久久久久眼| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲熟女乱色| 欧美大香蕉专区网| 日韩一区二区高清在线观看的| 国产又黄又爽又刺激久久久久久| 四虎午夜影院| 国产乱伦性爱区| 日韩成人在线性爱视频| 91人妻最真实刺激绿帽| 少妇无码av专区线| 成人久久久| 97在线观看| 一级婬片120分钟试看| 免费成人在线观看91| 国产家庭乱伦表演| jk白丝没脱就开始啪啪| 国产精品香蕉热久久新品| 九月丁香婷婷色| 久久久久九九九| 日韩免费性爱视频在线观看| 国产成人亚洲精品自产在线| 亚洲天堂无码| 95人妻爽爽人人做人人澡| 天天日天天爽| 爽爽歪在线视频| 国产精品欧美激在线| 老鸭窝日丰县女人| 国产精品久久泡妞网站| 久久精品无码专区| 五月丁香六月综合缴清无码| 国产女人操逼视频| 性爱久久| 欧美色图私拍91| 青青草久久| 婷婷10月天青娱乐| 欧美性夜| 成人av影院在线观看| 亚洲熟女av日韩熟女| 99久久无色码| 激情文学小说一区二区 | 免费自拍三级综合| 亚洲欧美日韩综合在线尤物 | 欧美黄片免费在线观看视频| 丁香五月天堂网| 免费看污网站| 久久久久久91香蕉国产| 国产精品一二三| 丁香婷婷五月| 无码高清操逼网址| 五月丁香婷婷综合| 97色涩| 一区在线精品中文字幕| 亚洲欧美一区二区三区一猛片| 超碰三级秋霞| 日韩av情韩国爱禁区av一区二区 | 亚洲综合另类欧美久久久| 精久久久| A级毛片在线看免费| 国产人妖视频一区在线观看| 老色69| 欧美美逼| 午夜美女福利视频| 激情五月丁香五月| 久久最新视频免费观看| 精品一区二区三区丰满熟女-亚洲欧美一区| 影视综合无码少妇| 人人色97| 久久日韩肥臀| 成人性爱全视频观看| 午夜啊啊啊| 韩国一级做a久久久久| 国产在线视视频有精品| 天堂亚洲精品久久老牛| 激情综合 婷婷五月 红杏| 国产免a费看黄片在线| 丰满少妇一区二区三区四区观看| 97中文字幕一区| 欧美激情另类一区二区| 免費人妻夜夜爽天天爽爽一区| 久久二| 边做饭边操逼逼| 欧美亚州手机在线| 二区熟妇韩日| 好爽视频在线观看视频 | 97超碰免费人人性爱| 91少妇高潮| 黄色欧美性爱视频| 欧美在线 亚洲| 秋霞网—男女啪啪亚洲免费体验区| 免费啪啪啪网站18岁| 久欲AV| 一级岛国大片| yiren97| J?P?NESEHD熟女熟妇伦| 人人乐大香蕉| 试看60秒 爽| 天天日天天舔| 综合网91| 97 亚洲 日韩 欧美 在线| 男人的天堂99| 在线可观看的黄色网址| 人妻大香蕉| 成人免费看吃奶视频网站| 综合影院亚洲| A级在线视频| 日本精品人妻少妇一区二区| 欧美色图亚洲激情| 91亚洲黑人| 亚洲本色精品一区二区久久| 日本天天色| 精品人妻一区二区三区四区| 欧美日韩成人在线| 情色五月天就去干| 日本片日本片祼观看网站在线看中文版网页在线看 | 东京热99999| 国产不良强奸视频免费看| 裸模AV女优| 国产高清亚洲日韩一区| 欧美香蕉视xxx| AV和黑人在线播放| 亚洲图片在线| 久久综合99| 精品视频一区二区| 亚洲大色堂| 久久性爱网站| 久热热| 一区二区三区日韩欧美| 欧美丰满少妇xx高潮| 肉丝中文无码高清| 99色综合| 人人操人人干xxx| 日本黄页视频在线观看| 静品嫩模一区二区| 极品销魂美女一区二区| 日韩美女高潮喷水视频| 很黄很色的视频在线观看| 色婷婷日韩精品一区二区三区| 夜色五月天| 国产精品久久天天干| www. 男人天堂成人在线| 影视综合无码少妇| 蜜臀中文无码午夜| 国产精品一二三区福利| 亚洲无码国产精品久久| 4tube欧美女厕所| 亚洲丝袜色图| 干婷婷综合网| 黄色香蕉视频网站一区| 麻豆天天躁天天揉揉AV| 天天影视激情欧美| 国产一级不卡在线观看| 久久香蕉国产线看观看亚洲女人 | 婷婷探花久久精品一区| 熟妇人妻一区二区三区| 操逼逼福利视频| 久久久专区| 美女诱惑1区2区| 国产网站在线播放| 凹凸视频在线一区二区| 男人天堂网手机版婷婷| 偷拍 精品 另类 四区| 欧美性爱三区二区| 操b在线观看| 天天欧美97| silk lablo在线观看一区二区| 91足交| 久久的免费性爱视频| 欧美熟女丝袜| 九九热精品在线| 最新中文字幕精品在线| 囯产精品久久久久久久久久梁医生 | 操人91| 综合欧美激情网| 日韩免费在线观看不卡| 俞拍久久国应视频| 超碰久草| 香蕉色网| 岛国小电影| 97干在线| 日本三级R| 亚洲欧美自拍偷拍| 一级性爱视频免费在线| 欧美一二三| 中国熟妇| 国产蜜臀精品一区二区尤物| 亚洲日本天堂| 国产精品午夜福利视频| 99操| 国产精品老熟女一区二区| 上海一级黄片| 日韩中文字幕国产| 欧美黄色手机在线观看| 久久久96| 日本色日夜干| 天天92av| 精品午夜福利| 丰满搜索结果 -第18页- 久久高清无码| 麻豆天美国美国产| 美女黄频a美女大全免费皮| 一本一道波多野毛片中文在线| 久久久久久一日韩字幕无码| 鸥美中出| 欧美色干| 蜜桃午夜视频一区二区 | 九九热精品视频六| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久9爱精品| 大香蕉日韩欧美| 国产三级中文字幕粉嫩| 激情视频图片| 99999国产| 男人综合网| 少妇久久久久久| 国产路线专区| 国产综合久| 亚洲男人天堂2017| 91青青草| 欧美日韩啪啪电影| 欧美成人A天堂片在线观看| 人妻 中文 日韩| 熟妇综合一区二区三区| 91久久九九精品国产综合| 成人无码在线视频网站| 超碰在线香蕉| 最新国产精品久久精品| 天天插天天干| AND人妻系列| 大香蕉92| 男人的天堂久久久| 超碰色男人操熟女| 日本阿v天堂在线观看| 久久久精品91八戒| 日本 欧美 国产一区| 尹人大香蕉视频在线| 丝袜性亚洲| 精人妻无码一区二区三区伊人直播| 玖玖大干人妻| 日韩成人性日韩成人性爱视频在线免费观看 | 午夜欧美女人操逼| 青娱乐亚洲热| 国产噜噜噜噜噜久久久久久久久| 久久风骚城市| 农村女一级毛卡片| 婷婷丁香五月天综合东京热| 色色五月天婷婷| 欧美性区| 国产农村妇女毛片精品久久| 囯产精品久久久久久久久久梁医生 | 伊人五月天| 97超级久久强资源| 91国产丝袜美女| 日韩99999| 激情 欧美 亚洲 小说| 国产高潮AA片免费看| 少妇与黑人高潮在线| 亚洲亚洲亚洲天堂天堂| 欧美999| 国产精品毛片?v一区二区三区| 99精品在线观看| 国产精品不卡一区二区三区| 超碰久久综合| 美国日韩黄片| 99精品视频在线观看免费| 女优视频第10页| 2017超碰| 黄片视频观看| 91久久久久久久| 综合av影片| 国色综合天| 国产一级内射无挡观看| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产精品久久久久无码A√| 丰满人妻-区二区三区免费| 国产美女口爆吞精| 久久夜夜| 欧美激情综合| 久9爱精品| 日韩性爱电影一区| 久久久九97| 神马久久免费电影观看| 黄色av片三级三级三级免费看| 欧洲中文字幕| 亚州精品人妻一二三区| 久久AV无码AV| 另类小说五月天| 传媒在线观看一区二区三区| 久久久久亚洲?V片无码V| 久久9久9久99久9久9| 日本媚薬中文字幕在线| 日逼逼免费看| 狠狠爱综合网| 亚洲女优有码无码高清| 成人免费不卡在线视频| 亚洲熟妇乱女区二区三区| 久久久久女教师免费一区| 色噜噜人妻丝袜a∨先锋影 | 97就爱干| 精品久久久久9999| 亚洲蜜臀精品视频久久| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 欧美狠狠操| 天天日天天干少妇日| 日本午夜精品理论片A级APP发布| 蜜臀aV午夜一区二区三区| 亚洲 欧美 小说| 日韩一区二区精彩视频| 青青草日本中文字幕| 久久精品 六十路 熟女 欧美| 大色综合网| 久久久久久久9最新免费视频观看| 国产一级内射无挡观看| 伊人久久亚洲中文字幕不卡| 国产精品国产亚洲区艳妇糸列| 99re6久热只有精品6在线直播| 国产精品久久久久久久久久久久久久| 夜夜爽爽爽| 三级色影综合网| 久9久| 偷拍盗拍亚洲色图图片| 婷婷伊人綜合中文字幕| 少妇的嫩逼图片| 蜜桃传媒一区二区亚洲| 黄色免费一级在线毛片| 午夜天堂精品久久| 日韩97| 开心五月激情网| 色悠久| 日本超碰97日韩精品人妻| 久久久久久一日韩字幕无码| 国产青青美女玩逼视频| 乱伦熟女专区| 超碰98综合网| 97最新在线播放视频| 熟妇人妻丰满久久久久久久无码| 99爱视频| 男女啪啪啪18禁网站| 日韩欧美天天爽爽爽天天爽爽| 国产精品久久久久久久黄无码| 五月天精品| 国产欧美日韩在线观看麻豆传媒公司| 99热在线观看| wwe 天天干.com| 欧美v亚洲v日韩v最新在线二区| 一区二区三区一亚洲中文字幕、综合区灬| 久久久999日本大片| 操操逼视频| 97资源站日韩| 亚洲狼狼干综合1| 日本中文字幕在线视频| 97chaopenrihan| 人妻少妇精品一区二区三区| 亚洲伊人a线观看视频| 蜜臀久久99精品久久久久电影| 精品国产乱码久久久久久影片| 久久久久亚洲熟妇熟女| 欧美丝袜美女电影一二三四区| 色婷婷成人| 久久久久亚洲AV无码专区少妇| 久热精品在线| 超碰 另类 欧美 | 亚洲熟妇极品| 国产精品96久久久久久| 青青操在线亚洲视频观看欧美在线 | 久久偷偷色综合蜜桃| 色99色| 国产亚洲日韩欧| 婷婷九月丁香| 亚洲中文字幕有码视频一区二区三区| 黄aaaaaaaaaaaaaaaaaa色网站| 婷婷爽人人婷婷爽视频| a人片中文字幕一区二区| 青青国产精品在线| 日本色色色色色视频| 偷拍偷窥与盗摄视频专区| 欧美玖玖爱免费玖玖| 污到发麻的视频 国产| 九九香蕉网| 人人操人人操人人人操| 综合色91| 欧美丝袜91| 国产污视频麻豆传媒一区二区| 色色色综合网| AV中文字幕三四五| 欧美97视频| 韩国轻伦国内自拍一区| 99视频只有精品| 怡红院一区二区熟女人妻| 久久草草亚洲蜜桃臀| 久久久久99精品成人片蜜臀| 久草久日| 手机不卡视频不卡在线一二三区| 熟女突然公开看18禁影片| 久久精品国产亚洲AV高清演员表| 91第一页| 久久激情四射婷婷丁香五月天| 欧美 亚洲 91| 二对二中文字幕。| 亚洲无套久久嗯嗯| 高清无码网址| 色色色色网站| 国模吧 一区二区三区| 人人操AV| 欧美国产有色电影| 日本999精品视频| 精品精品精品| 九九成人视频| 久久美女福利是上海美女| 欧美极品美女aaaaaa级黄片| 精品二区三四区五电影 | 色噜噜狠狠色综无码久久合欧美| 欧美日韩操逼嗦吊| 亚洲第一黄色av网站 | 伊人国产AV| 欧美黑人168页欧美黑人167| 小草av不卡亚洲二区| 校园春色综合色| 老女人爆菊| 国产欧美伊人| 一个人在线看的黄色电影网站| 国产精品小视频一区二区三区| 97网址www| 999狠狠综合| 日韩精品三区四区| 色婷婷成人综合| 嗯嗯啊啊视频在线看| 国产大学生高潮在线播放| 日韩精品在线观看观看| 日本 色 导航| 亚洲图片日本AⅤ欧美在线| 91搞逼视频| h4610国产人妻| 亚洲中文字幕三级在线| 国产欧美一区激情交| 啊啊啊啊嗯嗯嗯用力好爽| 久久久久久久久久久久久久9999| 九九黄色网| 五月丁香啪| 91视频成人福利网站在线一区 | 999亚洲国产视频| 91九色蝌蚪在线观看| 亚洲精品第一| 天天干一干| 青青11操操操操操操操操| 九色PORNY9l原创自拍| 俺去久久| 97看操| 床上啊啊啊一区二区三区| 91熟女少妇| 九九九热精品| 精品一区二区三区四区女| 激情视频图片| 成人一级二级| 色天堂在线观看| 97精品视频免费| 亚洲少妇在线影音| 国产三级多多影院2022国产AA一级毛片无码| 95精品在线| 亚洲中文字幕精品久久久久久直播| 日韩熟女操逼| 乱操乱伦AV| 人妻 中文 日韩|