成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DNS在架構設計中的巧用

開發 開發工具
架構設計時,能夠巧用dns做一些什么事情呢,是本文要討論的問題。

一、緣起

一個http請求從客戶端到服務端,整個執行流程是怎么樣的呢?

一個http請求從客戶端到服務端

一個典型流程如上:

(1)客戶端通過域名daojia.com請求dns-server

(2)dns-server返回域名對應的外網ip(1.2.3.4)

(3)客戶端訪問外網ip(1.2.3.4)向反向代理nginx

(4)反向代理nginx配置了多個后端web-server服務內網ip(192.168.0.1/192.168.0.2)

(5)請求最終落到某一個web-server進行處理

其中,***個步驟域名daojia.com到外網ip(1.2.3.4)的轉換,發生在整個服務端外部,服務端不可控。

架構設計時,能夠巧用dns做一些什么事情呢,是本文要討論的問題。

二、反向代理水平擴展

反向代理水平擴展

典型的互聯網架構中,可以通過增加web-server來擴充web層的性能,但反向代理nginx仍是整個系統的***入口,如果系統吞吐超過nginx的性能極限,難以擴容,此時就需要dns-server來配合水平擴展。

反向代理水平擴展

具體做法是:在dns-server對于同一個域名可以配置多個nginx的外網ip,每次dns解析請求,輪詢返回不同的ip,這樣就能實現nginx的水平擴展,這個方法叫“dns輪詢”。

三、web-server負載均衡

web-server負載均衡

既然“dns輪詢”可以將同一個域名的流量均勻分配到不同的nginx,那么也可以利用它來做web-server的負載均衡:

(1)架構中去掉nginx層

(2)將多個web-server的內網ip直接改為外網ip

(3)在dns-server將域名對應的外網ip進行輪詢解析

和nginx相比,dns來實施負載均衡有什么優缺點呢?

優點:

  • 利用第三方dns實施,服務端架構不用動
  • 少了一層網絡請求

不足:

  • dns只具備解析功能,不能保證對應外網ip的可用性(即使能夠做80口的探測,實時性肯定也是比nginx差很多的),而nginx做反向代理時,與web-server之間有保活探測機制,當web-server掛掉時,能夠自動遷移流量
  • 當web-server需要擴容時,通過dns擴容生效時間長,而nginx是服務端完全自己可控的部分,web-server擴容更實時更方便

因為上面兩個原因,架構上很少取消反向代理層,而直接使用dns來實施負載均衡。

四、用戶就近訪問

根據客戶端ip來分配最近的服務器機房訪問

如文章“緣起”中所述,http請求的***個步驟域名到外網ip的轉換,發生在整個服務端外部,服務端不可控,那么如果要實施“根據客戶端ip來分配最近的服務器機房訪問”,就只能在dns-server上做了:

(1)電信用戶想要訪問某一個服務器資源

(2)瀏覽器向dns-server發起服務器域名解析請求

(3)dns-server識別出訪問者是電信用戶

(4)dns-server將電信機房的nginx外網ip返回給訪問者

(5)訪問者就近訪問

根據用戶ip來返回最近的服務器ip,稱為“智能dns”,cdn以及多機房多活中最常用。

五、總結

架構設計中,dns有它獨特的功能和作用:

  • dns輪詢,水平擴展反向代理層
  • 去掉反向代理層,利用dns實施負載均衡
  • 智能dns,根據用戶ip來就近訪問服務器

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2025-03-13 13:00:00

架構DNSIP

2025-04-28 09:00:00

DNS架構網絡

2009-06-12 16:07:05

演進式架構設計敏捷開發

2012-07-02 14:47:57

架構敏捷開發

2009-07-06 10:36:41

敏捷開發

2025-01-23 11:18:22

JavaSPI接口

2025-04-15 04:00:00

2013-05-27 10:58:28

Tumblr架構設計雅虎收購

2023-05-12 08:06:46

Kubernetes多云架構

2015-08-18 13:58:07

2015-01-27 15:25:53

MVVM

2011-04-08 17:03:19

Java架構

2025-01-15 08:10:29

Java架構代碼

2025-05-09 08:45:13

2015-06-02 04:17:44

架構設計審架構設計說明書

2021-11-08 06:57:35

Redis架構設計

2023-07-05 08:00:52

MetrAuto系統架構

2009-01-15 09:43:51

Web架構設計緩存

2012-05-11 10:38:15

Cloud Found

2025-03-03 00:44:44

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久最新精品 | 国产精品夜色一区二区三区 | www天天操| 国产免费播放视频 | 日日av| 一区二区三区国产 | 国产网站在线免费观看 | 黄色片免费看 | av电影手机版 | 一级全黄视频 | 青青草一区二区 | 亚洲国产精品久久久 | 九九久久久 | 久久精品av麻豆的观看方式 | 久久久久久国产 | 99re在线视频 | 久久久久国产精品一区二区 | 古装三级在线播放 | 精品国产久 | 国产一区二区精品在线观看 | 91精品国产综合久久精品 | 在线a视频网站 | 玖玖综合在线 | 日韩电影一区 | 日韩欧美亚洲 | 中文字幕在线第二页 | 久久国产精品免费一区二区三区 | 自拍偷拍av | 国产高清视频 | 天天干视频| 超碰一区二区 | 91久久精品一区二区二区 | 成人av免费看| 黄色av网站在线观看 | 日韩在线高清 | 午夜精品一区二区三区在线观看 | 男女羞羞视频在线看 | 亚洲毛片 | 91精品国产自产在线老师啪 | 国产日屁 | 久久久蜜臀国产一区二区 |