文章目錄
- Nginx基本概念
- 反向代理
- 負載均衡
- 動靜分離
- 原理
- mater&worker
- worker如何作業
- worker_connection
- 優點
Nginx基本概念
Nginx(engine x)是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務,其特點是占有記憶體少,并發能力強,事實上nginx的并發能力在同型別的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等,
Nginx專為性能優化而開發,性能是器最重要的考量,實作上非常注重效率,能經受高負載的考驗,據報告能支持高達50,000個并發連接數,
Nginx不僅能作反向代理,實作負載均衡;還能可以作正向代理來進行上網等功能,
反向代理
正向代理:
在客戶端(瀏覽器)配置代理服務器,通過代理服務器進行互聯網訪問,代理物件是客戶端,不知道服務端是誰,

反向代理
客戶端不需要任何配置就能訪問,只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器,獲取資料后在回傳給客戶端,對外就一個服務器,暴露的是反向代理服務器地址,隱藏了真實服務器IP地址,代理物件是服務端,不知道客戶端是誰,

負載均衡
客戶端發送多個請求到服務器,服務器處理請求,有些可能要訪問資料庫,服務器處理完畢后再將結果回傳客戶端,
這種架構模式單一,適合并發請求少的情況,但并發量大的時候如何解決?

首先可能想到升級服務器配置,但硬體的性能提升不能滿足日益增長的需求,此時想到服務器集群,增加服務器數量,然后將原先請求單個服務器的情況改為將請求分發到多個服務器上,將負載分發到多個服務器上,也就是我們講的負載均衡,

動靜分離
為了加快網站的決議速度,可以把動態頁面和靜態頁面由不同的服務器來決議,減少服務器壓力,加快決議速度,

原理
mater&worker

master接收信號后將任務分配給worker進行執行,worker可有多個,

worker如何作業
客戶端發送一個請求到master后,worker獲取任務的機制不是直接分配也不是輪詢,而是一種爭搶的機制,“搶”到任務后再執行任務,即選擇目標服務器tomcat等,然后回傳結果,

worker_connection
發送請求占用了woker兩個或四個連接數,
- 普通的靜態訪問最大并發數是: worker_connections ? * ?worker_processes / 2 /2 /2
- 若是 HTTP 作 為反向代理來說,最大并發數量應該是 worker_connections ? * ?worker_processes / 4 /4 /4,
當然了,worker數也不是越多越好,worker數和服務器的CPU數相等時最適宜的,
優點
- 可以使用 nginx –s reload 熱部署,利用 nginx 進行熱部署操作
- 每個 woker 是獨立的行程,若其中一個woker出現問題,其他繼續進行爭搶,實作請求程序,不會造成服務中斷
原創不易,請勿轉載(
本不富裕的訪問量雪上加霜)
博主首頁:https://blog.csdn.net/qq_45034708
如果文章對你有幫助,記得關注點贊收藏?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/11766.html
標籤:java
