溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL Server數(shù)據(jù)庫中怎么通過搭建主從復(fù)制實(shí)現(xiàn)讀寫分離

發(fā)布時(shí)間:2021-08-07 11:02:22 來源:億速云 閱讀:441 作者:Leah 欄目:編程語言

本篇文章為大家展示了SQL Server數(shù)據(jù)庫中怎么通過搭建主從復(fù)制實(shí)現(xiàn)讀寫分離,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

SQL Server提供了三種技術(shù),可以用于讀寫分離的實(shí)現(xiàn):日志傳送、事務(wù)復(fù)制和SQL Server 2012以上版本中新增的功能Always On技術(shù)。這三種技術(shù)的比較如下:

SQL Server數(shù)據(jù)庫中怎么通過搭建主從復(fù)制實(shí)現(xiàn)讀寫分離

.NET高級進(jìn)階之基于SQL Server搭建主從復(fù)制實(shí)現(xiàn)讀寫分離實(shí)戰(zhàn)演練

配置復(fù)制就沒有數(shù)據(jù)庫鏡像和AlwaysOn的要求那么高,只需要兩臺服務(wù)器能通過TCP進(jìn)行通訊即可,兩臺服務(wù)器操作系統(tǒng)和SQL版本都可以不完全一致,而且兩臺服務(wù)器也不需要加入域,所以配置復(fù)制訂閱就簡單多了,但是復(fù)制訂閱主要是針對數(shù)據(jù)表而不能像鏡像和AlwaysOn那樣配置整個(gè)數(shù)據(jù)庫,這也是它的缺點(diǎn)吧。

綜上:考慮到簡單性和實(shí)用性,這里阿笨推薦采用事務(wù)復(fù)制技術(shù)來實(shí)現(xiàn)SQL SERVER讀寫分離。

三、Microsoft SQL Server 2014主從復(fù)制環(huán)境搭建實(shí)戰(zhàn)演練

1)、同臺服務(wù)器不同數(shù)據(jù)庫實(shí)現(xiàn)主從復(fù)制

在《.NET Core基于SQL Server數(shù)據(jù)庫實(shí)現(xiàn)讀寫分離實(shí)戰(zhàn)演練》分享課程中已經(jīng)演示過。

2)、不同服務(wù)器不同數(shù)據(jù)庫實(shí)現(xiàn)主從復(fù)制(由于篇幅較長,單獨(dú)課程進(jìn)行分享)

SQL Server數(shù)據(jù)庫中怎么通過搭建主從復(fù)制實(shí)現(xiàn)讀寫分離

.NET高級進(jìn)階之基于SQL Server搭建主從復(fù)制實(shí)現(xiàn)讀寫分離實(shí)戰(zhàn)演練

   讀寫分離就是主從集群,一主多從或者一主一叢都是可以的,就是數(shù)據(jù)庫主機(jī)復(fù)制寫入操作,從機(jī)負(fù)責(zé)讀的操作,主機(jī)寫入以后再同步給從機(jī);

四、思考與總結(jié)

4.1、總結(jié):怎么開發(fā)中我們的程序使用數(shù)據(jù)庫主從?

一個(gè)是主連接字符串,另外是一個(gè)或者多個(gè)從的字符配置,我們要實(shí)現(xiàn)讀寫分離就是去實(shí)現(xiàn)讀取的時(shí)候用從庫的連接字符串,寫入的時(shí)候用主庫的連接字符串,說到這里我想大家應(yīng)該很明確自己的思路明確一點(diǎn),那就是我們讀的時(shí)候用從庫,寫的時(shí)候用主庫。

1)、根據(jù)切換數(shù)據(jù)庫連接字符串R/W來實(shí)現(xiàn)手動(dòng)的讀寫分離。缺點(diǎn):不靈活,擴(kuò)展低,不具備高可用,穩(wěn)定性差,侵入式太強(qiáng),只適合小項(xiàng)目臨時(shí)應(yīng)急使用。

2)、第三方數(shù)據(jù)庫中間件比如阿里巴巴的MyCat、 360開發(fā)的atlas  等等。缺點(diǎn):重量級,入門門檻難度大,學(xué)習(xí)成本高。

3)、.NET Core開源數(shù)據(jù)庫訪問組件。優(yōu)點(diǎn):靈活,真真實(shí)現(xiàn)讀寫分離。 

4.2、思考:如何保證數(shù)據(jù)庫主從復(fù)制的高可用呢?

SQL Server數(shù)據(jù)庫中怎么通過搭建主從復(fù)制實(shí)現(xiàn)讀寫分離

基于SQL Server搭建主從復(fù)制實(shí)現(xiàn)讀寫分離實(shí)戰(zhàn)演練

虛擬IP(VIP)。缺點(diǎn):需要運(yùn)維人員支持(基于VIP的keepalived高可用集群架構(gòu))!

1)、怎么實(shí)現(xiàn)故障檢測的那?

心跳,采用定時(shí)發(fā)送一個(gè)數(shù)據(jù)包,如果機(jī)器多長時(shí)間沒響應(yīng),就認(rèn)為是發(fā)生故障,自動(dòng)切換到熱備的機(jī)器上去。

2)、怎么實(shí)現(xiàn)自動(dòng)切換那?

虛IP。何為虛IP那,就是一個(gè)未分配給真實(shí)主機(jī)的IP,也就是說對外提供數(shù)據(jù)庫服務(wù)器的主機(jī)除了有一個(gè)真實(shí)IP外還有一個(gè)虛IP,使用這兩個(gè)IP中的 任意一個(gè)都可以連接到這臺主機(jī),所有項(xiàng)目中數(shù)據(jù)庫鏈接一項(xiàng)配置的都是這個(gè)虛IP,當(dāng)服務(wù)器發(fā)生故障無法對外提供服務(wù)時(shí),動(dòng)態(tài)將這個(gè)虛IP切換到備用主機(jī)。


上述內(nèi)容就是SQL Server數(shù)據(jù)庫中怎么通過搭建主從復(fù)制實(shí)現(xiàn)讀寫分離,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI