網(wǎng)絡(luò)服務(wù)在數(shù)據(jù)庫層的支持問題
昨天和網(wǎng)絡(luò)組的同學(xué)閑聊,突然發(fā)現(xiàn)數(shù)據(jù)和網(wǎng)絡(luò)層之間已經(jīng)好久沒有溝通了,其實(shí)這兩塊的銜接還是非常重要的,尤其是在高可用方向。我也提出了幾個(gè)問題,每個(gè)問題都覺得可以聊好久,在先期的溝通中,我覺得不著急給出答案,得到答案,而是經(jīng)過分析之后更合適的答案,所以在文中也是拋出問題,而不是刻意給出答案。
#問題1
服務(wù)器配置了Consul域名,有的業(yè)務(wù)使用IP連接,有的業(yè)務(wù)使用Consul 域名連接,怎么判斷業(yè)務(wù)到底是使用了IP還是域名?
問題背景:數(shù)據(jù)庫高可用的改造過程中,會(huì)出現(xiàn)一些業(yè)務(wù)未改造完整,有部分業(yè)務(wù)使用IP連接的情況,這個(gè)時(shí)候如果數(shù)據(jù)庫發(fā)生了故障,數(shù)據(jù)庫做了切換,從一臺(tái)服務(wù)器切換到另外一臺(tái)服務(wù)器,那么業(yè)務(wù)訪問的時(shí)候如果還使用IP就會(huì)報(bào)錯(cuò),如果能夠提前預(yù)判,就能夠把問題前置處理
#問題2
目前IP的使用是有基于VIP的使用模式,IP漂移的過程處理還是比較快的,在IP層是否還有其他的解決方案
#問題3
IP轉(zhuǎn)發(fā),如果有一臺(tái)服務(wù)器A,上面沒有實(shí)際的數(shù)據(jù)庫,有服務(wù)器B,如果需要業(yè)務(wù)訪問服務(wù)器A,能夠直接將請(qǐng)求轉(zhuǎn)發(fā)至服務(wù)器B,是否可以實(shí)現(xiàn)?
目前討論了3種實(shí)現(xiàn)方式:
1)服務(wù)器A轉(zhuǎn)發(fā)至服務(wù)器B,是一種預(yù)配置的方式
2)服務(wù)器A即時(shí)觸發(fā),轉(zhuǎn)發(fā)請(qǐng)求至服務(wù)器B,難度相對(duì)較大
3)在服務(wù)器A的配置前側(cè)做相應(yīng)的配置,能夠更前置處理
#問題4
如果業(yè)務(wù)服務(wù)器有10臺(tái),在數(shù)據(jù)庫層面已經(jīng)開通了防火墻權(quán)限,那么如何快速驗(yàn)證業(yè)務(wù)服務(wù)器的權(quán)限是否已經(jīng)開通
問題背景:目前業(yè)務(wù)申請(qǐng)權(quán)限后,如果數(shù)據(jù)庫端配置有誤(通常是數(shù)據(jù)庫用戶配置等),在業(yè)務(wù)發(fā)布上線時(shí)發(fā)現(xiàn)問題再緊急處理影響就會(huì)比較大
或者是申請(qǐng)數(shù)據(jù)庫權(quán)限后過了好幾天之后才發(fā)現(xiàn)有問題
#問題5
數(shù)據(jù)庫的防火墻里面有很多的服務(wù)器IP,有些服務(wù)器下線了之后其實(shí)防火墻信息里面就會(huì)始終保留這些信息,導(dǎo)致防火墻信息管理比較混亂
如果能夠提供相應(yīng)的機(jī)制能夠知曉相應(yīng)的服務(wù)器IP已經(jīng)下線,就可以聯(lián)動(dòng)處理這些問題
#問題6
數(shù)據(jù)庫容器化中網(wǎng)絡(luò)層面的支持可以細(xì)化到什么粒度?
#問題7
基于域名的方式,需要應(yīng)用服務(wù)器安裝Consul agent,同時(shí)配置dnsmasq做域名轉(zhuǎn)發(fā),如果新增業(yè)務(wù)都沒有使用安裝Consul agent,會(huì)基于網(wǎng)絡(luò)DNS做解析
基于API的方式,業(yè)務(wù)需要一定的改造,但是基于API的方式是一種無客戶端的狀態(tài),配置相對(duì)簡(jiǎn)單,更容易管理
目前兩種方式各有利弊,如果是基于純粹IP的方式,在一定程度上能夠做到隔離,即業(yè)務(wù)服務(wù)器訪問一個(gè)指定的IP,可能ping就不通,但是這些權(quán)限是可以通過防火墻來控制的。所以在這個(gè)方向上是否有更好的方案?
本文轉(zhuǎn)載自微信公眾號(hào)「楊建榮的學(xué)習(xí)筆記」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系楊建榮的學(xué)習(xí)筆記公眾號(hào)。