目錄
一、接入鏈路示例
二、域名解析過(guò)程
1、相關(guān)概念
1.1、域的結(jié)構(gòu)
1.2、DNS是什么?
1.3、DNS根域名服務(wù)器
1.4、頂級(jí)域名服務(wù)器
1.5、權(quán)威域名服務(wù)器
2、域名解析過(guò)程
2.1、檢查Hosts文件
2.2、檢查本地DNS緩存
2.3、DNS解析--本地DNS服務(wù)器
2.4、DNS解析--根域名服務(wù)器?
2.5、DNS解析--頂級(jí)域名服務(wù)器
2.6、DNS解析--本地DNS服務(wù)器返回IP地址
三、Nginx
1、什么是反向代理?
2、什么是負(fù)載均衡?
3、什么是動(dòng)靜分離?
一、接入鏈路示例
-
DNS 解析域名:當(dāng)用戶在瀏覽器中輸入域名時(shí),首先會(huì)發(fā)送 DNS 查詢請(qǐng)求到 DNS 服務(wù)器。DNS 服務(wù)器負(fù)責(zé)解析域名并返回對(duì)應(yīng)的 IP 地址。
-
Nginx 作為反向代理:一旦 DNS 解析返回了 IP 地址,用戶的請(qǐng)求將被發(fā)送到該 IP 地址。在這個(gè) IP 地址上,通常會(huì)配置 Nginx 作為反向代理服務(wù)器。
-
Ingress Controller 配置規(guī)則:Nginx 反向代理服務(wù)器通過(guò)配置文件或動(dòng)態(tài)配置與 Ingress Controller 進(jìn)行通信。Ingress Controller 監(jiān)聽(tīng) Kubernetes API Server 中的 Ingress 資源變化,并根據(jù)規(guī)則配置 Nginx 反向代理的負(fù)載均衡和路由規(guī)則。
-
轉(zhuǎn)發(fā)請(qǐng)求到 Pod:當(dāng)外部請(qǐng)求到達(dá) Nginx 反向代理服務(wù)器時(shí),根據(jù) Ingress Controller 配置的規(guī)則,Nginx 將請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的 Pod。Pod 是 Kubernetes 中運(yùn)行應(yīng)用程序的最小單元,可以包含一個(gè)或多個(gè)容器。
二、域名解析過(guò)程
1、相關(guān)概念
1.1、域的結(jié)構(gòu)
1.2、DNS是什么?
DNS(Domain Name System),DNS 是一個(gè)分布式的命名系統(tǒng),用于將域名(如www.example.com)轉(zhuǎn)換為對(duì)應(yīng)的IP 地址。它充當(dāng)了互聯(lián)網(wǎng)上的"電話簿",幫助用戶通過(guò)易記的域名訪問(wèn)網(wǎng)站,而不需要記住復(fù)雜的 IP 地址。
1.3、DNS根域名服務(wù)器
根域名服務(wù)器(Root DNS Servers)是全球DNS系統(tǒng)的頂層服務(wù)器,它們存儲(chǔ)了頂級(jí)域名服務(wù)器的地址。根域名服務(wù)器的數(shù)量非常有限,目前共有13組根域名服務(wù)器,分布在全球不同的地理位置。每個(gè)根域名服務(wù)器都有自己的標(biāo)識(shí)符,通常用字母A到M表示。
1.4、頂級(jí)域名服務(wù)器
頂級(jí)域名服務(wù)器(Top-Level Domain DNS Servers)是負(fù)責(zé)管理特定頂級(jí)域名的域名服務(wù)器。例如,.com域名的頂級(jí)域名服務(wù)器負(fù)責(zé)管理所有以.com結(jié)尾的域名的解析服務(wù)。每個(gè)頂級(jí)域名都有自己的一組域名服務(wù)器,用于處理與該頂級(jí)域名相關(guān)的域名解析請(qǐng)求。
1.5、權(quán)威域名服務(wù)器
權(quán)威域名服務(wù)器(Authoritative Name Server)是負(fù)責(zé)管理特定域名的DNS服務(wù)器。每個(gè)域名都有一個(gè)或多個(gè)權(quán)威域名服務(wù)器,它們存儲(chǔ)著該域名的DNS記錄,包括該域名對(duì)應(yīng)的IP地址、子域名、郵件服務(wù)器等信息。
權(quán)威域名服務(wù)器通常由域名所有者或托管服務(wù)提供商管理和維護(hù)。它們負(fù)責(zé)更新和維護(hù)域名的DNS記錄,并確保域名解析的準(zhǔn)確性和可用性。
需要注意的是,權(quán)威域名服務(wù)器只負(fù)責(zé)管理特定域名的解析,而不處理其他域名的解析請(qǐng)求。因此,在域名解析過(guò)程中,需要經(jīng)過(guò)多級(jí)的域名服務(wù)器層級(jí)查詢,從根域名服務(wù)器到頂級(jí)域名服務(wù)器,最終到達(dá)權(quán)威域名服務(wù)器,以獲取所需的域名解析結(jié)果。
2、域名解析過(guò)程
2.1、檢查Hosts文件
當(dāng)計(jì)算機(jī)進(jìn)行域名解析時(shí),首先會(huì)檢查hosts文件中是否存在與要解析的域名對(duì)應(yīng)的條目。如果存在匹配的條目,計(jì)算機(jī)將使用hosts文件中指定的IP地址來(lái)解析域名;
?
2.2、檢查本地DNS緩存
如果hosts文件中沒(méi)有匹配的條目,計(jì)算機(jī)會(huì)繼續(xù)檢查本地DNS緩存中是否存在該域名的解析結(jié)果。如果存在緩存,計(jì)算機(jī)會(huì)直接使用緩存中的結(jié)果,而不會(huì)向DNS服務(wù)器發(fā)送查詢請(qǐng)求。
2.3、DNS解析--本地DNS服務(wù)器
如果hosts文件和本地DNS緩存都沒(méi)有匹配的結(jié)果,計(jì)算機(jī)會(huì)向DNS服務(wù)器發(fā)送查詢請(qǐng)求,獲取域名對(duì)應(yīng)的IP地址,并將結(jié)果存儲(chǔ)到本地DNS緩存中,以備將來(lái)使用。
瀏覽器會(huì)向本地 DNS 服務(wù)器發(fā)送一個(gè) DNS 查詢請(qǐng)求。本地 DNS 服務(wù)器首先查看自己的緩存,如果有對(duì)應(yīng)的域名解析結(jié)果,則直接返回給瀏覽器。?
本地DNS服務(wù)器:
2.4、DNS解析--根域名服務(wù)器?
如果本地 DNS 服務(wù)器沒(méi)有緩存記錄,它會(huì)向根域名服務(wù)器發(fā)送查詢請(qǐng)求。根域名服務(wù)器告訴本地 DNS 服務(wù)器負(fù)責(zé)該域名的頂級(jí)域名服務(wù)器的地址;
需要注意的是,根域服務(wù)器并不直接提供特定域名的IP地址,它們只提供指向下一級(jí)域服務(wù)器的信息。這種分層結(jié)構(gòu)使得域名解析過(guò)程更加高效和可擴(kuò)展,并確保全球范圍內(nèi)的域名解析一致性。
2.5、DNS解析--頂級(jí)域名服務(wù)器
然后本地 DNS 服務(wù)器再向頂級(jí)域名服務(wù)器發(fā)送查詢請(qǐng)求。這個(gè)過(guò)程逐步向下迭代,直到找到負(fù)責(zé)該域名的 DNS 服務(wù)器,并獲取到域名對(duì)應(yīng)的 IP 地址。
2.6、DNS解析--本地DNS服務(wù)器返回IP地址
最后,本地 DNS 服務(wù)器將 IP 地址返回給瀏覽器,瀏覽器使用該 IP 地址與服務(wù)器建立連接。
三、Nginx
Nginx 是一個(gè)開(kāi)源的高性能 Web 服務(wù)器和反向代理服務(wù)器。它具有輕量級(jí)、高并發(fā)處理能力和低內(nèi)存消耗等特點(diǎn),廣泛用于構(gòu)建高性能的 Web 服務(wù)器集群和負(fù)載均衡環(huán)境。
在 Web 服務(wù)器方面,Nginx 接收客戶端的 HTTP 請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給后端的應(yīng)用服務(wù)器,如 Tomcat、Node.js 等。它可以處理靜態(tài)文件的請(qǐng)求,提供負(fù)載均衡、反向代理、緩存、SSL 加密等功能。
當(dāng)客戶端發(fā)送一個(gè) HTTP 請(qǐng)求到 Nginx 服務(wù)器時(shí),Nginx 首先根據(jù)配置文件中的規(guī)則進(jìn)行請(qǐng)求的匹配和處理。根據(jù)配置的反向代理規(guī)則,Nginx 可以將請(qǐng)求轉(zhuǎn)發(fā)給后端的應(yīng)用服務(wù)器。它還可以根據(jù)負(fù)載均衡算法將請(qǐng)求分發(fā)給多個(gè)后端服務(wù)器,實(shí)現(xiàn)請(qǐng)求的分流和高可用性。
Nginx 的高性能和高并發(fā)處理能力使得它成為構(gòu)建高可用、高性能的 Web 服務(wù)器架構(gòu)的重要組件。
1、什么是反向代理?
正向代理是代理客戶端的(想一下電腦上安裝的VPN,幫你請(qǐng)求外部資源);
反向代理是代理服務(wù)器的,反向代理是一種服務(wù)器架構(gòu)模式,它將客戶端的請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器,并將后端服務(wù)器的響應(yīng)返回給客戶端,客戶端并不直接與后端服務(wù)器通信。
2、什么是負(fù)載均衡?
Nginx 可以將客戶端請(qǐng)求分發(fā)給多個(gè)后端服務(wù)器,以實(shí)現(xiàn)負(fù)載均衡。通過(guò)合理配置負(fù)載均衡算法,可以根據(jù)服務(wù)器的性能和負(fù)載情況,將請(qǐng)求均勻地分發(fā)到后端服務(wù)器上,提高系統(tǒng)的性能和可擴(kuò)展性。
輪詢--加權(quán)輪詢
3、什么是動(dòng)靜分離?
可以將動(dòng)態(tài)請(qǐng)求轉(zhuǎn)發(fā)給后端應(yīng)用服務(wù)器(如 Tomcat、Node.js、Django 等),而將靜態(tài)資源直接由 Nginx 服務(wù)器處理和返回,從而提高系統(tǒng)的整體性能。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-705928.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-705928.html
到了這里,關(guān)于了解被測(cè)系統(tǒng)(二)接入鏈路--包括域名解析和Nginx代理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!