DNS實現粗粒度容災

2022-09-15 11:24:19 字數 1193 閱讀 6750

這裡介紹如果通過dns來實現容災,餓了麼有非常多的應用,應用的使用者量非常大,遍布各地。這些應用都是需要網域名稱的,所以為了提神服務質量,構建自己的dns體系,為餓了麼的應用提供網域名稱解析服務。

dns提供了根據網域名稱查ip位址的服務,和常見的http協議一樣,dns也是乙個工作在7層的應用成協議,他使用的埠是53

網域名稱和ip之間的對應關係,稱為記錄(record)。根據使用場景的不同,記錄分為不同的型別,常見的記錄型別如下:

記錄型別

功能描述

aipv4記錄,支援將網域名稱對映到ipv4位址使用

aaaipv6記錄,支援將網域名稱對映到ipv6位址使用

cname

canonical name,別名記錄,支援將網域名稱指向另外乙個網域名稱

mxmail exchanger,電子郵件互動記錄,支援將網域名稱指向郵件伺服器位址

nsname server,名稱伺服器,支援將子網域名稱委託給其他dns服務商解析

dns伺服器是指安裝了dns軟體後提供dns服務的計算機。我們可以在阿里雲ecs主機上安裝bind軟體來搭建自己的dns伺服器,然後將本機的dns伺服器位址指向該ecs主機以使用我們自己的dns解析服務。

實際上,國內外已經有很多dns服務商提供了免費的dns解析服務,各家都提供了公共的dns伺服器位址。比如谷歌的8.8.8.8,國內114dns的114.114.114.114。餓了麼之前也使用bind軟體搭建了bind集群提供dns服務,目前已經全量edns集群上了。

edns

edns是餓了麼自研的高效能權威dns,主要為滿足以下需求

edns原理

容災切換

目前我們線上使用的網域名稱解析方式主要有兩種:

a記錄解析方式:直接將某個網域名稱解析到乙個或若干個vip(或ip)上,如果解析到n個vip,則每個vip承擔1/n的請求量;

cname解析方式:將網域名稱a解析到另乙個網域名稱b上,b解析到某個vip,這時候假如b網域名稱解析發生變化,a網域名稱的解析也隨之變化。

原理圖

從系統穩定性角度來看,edns提供給業務最重要的價值就是機房災備切換和機房級別的流量排程。為了提高服務的可用性,業務系統一般採用多機房部署架構,當乙個機房的服務不可用時,可通過edns將流量切換到另乙個機房,從而使業務系統繼續提供服務。

通過rsync實現遠端容災備份

一 rsync簡介 rsync是linux系統下的資料映象備份工具,通過rsync可以將本地系統資料通過網路備份到任何遠端主機上,rsync有如下特性 可以映象儲存整個目錄樹和檔案系統 可以增量同步資料,檔案傳輸效率高,因而同步時間很短。可以保持原有檔案的許可權 時間等屬性。加密傳輸資料,保證了資料...

容災備份概念及實現方式

1 容災 容災主要是針對火災 等災難發生時,在保證生產系統的資料盡量少丟失的情況下,保持生存系統的業務不間斷地執行。容災系統不僅保護資料,更重要的目的在於保證業務的連續性。2 備份 備份是指為防止系統出現操作失誤或系統故障導致資料丟失,而將全系統或部分資料集合從應用主機的硬碟或陣列複製到其它的儲存介...

ES是如何實現節點容災的

es是如何實現節點容災的 1.es中的index,首先會進行分片,每乙個分片資料一般都會有自己的副本資料,es分配分片的策略會保證同乙個分片資料和自己的副本不會分配到同乙個節點上 2.當集群中的某一節點宕機後,es的master在ping該節點時通過一定的策略會發現該節點不存活 此時,es開啟恢復過...