百萬并發(fā)架構(gòu)設(shè)計:LVS+Nginx+SpringCloudGateway
百萬并發(fā)設(shè)計
面對百萬并發(fā),首要任務(wù)是在流量接入層進(jìn)行極致優(yōu)化和分流。
接入層(LVS + Keepalived):使用 LVS(四層負(fù)載均衡)作為第一道防線。
利用其內(nèi)核態(tài)轉(zhuǎn)發(fā)的高性能和 Keepalived 實(shí)現(xiàn)的高可用性,快速分發(fā)海量tcp/udp連接。
在 LVS 之后,部署 Nginx ,這一層負(fù)責(zé)七層負(fù)載均衡。
將復(fù)雜的業(yè)務(wù)邏輯處理從 LVS 分離,提高 LVS 的效率。
最后,作為所有微服務(wù)對外的統(tǒng)一入口,網(wǎng)關(guān)必須具備極高的性能和彈性。
負(fù)載并發(fā)設(shè)計
百萬并發(fā)下,流量入口易成瓶頸,單層負(fù)載(如純Nginx)難以支撐峰值。
為應(yīng)對突發(fā)與持續(xù)的海量請求,采用多層負(fù)載均衡架構(gòu)可分擔(dān)網(wǎng)絡(luò)與應(yīng)用壓力。

upstream microservices {
least_conn;# 最少連接算法,優(yōu)化高并發(fā)
server 192.168.1.10:8080 weight=3 max_fails=3 fail_timeout=10s;
server 192.168.1.11:8080 weight=2;
keepalive 32;# 連接池復(fù)用,提升吞吐
}
server {
listen 80;
location /api/{
proxy_pass http://microservices;
proxy_set_header X-Real-IP $remote_addr;
health_check interval=3 fails=2 uri=/actuator/health;
}
}第一層:通常使用LVS(Linux Virtual Server),在四層轉(zhuǎn)發(fā)(L4)。
實(shí)現(xiàn)高性能、低開銷的調(diào)度,負(fù)責(zé)將流量快速分發(fā)到集群入口。
第二層以Nginx等反向代理在七層(L7)進(jìn)行智能路由、緩存靜態(tài)內(nèi)容與做SSL終端。
LVS負(fù)責(zé)高吞吐與連接分發(fā),Nginx負(fù)責(zé)HTTP層的會話保持、請求過濾與緩存。
兩者協(xié)同,可顯著提高并發(fā)承載能力并降低單點(diǎn)瓶頸風(fēng)險。
微服務(wù)網(wǎng)關(guān)架構(gòu)
網(wǎng)關(guān)作為微服務(wù)統(tǒng)一入口,在百萬并發(fā)下需處理認(rèn)證、路由和流量整形。
Spring Cloud Gateway(基于WebFlux和Netty)取代Zuul。
承擔(dān)認(rèn)證鑒權(quán)、協(xié)議轉(zhuǎn)換、路由聚合與統(tǒng)一限流等職責(zé)。

支持非阻塞I/O,單實(shí)例QPS超10萬,適合高并發(fā)場景。
設(shè)計要點(diǎn):
高并發(fā)架構(gòu):Reactor模型+異步處理,避免線程阻塞。
動態(tài)路由使用Predicate(路徑/Header匹配)和Filter(限流/日志),集成Nacos服務(wù)發(fā)現(xiàn)實(shí)現(xiàn)負(fù)載均衡。
核心功能:JWT/OAuth認(rèn)證、灰度發(fā)布(基于User-Agent)和緩存穿透防護(hù)。
與上游協(xié)同:Nginx卸載靜態(tài)資源,Gateway專注業(yè)務(wù)路由。
典型鏈路:客戶端→LVS/Nginx→Gateway→后端服務(wù)。
服務(wù)熔斷
面對高并發(fā)和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境,服務(wù)熔斷是關(guān)鍵保障。

熔斷器監(jiān)控服務(wù)調(diào)用指標(biāo)(如錯誤率、延遲),當(dāng)異常超過閾值時,自動切斷調(diào)用鏈,防止故障擴(kuò)散到整個系統(tǒng)。
通過快速失敗保護(hù)系統(tǒng)資源,避免雪崩效應(yīng),保證其余服務(wù)正常工作。
常用熔斷框架包括Sentinel、Hystrix…等。
服務(wù)降級
降級與限流是保障核心業(yè)務(wù)可用性的最后防線。

限流通過令牌桶、漏斗或計數(shù)器等算法控制進(jìn)入系統(tǒng)的請求速率,防止資源耗盡;
降級則在資源緊張或服務(wù)不可用時,將非核心功能或耗時操作退化為輕量處理或靜態(tài)響應(yīng),從而優(yōu)先保證關(guān)鍵路徑的可用性。






























