之前有負(fù)責(zé)過(guò)公司的內(nèi)網(wǎng)域名系統(tǒng)的開(kāi)發(fā)以及一部分的建設(shè)。在這里做個(gè)總結(jié)。
首先第一個(gè)問(wèn)題:商用的域名管理平臺(tái)有DNSPOD,有阿里的域名管理平臺(tái),還有一些小眾平臺(tái),比如dns.la等。有些做運(yùn)維的同學(xué)都不是特別明白,我們使用公網(wǎng)的DNS系統(tǒng)就可以啊,為啥你們公司還搞個(gè)內(nèi)部的DNS服務(wù),我們之前都不需要。
解答:使用公網(wǎng)DNS服務(wù)的時(shí)候,我們企業(yè)內(nèi)部服務(wù)之間的調(diào)用是這樣的:
公司內(nèi)部服務(wù)之間的調(diào)用量,小公司可能還好本身自己的量也不大,但是當(dāng)公司做大之后內(nèi)網(wǎng)的網(wǎng)絡(luò)傳輸量是非常大的,這個(gè)時(shí)候如果我的服務(wù)1 和服務(wù)2之間的通信域名解析要走公網(wǎng)出去繞一圈再回來(lái),對(duì)性能要求高的肯定是沒(méi)法接受的,我2臺(tái)機(jī)器都純內(nèi)網(wǎng)高速網(wǎng)絡(luò)卻讓我去公網(wǎng)繞一圈,本身這是一點(diǎn),其次呢是:穩(wěn)定性,出公網(wǎng)就意味著公網(wǎng)出現(xiàn)網(wǎng)絡(luò)抖動(dòng)等等都會(huì)影響服務(wù)的響應(yīng)。技術(shù)可要更高的效率以及穩(wěn)定性。緩存這一塊也該考慮進(jìn)去,對(duì)于迭代頻繁以及一些需要秒切服務(wù)的應(yīng)用,公網(wǎng)DNS更是個(gè)大的瓶頸。
上述就是為什么要在自己公司內(nèi)部自建DNS服務(wù)的原因。那接下來(lái)就是搭建。
搭建我們選BIND,網(wǎng)上教程很多,這個(gè)不做過(guò)多的講解。服務(wù)好了,在初始化鏡像里加入我們的nameserver地址,本地找不到再去公網(wǎng)上。如圖:
服務(wù)1和服務(wù)2直接走內(nèi)網(wǎng)DNS服務(wù)請(qǐng)求,同時(shí)我們新增域名等等一系列的操作都可以立刻reload服務(wù),刷新。內(nèi)部DNS服務(wù)不存在的才去找公網(wǎng)DNS服務(wù)。
問(wèn)題二:平臺(tái)搭建使用zone文件還是數(shù)據(jù)庫(kù)存儲(chǔ)解析數(shù)據(jù)?
解答:zone文件存儲(chǔ)是傳統(tǒng)的方式,解析都是配置文件里。優(yōu)勢(shì),不會(huì)存在任何問(wèn)題,本地讀取,缺點(diǎn):很不方便使用。數(shù)據(jù)庫(kù)存儲(chǔ)是后來(lái)Bind服務(wù)支持的方式,更方便的增刪改查,bind服務(wù)讀取都直接從數(shù)據(jù)庫(kù)中讀取解析信息,缺點(diǎn):bind服務(wù)和數(shù)據(jù)庫(kù)之間的連接出現(xiàn)抖動(dòng)就會(huì)出現(xiàn)問(wèn)題,其次,數(shù)據(jù)庫(kù)的高可用也是風(fēng)險(xiǎn)點(diǎn)。綜合一下,我司更愿意使用第一種方案,運(yùn)維最在意的就是穩(wěn)定。使用不方便可以通過(guò)平臺(tái)開(kāi)發(fā)實(shí)現(xiàn)。
接下來(lái)就是開(kāi)發(fā)的工作了。本人使用django 實(shí)現(xiàn)快速的迭代。架構(gòu)圖如下:
線上的DNS服務(wù)不能因?yàn)槲覀兊钠脚_(tái)而導(dǎo)致服務(wù)穩(wěn)定性出現(xiàn)問(wèn)題,所以平臺(tái)需要脫離線上服務(wù),管理平臺(tái)和線上所有機(jī)器建立免秘鑰登錄,管理平臺(tái)和線上的所有DNS服務(wù)之間只是線上會(huì)推送文件zone文件給線上,然后執(zhí)行reload
問(wèn)題:為什么要冷備不選負(fù)載均衡?
解答:因?yàn)閦one文件是存在服務(wù)器上的文本,如果采用負(fù)載會(huì)導(dǎo)致兩邊機(jī)器同時(shí)更新,同時(shí)互相推送等的問(wèn)題,主機(jī)器只需要把備也當(dāng)做線上機(jī)器一樣推送zone文件就OK,當(dāng)主掛了備起來(lái),當(dāng)然了,我們就是想實(shí)現(xiàn)負(fù)載均衡也肯定是可以的,不過(guò),我們更關(guān)注的是高效和快速的開(kāi)發(fā)使用。這個(gè)架構(gòu)對(duì)我們來(lái)說(shuō)不存在瓶頸。
平臺(tái)開(kāi)發(fā)中的功能:1.解析增刪改查,備注,批量增刪改查,這些都是基本功能。其次就是操作記錄一定要記錄全,要支持一鍵回滾。按照企業(yè)需求開(kāi)發(fā)就好。
問(wèn)題:數(shù)據(jù)庫(kù)高可用改造?
解答:首先為什么域名解析會(huì)和數(shù)據(jù)庫(kù)都扯上關(guān)系了呢。感覺(jué)一點(diǎn)關(guān)系都沒(méi)有的東西怎么就有了交叉呢。
公司做大之后,運(yùn)維需要考慮更多的東西,比如:異地容災(zāi),萬(wàn)一北京的機(jī)房火災(zāi)了,如何立馬把所有的服務(wù)切換到上海,對(duì)服務(wù)要求更高的要求2地機(jī)房負(fù)載,用戶理哪里近請(qǐng)求哪里的資源。這個(gè)時(shí)候我們的平臺(tái)就能發(fā)揮橫向擴(kuò)展了,只要上海的DNS服務(wù)器和我們的平臺(tái)之間建立免秘鑰就OK,分分鐘搞定。
問(wèn)題來(lái)了,在異地機(jī)房容災(zāi)這一塊,數(shù)據(jù)庫(kù)也要實(shí)現(xiàn)容災(zāi)。那就得北京和上海同時(shí)擁有相同的數(shù)據(jù)庫(kù),假設(shè)北京數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題(阿里RDS 腦裂或機(jī)房火災(zāi))如何立馬切換到上海呢?
給每個(gè)使用數(shù)據(jù)庫(kù)的用戶都是通過(guò)域名來(lái)訪問(wèn)的。例如:dba.dba.com
我們需要實(shí)現(xiàn)當(dāng)北京的數(shù)據(jù)不可用的時(shí)候:dba.dba.com 172.168.1.1 這條解析立馬切換成dba.dba.com 172.169.1.1的解析,172.169.1.1 這個(gè)IP是我們大內(nèi)網(wǎng)上海的網(wǎng)段IP
看著好像是非常好,DBA的需求也實(shí)現(xiàn)了。當(dāng)他們200+的域名需要全部切換到上海的時(shí)候,約定規(guī)范,幾秒只能全部修改了推送到上海機(jī)器,然后reload 生效。
那么問(wèn)題又來(lái)了:平臺(tái)部署在北京機(jī)房,如果北京機(jī)房只是數(shù)據(jù)庫(kù)故障還好,平臺(tái)在就能切換。那如果北京機(jī)房不可用了呢。我們的平臺(tái)都能用了,還怎么給我切換了。我上海不能用了還要切換北京呢。這些都怎么給我解決呢。。。
一臉懵逼。。。。
解決方案:
架構(gòu)是有些復(fù)雜了。把DNS平臺(tái)好克隆到上海一套,為了讓用戶無(wú)感操作,點(diǎn)擊上海域名的時(shí)候在nginx上做強(qiáng)跳轉(zhuǎn)到上海,認(rèn)證可以通過(guò)在cookie里面設(shè)置值實(shí)現(xiàn)。
這樣是不是就可以北京全部down掉之后需上海不受影響了。
分享文章:企業(yè)域名管理系統(tǒng)的搭建&數(shù)據(jù)庫(kù)高可用改造
文章鏈接:http://www.rwnh.cn/news18/46018.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、云服務(wù)器、品牌網(wǎng)站制作、商城網(wǎng)站、做網(wǎng)站、建站公司
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)