自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Linux上用DNS實(shí)現(xiàn)簡單的負(fù)載均衡

系統(tǒng) Linux 系統(tǒng)運(yùn)維
DNS 輪詢是將多臺服務(wù)器映射到同一個主機(jī)名上,當(dāng)用戶訪問 foo.example.com 時多臺服務(wù)器都可用于處理它們的請求,使用的就是這種方式。

[[233926]]

DNS 輪詢將多個服務(wù)器映射到同一個主機(jī)名,并沒有為這里展示的魔法做更多的工作。

如果你的后端服務(wù)器是由多臺服務(wù)器構(gòu)成的,比如集群化或者鏡像的 Web 或者文件服務(wù)器,通過負(fù)載均衡器提供了單一的入口點(diǎn)。業(yè)務(wù)繁忙的大型電商在高端負(fù)載均衡器上花費(fèi)了大量的資金,用它來執(zhí)行各種各樣的任務(wù):代理、緩存、狀況檢查、SSL 處理、可配置的優(yōu)先級、流量整形等很多任務(wù)。

但是你并不需要做那么多工作的負(fù)載均衡器。你需要的是一個跨服務(wù)器分發(fā)負(fù)載的簡單方法,它能夠提供故障切換,并且不太在意它是否高效和完美。DNS 輪詢和使用輪詢的子域委派是實(shí)現(xiàn)這個目標(biāo)的兩種簡單方法。

DNS 輪詢是將多臺服務(wù)器映射到同一個主機(jī)名上,當(dāng)用戶訪問 foo.example.com 時多臺服務(wù)器都可用于處理它們的請求,使用的就是這種方式。

當(dāng)你有多個子域或者你的服務(wù)器在地理上比較分散時,使用輪詢的子域委派就比較有用。你有一個主域名服務(wù)器,而子域有它們自己的域名服務(wù)器。你的主域名服務(wù)器將所有的到子域的請求指向到它們自己的域名服務(wù)器上。這將提升響應(yīng)時間,因為 DNS 協(xié)議會自動查找最快的鏈路。

 

DNS 輪詢

輪詢和旅鶇鳥robins沒有任何關(guān)系,據(jù)我相熟的圖書管理員說,它最初是一個法語短語,ruban rond、或者 round ribbon。很久以前,法國政府官員以不分級的圓形、波浪線、或者直線形狀來在請愿書上簽字,以蓋住原來的發(fā)起人。

DNS 輪詢也是不分級的,簡單配置一個服務(wù)器列表,然后將請求轉(zhuǎn)到每個服務(wù)器上。它并不做真正的負(fù)載均衡,因為它根本就不測量負(fù)載,也沒有狀況檢查,因此如果一個服務(wù)器宕機(jī),請求仍然會發(fā)送到那個宕機(jī)的服務(wù)器上。它的優(yōu)點(diǎn)就是簡單。如果你有一個小的文件或者 Web 服務(wù)器集群,想通過一個簡單的方法在它們之間分散負(fù)載,那么 DNS 輪詢很適合你。

你所做的全部配置就是創(chuàng)建多條 A 或者 AAAA 記錄,映射多臺服務(wù)器到單個的主機(jī)名。這個 BIND 示例同時使用了 IPv4 和 IPv6 私有地址類:

  1. fileserv.example.com. IN A 172.16.10.10
  2. fileserv.example.com. IN A 172.16.10.11
  3. fileserv.example.com. IN A 172.16.10.12
  4.  
  5. fileserv.example.com. IN AAAA fd02:faea:f561:8fa0:1::10
  6. fileserv.example.com. IN AAAA fd02:faea:f561:8fa0:1::11
  7. fileserv.example.com. IN AAAA fd02:faea:f561:8fa0:1::12

Dnsmasq 在 /etc/hosts 文件中保存 A 和 AAAA 記錄:

  1. 172.16.1.10 fileserv fileserv.example.com
  2. 172.16.1.11 fileserv fileserv.example.com
  3. 172.16.1.12 fileserv fileserv.example.com
  4. fd02:faea:f561:8fa0:1::10 fileserv fileserv.example.com
  5. fd02:faea:f561:8fa0:1::11 fileserv fileserv.example.com
  6. fd02:faea:f561:8fa0:1::12 fileserv fileserv.example.com

請注意這些示例都是很簡化的,解析完全合格域名有多種方法,因此,關(guān)于如何配置 DNS 請自行學(xué)習(xí)。

使用 dig 命令去檢查你的配置能否按預(yù)期工作。將 ns.example.com 替換為你的域名服務(wù)器:

  1. $ dig @ns.example.com fileserv A fileserv AAA

它將同時顯示出 IPv4 和 IPv6 的輪詢記錄。

 

子域委派和輪詢

子域委派結(jié)合輪詢要做的配置會更多,但是這樣有一些好處。當(dāng)你有多個子域或者地理位置比較分散的服務(wù)器時,就應(yīng)該去使用它。它的響應(yīng)時間更快,并且宕機(jī)的服務(wù)器不會去響應(yīng),因此客戶端不會因為等待回復(fù)而被掛住。一個短的 TTL,比如 60 秒,就能幫你做到。

這種方法需要多臺域名服務(wù)器。在最簡化的場景中,你需要一臺主域名服務(wù)器和兩個子域,每個子域都有它們自己的域名服務(wù)器。在子域服務(wù)器上配置你的輪詢記錄,然后在你的主域名服務(wù)器上配置委派。

在主域名服務(wù)器上的 BIND 中,你至少需要兩個額外的配置,一個區(qū)聲明以及在區(qū)數(shù)據(jù)文件中的 A/AAAA 記錄。主域名服務(wù)器中的委派應(yīng)該像如下的內(nèi)容:

  1. ns1.sub.example.com. IN A 172.16.1.20
  2. ns1.sub.example.com. IN AAAA fd02:faea:f561:8fa0:1::20
  3. ns2.sub.example.com. IN A 172.16.1.21
  4. ns2.sub.example.com. IN AAA fd02:faea:f561:8fa0:1::21
  5.  
  6. sub.example.com. IN NS ns1.sub.example.com.
  7. sub.example.com. IN NS ns2.sub.example.com.

接下來的每臺子域服務(wù)器上有它們自己的區(qū)文件。在這里它的關(guān)鍵點(diǎn)是每個服務(wù)器去返回它自己的 IP 地址。在 named.conf 中的區(qū)聲明,所有的服務(wù)上都是一樣的:

  1. zone "sub.example.com" {
  2. type master;
  3. file "db.sub.example.com";
  4. };

然后數(shù)據(jù)文件也是相同的,除了那個 A/AAAA 記錄使用的是各個服務(wù)器自己的 IP 地址。SOA 記錄都指向到主域名服務(wù)器:

  1. ; first subdomain name server
  2. $ORIGIN sub.example.com.
  3. $TTL 60
  4. sub.example.com IN SOA ns1.example.com. admin.example.com. (
  5. 2018123456 ; serial
  6. 3H ; refresh
  7. 15 ; retry
  8. 3600000 ; expire
  9. )
  10.  
  11. sub.example.com. IN NS ns1.sub.example.com.
  12. sub.example.com. IN A 172.16.1.20
  13. ns1.sub.example.com. IN AAAA fd02:faea:f561:8fa0:1::20
  14. ; second subdomain name server
  15. $ORIGIN sub.example.com.
  16. $TTL 60
  17. sub.example.com IN SOA ns1.example.com. admin.example.com. (
  18. 2018234567 ; serial
  19. 3H ; refresh
  20. 15 ; retry
  21. 3600000 ; expire
  22. )
  23.  
  24. sub.example.com. IN NS ns1.sub.example.com.
  25. sub.example.com. IN A 172.16.1.21
  26. ns2.sub.example.com. IN AAAA fd02:faea:f561:8fa0:1::21

接下來生成子域服務(wù)器上的輪詢記錄,方法和前面一樣?,F(xiàn)在你已經(jīng)有了多個域名服務(wù)器來處理到你的子域的請求。再說一次,BIND 是很復(fù)雜的,做同一件事情它有多種方法,因此,給你留的家庭作業(yè)是找出適合你使用的最佳配置方法。

在 Dnsmasq 中做子域委派很容易。在你的主域名服務(wù)器上的 dnsmasq.conf 文件中添加如下的行,去指向到子域的域名服務(wù)器:

  1. server=/sub.example.com/172.16.1.20
  2. server=/sub.example.com/172.16.1.21
  3. server=/sub.example.com/fd02:faea:f561:8fa0:1::20
  4. server=/sub.example.com/fd02:faea:f561:8fa0:1::21

然后在子域的域名服務(wù)器上的 /etc/hosts 中配置輪詢。

獲取配置方法的詳細(xì)內(nèi)容和幫助,請參考這些資源:

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2010-04-20 12:07:17

DNS負(fù)載均衡

2010-05-10 14:15:54

DNS負(fù)載均衡

2018-01-15 14:36:34

Linux負(fù)載CPU

2009-01-10 18:53:01

服務(wù)器ServerDNS

2016-01-08 10:53:48

DNS負(fù)載均衡跨云應(yīng)用

2010-04-26 17:19:26

DNS負(fù)載均衡

2019-03-18 10:44:41

負(fù)載均衡DNSUDP

2010-05-06 16:58:10

Dns負(fù)載均衡

2010-04-26 13:34:43

DNS負(fù)載均衡

2010-04-26 16:36:31

DNS負(fù)載均衡設(shè)置

2018-04-10 10:49:17

負(fù)載均衡算法服務(wù)器

2010-04-26 16:30:00

DNS負(fù)載均衡

2010-05-04 17:05:29

DNS負(fù)載均衡

2010-05-06 12:18:34

IP負(fù)載均衡

2019-04-12 09:00:01

負(fù)載均衡Java服務(wù)器

2016-11-01 11:38:50

DNS網(wǎng)站性能

2010-05-04 16:59:52

DNS負(fù)載均衡

2011-02-17 09:45:54

FreeBSD 8.1nginx負(fù)載均衡

2010-04-26 00:04:22

線路負(fù)載均衡

2010-05-05 23:45:18

DNS負(fù)載均衡技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號