MySQL讀寫分離基本原理是什么

本篇內(nèi)容主要講解“MySQL讀寫分離基本原理是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“MySQL讀寫分離基本原理是什么”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到東明網(wǎng)站設(shè)計(jì)與東明網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋東明地區(qū)。

MySQL讀寫分離基本原理是什么

一、讀寫分離工作原理

在一些大型網(wǎng)站業(yè)務(wù)場景中,單臺(tái)數(shù)據(jù)庫服務(wù)器所能提供的并發(fā)量已經(jīng)無法滿足業(yè)務(wù)需求,為了滿足這種情況,一般而言是通過主從同步的方式來同步數(shù)據(jù),在此基礎(chǔ)上,通過讀寫分離來提升數(shù)據(jù)庫的并發(fā)和負(fù)載能力。
一般而言,業(yè)務(wù)場景下對數(shù)據(jù)庫的查詢操作要遠(yuǎn)遠(yuǎn)高于增、刪和改,并且讀操作對數(shù)據(jù)庫的影響要更小。因此,我們一般會(huì)設(shè)置一臺(tái)數(shù)據(jù)庫服務(wù)器作為主服務(wù)器,主要承擔(dān)數(shù)據(jù)的增、刪和改的任務(wù),配置3-4臺(tái)數(shù)據(jù)庫服務(wù)器為從服務(wù)器,主要承擔(dān)數(shù)據(jù)的查詢?nèi)蝿?wù)。數(shù)據(jù)庫從服務(wù)器從數(shù)據(jù)庫主服務(wù)器中同步數(shù)據(jù),以此實(shí)現(xiàn)數(shù)據(jù)的一致性。

二、讀寫分離實(shí)現(xiàn)方式

根據(jù)讀寫分離實(shí)現(xiàn)的層級,讀寫分離一般有兩種方式實(shí)現(xiàn),通過應(yīng)用程序?qū)訉?shí)現(xiàn)和通過中間件層實(shí)現(xiàn)。
通過應(yīng)用程序?qū)訉?shí)現(xiàn)是指在網(wǎng)頁內(nèi)部實(shí)現(xiàn)數(shù)據(jù)查詢語言和數(shù)據(jù)操作語言分別指向不同的MySQL主庫和從庫。通過應(yīng)用程序?qū)訉?shí)現(xiàn)的MySQL讀寫分離圖解如下:
MySQL讀寫分離基本原理是什么
這樣做的優(yōu)點(diǎn)是減少了部署的難度,部署安裝即用,且性能較好,缺點(diǎn)是當(dāng)架構(gòu)拓展時(shí)也要修改代碼,難以實(shí)現(xiàn)自動(dòng)分庫、分表等高級操作,在一些大型應(yīng)用場景中不是很適用。
通過中間件層實(shí)現(xiàn)是指在應(yīng)用程序?qū)咏y(tǒng)一將所有的SQL語句指向一個(gè)中間件設(shè)備,由該中間件設(shè)備將不同的SQL語句指向不同的數(shù)據(jù)庫服務(wù)器進(jìn)行操作。通過中間件層實(shí)現(xiàn)讀寫分離圖解如下:
MySQL讀寫分離基本原理是什么
這樣做的優(yōu)點(diǎn)是架構(gòu)設(shè)計(jì)更加靈活,對業(yè)務(wù)代碼影響較小,可移植性好,并且可以實(shí)現(xiàn)高級控制,但是這種架構(gòu)需要專業(yè)的運(yùn)維人員對架構(gòu)進(jìn)行維護(hù)。

三、讀寫分離常用中間件

常用的讀寫分離中間件程序有以下種:
1、cobar
阿里B2B開發(fā)的關(guān)系型分布式系統(tǒng),是一款早期的中間件,后來因開發(fā)者離職而無人維護(hù)。
2、MyCAT
技術(shù)愛好者在cobar的基礎(chǔ)上進(jìn)行了二次開發(fā),解決了cobar的一些問題,并加入了一些新功能,目前MyCAT社區(qū)活躍度較高,也有很多公司在使用MyCAT。
3、OneProxy
Oneproxy是一款商業(yè)收費(fèi)的中間件,由支付寶團(tuán)隊(duì)開發(fā),在高并發(fā)場景下十分穩(wěn)定。
4、Vitess
該中間件架構(gòu)復(fù)雜,且使用Vitess需要使用其所提供的API接口。
5、Kingshard
由360團(tuán)隊(duì)開發(fā),支持分庫分表,但是在高并發(fā)情況下穩(wěn)定性一般。
6、MaxScale和MySQL Route
這兩者均為MySQL官方中間件。Maxscale是Mariadb研發(fā)的,MySQL Route是現(xiàn)在Oracle公司為MySQL數(shù)據(jù)庫發(fā)布的中間件。

到此,相信大家對“MySQL讀寫分離基本原理是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

標(biāo)題名稱:MySQL讀寫分離基本原理是什么
URL地址:http://bm7419.com/article46/jcegeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、軟件開發(fā)、網(wǎng)站設(shè)計(jì)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)