溫馨提示×

溫馨提示×

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

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

MySQL中間件是怎么樣的

發(fā)布時間:2021-11-16 09:33:53 來源:億速云 閱讀:330 作者:柒染 欄目:MySQL數(shù)據(jù)庫

MySQL中間件是怎么樣的,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

首先數(shù)據(jù)庫技術(shù)發(fā)展的基礎(chǔ)還是在業(yè)務(wù)推動的背景下,能夠?qū)崿F(xiàn)相關(guān)的技術(shù)保障。業(yè)務(wù)需求的提升必然會在數(shù)據(jù)量,訪問量等方面有更高的要求,而映射到數(shù)據(jù)庫層面就不是簡單的擴(kuò)容和添加資源了,我們有時候更需要彈性,需要快速實(shí)現(xiàn),需要更高的性能。這些都是擺在我們面前的問題,而不僅僅是DBA團(tuán)隊。

所以早期的很多數(shù)據(jù)庫,從一主一從,一主多從的架構(gòu),逐步演變到了讀寫分離,分庫分表,然后就是分布式。而同時從很多層面來說,行業(yè)內(nèi)的方案真是百花齊放,記得前幾天還和同事聊,說如果對比一下Oracle和MySQL,讓我怎么評價,我說單純評估單機(jī)的性能和功能,MySQL要落后很多,但是從成本,技術(shù)把控,定制層面來看,MySQL的簡單反而成了其中的一個優(yōu)勢,在這個基礎(chǔ)上,它有非常多的開源方案,這些讓原本MySQL的應(yīng)用變得非常豐富起來,你說MySQL能不能做企業(yè)級方案,你看看BAT的使用場景,還是能夠經(jīng)受住考驗(yàn)的,注意我在此處說的的使用場景,沒有一刀切的場景。

回到正題,MySQL的中間件其實(shí)有很多,官方的開源的,我們就來簡單來說說,行業(yè)里還有很多的方案,有些還沒有做調(diào)研,就沒在文中及時推出來。

先來說說MySQL中間件能夠做什么?要回答這個問題,我們可以反向問一個問題,隨著業(yè)務(wù)需求的變化,數(shù)據(jù)庫會有哪些瓶頸,比如:

1.單臺服務(wù)器無法承載已有的壓力

2.數(shù)據(jù)庫單表容量越來越大

3.大量的讀寫需求無法平衡

4.資源如果擴(kuò)容,應(yīng)用改動較大

5. 資源的負(fù)載沒法拆分,或者不易拆分

所以市面上的很多數(shù)據(jù)庫中間件主要是分擔(dān)了其中的大部分或者一部分的功能點(diǎn)。

沃趣科技的董紅禹總結(jié)的這個圖不錯,我直接拿過來了。

MySQL中間件是怎么樣的

我們基本會討論下面的幾個中間件,有些不在上面的圖中,會額外補(bǔ)充一些。

MySQL Fabric, MySQL Router,MySQL Proxy

Fabric能提供MySQL的HA和Sharding方案,MySQL Router是一個輕量級的中間件用來實(shí)現(xiàn)高可用和擴(kuò)展性的功能。MySQL Fabric在驅(qū)動層面可以實(shí)現(xiàn)高可用和擴(kuò)展功能,需要應(yīng)用端來適配改造。而MySQL Router中間件的訪問協(xié)議與MySQL一致,應(yīng)用不需要做任何的修改,在MySQL官方近期推出的InnoDB Cluster中MySQL Router是作為“三駕馬車”來使用的。而落寞的是MySQL proxy,目前已經(jīng)無法下載了,自從推出以來主要就是測試版本,所以在很多功能上多多少少還是有些問題。

360 Atlas

這是國內(nèi)360公司推出的一個中間件方案,github地址為:https://github.com/Qihoo360/Atlas

從github的情況來看,星級蠻高,最新的維護(hù)是在4天前。它的設(shè)計是在mysql-proxy 0.8.2版本的基礎(chǔ)上,對其進(jìn)行了優(yōu)化,增加了一些新的功能特性。

MySQL中間件是怎么樣的

Mycat

這也是國內(nèi)的一個中間件方案,業(yè)內(nèi)比較火,官方鏈接是:http://www.mycat.io/

MySQL中間件是怎么樣的

還有一本Mycat相關(guān)的書《分布式數(shù)據(jù)庫架構(gòu)及企業(yè)實(shí)踐——基于Mycat中間件》

根據(jù)我的了解,他主要是支持MySQL,同時也支持其它的數(shù)據(jù)庫,比如Oracle等等,也是一波好友一起來做得這個事情。

我比較喜歡它的一個原因是因?yàn)殚_源,而且源代碼是Java.

oneproxy

這是前支付寶的架構(gòu)師樓總開發(fā),目前支持多中數(shù)據(jù)庫,基于MySQL官方 的proxy思想利用c進(jìn)行開發(fā)的,OneProxy是一款商業(yè)收費(fèi)的中間件,專注在性能和穩(wěn)定性上,是商業(yè)付費(fèi)的。

MySQL中間件是怎么樣的

DRDS

阿里分布式關(guān)系型數(shù)據(jù)庫服務(wù)(Distribute Relational Database Service,簡稱DRDS)是一種水平拆分、可平滑擴(kuò)縮容、讀寫分離的在線分布式數(shù)據(jù)庫服務(wù)。前身為淘寶 TDDL,再之前還有Cobar,已經(jīng)不維護(hù)了。

該圖來自:http://blog.csdn.net/jerome_s/article/details/53966569

MySQL中間件是怎么樣的

Vitess

谷歌開發(fā)的數(shù)據(jù)庫中間件,集群基于 ZooKeeper 管理,通過 RPC 方式進(jìn)行數(shù)據(jù)處理官方網(wǎng)站很簡介: http://vitess.io/ 打開就是一個大V

MySQL中間件是怎么樣的

Maxscale

MaxScale是mariadb研發(fā)的,目前版本不支持分庫分表,在其它幾個方面都很不錯。github鏈接為:https://github.com/mariadb-corporation/MaxScale

MySQL中間件是怎么樣的

看完上述內(nèi)容,你們掌握MySQL中間件是怎么樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(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)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI