mysql中的router是一個介于應(yīng)用層和DB層之間的、開源的輕量級中間件。router能夠?qū)⑶岸藨?yīng)用的請求分析轉(zhuǎn)發(fā)給后端DB服務(wù)器處理,從而實現(xiàn)DB的負(fù)載均衡。
什么是MySQL Router?
(推薦教程:mysql視頻教程)
MySQL Router是一個介于應(yīng)用層和DB層之間的開源的輕量級中間件,它能夠?qū)⑶岸藨?yīng)用的請求分析轉(zhuǎn)發(fā)給后端DB服務(wù)器處理,從而實現(xiàn)DB的負(fù)載均衡,可以說它是先前MySQL Proxy的替代品,我們可以在Github找到它的源碼。類似的工具有360的Atlas、美團(tuán)點評的DBProxy、MyCat等幾種。
MySQL Router架構(gòu)
使用這種架構(gòu),前端應(yīng)用不用直接連接DB Server,而僅僅是連接到MySQL Router,能夠很方便地實現(xiàn)數(shù)據(jù)庫集群的擴(kuò)展,接下來我們再來看看它的一些其他的主要功能。
主要功能
1、自動故障轉(zhuǎn)移
使用MySQL Router實現(xiàn)來讀寫分離,前端應(yīng)用層不需要直連接底層DB,而是統(tǒng)一連接到MySQL Router。MySQL Router對前端應(yīng)用層是透明的,我們不需要在代碼層做任何處理。應(yīng)用層會把MySQL Router一個正常的MySQL實例使用,底層DB Master掛了會自動使用Backup節(jié)點替代,十分方便。
2、DB負(fù)載均衡
MySQL中間件通過類似連接池的方式,將請求按照一定的規(guī)則分發(fā)給底層數(shù)據(jù)庫,從而實現(xiàn)DB的讀寫分離、高可用。