bind: DNS服務端。
namedmanager: DNS web管理頁面。
dnsmasq: 併發查詢上游dns域名解析。
問題:
做爲消息推送業務,單臺業務機器域名解析併發達到上萬次。業務機器集羣龐大,高峯期dns解析併發數能夠達到100w。形成dns服務端壓力巨大,出現異常:高負載,解析超時,或者拒絕服務,沒法解析域名。web
解決方案以下:緩存
1、上100w的併發查詢致使dns拒絕服務: bind默認recursive clients值爲1000,加大bind併發數能夠解決高併發問題,解決拒絕服務問題。 2、上游dns ip異常致使解析超時,致使業務異常: bind是單點查詢上游dns的,就算你寫了上10個上游dns ip都沒用,上100w的併發查詢,只要上游一個dns ip出現異常,就會致使一大批的業務異常。使用dnsmasq併發查詢上游dns,解決單點上游DNS ip異常超時問題。 3、dns域名解析併發數太大,致使dns服務端高負載、拒絕服務: 業務機器使用dnsmasq作本地dns緩存,解決bind服務端壓力問題。
這種架構對dns服務端有質變的優化效果。架構