本篇內(nèi)容主要講解“MySQL router是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“mysql router是什么”吧!
成都創(chuàng)新互聯(lián)自成立以來(lái),一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站制作、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開(kāi)發(fā)等基于互聯(lián)網(wǎng)的全面整合營(yíng)銷(xiāo)服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開(kāi)發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開(kāi)發(fā)工程師團(tuán)隊(duì)及專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。
什么是MySQL Router?
MySQL Router是一個(gè)介于應(yīng)用層和DB層之間的開(kāi)源的輕量級(jí)中間件,它能夠?qū)⑶岸藨?yīng)用的請(qǐng)求分析轉(zhuǎn)發(fā)給后端DB服務(wù)器處理,從而實(shí)現(xiàn)DB的負(fù)載均衡,可以說(shuō)它是先前MySQL Proxy的替代品,我們可以在Github找到它的源碼。類(lèi)似的工具有360的Atlas、美團(tuán)點(diǎn)評(píng)的DBProxy、MyCat等幾種。
MySQL Router架構(gòu)
使用這種架構(gòu),前端應(yīng)用不用直接連接DB Server,而僅僅是連接到MySQL Router,能夠很方便地實(shí)現(xiàn)數(shù)據(jù)庫(kù)集群的擴(kuò)展,接下來(lái)我們?cè)賮?lái)看看它的一些其他的主要功能。
MySQL Router主要功能
1、自動(dòng)故障轉(zhuǎn)移
使用MySQL Router實(shí)現(xiàn)來(lái)讀寫(xiě)分離,前端應(yīng)用層不需要直連接底層DB,而是統(tǒng)一連接到MySQL Router。MySQL Router對(duì)前端應(yīng)用層是透明的,我們不需要在代碼層做任何處理。應(yīng)用層會(huì)把MySQL Router一個(gè)正常的MySQL實(shí)例使用,底層DB Master掛了會(huì)自動(dòng)使用Backup節(jié)點(diǎn)替代,十分方便。
2、DB負(fù)載均衡
MySQL中間件通過(guò)類(lèi)似連接池的方式,將請(qǐng)求按照一定的規(guī)則分發(fā)給底層數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)DB的讀寫(xiě)分離、高可用。
MySQL Router用于取代MySQL Proxy,建議MySQL Router與應(yīng)用程序部署在一臺(tái)機(jī)器。應(yīng)用程序像訪問(wèn)MySQL一樣訪問(wèn)MySQL Proxy,由MySQL Proxy將數(shù)據(jù)轉(zhuǎn)發(fā)給后端的MySQL。支持各種操作系統(tǒng)。
MySQL Router的工作模式
read-write
用于多主服務(wù)器,個(gè)人感覺(jué)也可用于主備,用于多主可以避免腦裂問(wèn)題,但實(shí)際上多主只有一個(gè)為Active狀態(tài)。并且MySQL的主從和多主復(fù)制恢復(fù)起來(lái)都比較麻煩,需要手工操作。相比之下MySQL Group Replication提供了更簡(jiǎn)單的集群自動(dòng)維護(hù)方案。
所有請(qǐng)求被發(fā)送到第一個(gè)服務(wù)器,只在第一個(gè)服務(wù)器宕機(jī)后才會(huì)使用后續(xù)的第二個(gè)服務(wù)器。
不支持宕機(jī)服務(wù)器恢復(fù)檢測(cè)
以下兩種情況下將無(wú)法使用
從先宕機(jī),然后恢復(fù),主再宕機(jī)
主先宕機(jī),然后恢復(fù),從再宕機(jī)
[routing:example_strategy]
bind_port = 7001
destinations = master1.example.com,master2.example.com,master3.example.com
mode = read-writ
read-only
用于路由從服務(wù)器集群。
每個(gè)請(qǐng)求用輪詢(xún)方式訪問(wèn)所有服務(wù)器。如果一個(gè)服務(wù)器宕機(jī),會(huì)嘗試使用下一個(gè)服務(wù)器。如果所有服務(wù)器宕機(jī),路由將退出。重新可用的服務(wù)器會(huì)被按照原來(lái)的順序重新加入到可用列表
[routing:ro_route]
bind_port = 7002
destinations = slave1.example.com,slave2.example.com,slave3.example.com
mode = read-only
啟動(dòng)
mysqlrouter --config=/path/to/file/my_router.ini
需要將數(shù)據(jù)庫(kù)連接池的maxStatements=0設(shè)置為0,否則當(dāng)主機(jī)宕機(jī)后,連接池將無(wú)法在備機(jī)上找到對(duì)應(yīng)的Statement而報(bào)錯(cuò)。
性能
遠(yuǎn)高于MySQL Proxy,相比較于直連MySQL性能損失很小。
到此,相信大家對(duì)“mysql router是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
本文名稱(chēng):mysqlrouter是什么
文章出自:http://chinadenli.net/article24/ppssce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)公司、軟件開(kāi)發(fā)、小程序開(kāi)發(fā)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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)