成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

mysql數(shù)據(jù)庫實現(xiàn)讀寫分離

edagarli / 566人閱讀

摘要:讀寫分離的實現(xiàn)方式使用的驅(qū)動構(gòu)造不同的數(shù)據(jù)庫連接池,在層通過判斷方法的讀寫類型,讀方法使用從數(shù)據(jù)庫連接池,寫方法使用主數(shù)據(jù)庫連接池使用阿里的或的來實現(xiàn)分庫分表,讀寫分離和負載均衡等處理。

1.mysql讀寫分離背景

在項目中使用mysql數(shù)據(jù)庫,所有的增刪改查操作都在主庫處理,隨著查詢訪問量的增加,單庫處理的壓力驟增,為了防止主庫故障,使用一主多從的方式,通過讀寫分離,把所有的查詢處理都放到從服務(wù)器上,減少單點故障導(dǎo)致整個服務(wù)掛掉的情況。

2.mysql讀寫分離的實現(xiàn)方式

使用mysql的com.mysql.jdbc.ReplicationDriver驅(qū)動

構(gòu)造不同的數(shù)據(jù)庫連接池,在service層通過判斷方法的讀寫類型,讀方法使用從數(shù)據(jù)庫連接池,寫方法使用主數(shù)據(jù)庫連接池

使用阿里的mycat或360的Atlas來實現(xiàn)分庫分表,讀寫分離和負載均衡等處理。

3.使用ReplicationDriver驅(qū)動實現(xiàn)讀寫分離

(1)mysql配置數(shù)據(jù)庫連接信息

url=jdbc:mysql:replication://192.168.2.101:3306,192.168.2.102:3306/test
username=*****
password=*****
driver=com.mysql.jdbc.ReplicationDriver

(2)設(shè)置事務(wù)不自動提交,并且事務(wù)只讀

   使用spring的事務(wù)處理比較簡單,使用注解@Transactional,把readOnly設(shè)置true,或者寫一個aop切面,統(tǒng)一設(shè)置需要的方法為可讀模式。
@Transactional(isolation=Isolation.DEFAULT,propagation = Propagation.REQUIRED,readOnly = true)

(3)測試是否真的實現(xiàn)了讀寫分離

使用命令SHOW FULL PROCESSLIST查看從數(shù)據(jù)庫是否有指定服務(wù)器的連接信息。
一主多從,從主庫向從庫進行數(shù)據(jù)同步,修改從數(shù)據(jù)庫的指定數(shù)據(jù),查詢修改的數(shù)據(jù)來確認數(shù)據(jù)是否來自從庫。
4.構(gòu)造不同的連接池,通過程序自主的確認訪問哪個數(shù)據(jù)庫

實現(xiàn)思想:構(gòu)建一個主庫的連接池1,構(gòu)建一個從庫的連接池2,使用spring aop對service層的處理做一個切面,系統(tǒng)定義以query,get和find等開頭的方法為讀處理,使用連接池2,從從庫中獲取數(shù)據(jù);其他的開頭的方法默認使用連接池1。

參考文章:

http://blog.csdn.net/jack8598...

5.使用阿里的mycat或360的Atlas來實現(xiàn)讀寫分離

阿里的mycat和360的atlas可以實現(xiàn)分庫分表,讀寫分離和負載均衡等功能,對應(yīng)用層無感知,和正常連接數(shù)據(jù)庫沒有區(qū)別,耦合性較小。

在項目中使用ReplicationDriver驅(qū)動簡單實現(xiàn)了讀寫分離,如果數(shù)據(jù)量超大,而且要做mysql的負載均衡,則要用到中間件來做一層代理來實現(xiàn)。
大家可以關(guān)注我的公眾號:不知風(fēng)在何處,相互溝通,共同進步。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67330.html

相關(guān)文章

  • UCloud MySQL數(shù)據(jù)庫讀寫分離

    摘要:讀寫分離中間件具有獨立的。變量語句將被廣播考慮到節(jié)點間數(shù)據(jù)一致性問題,只會分發(fā)到主節(jié)點。節(jié)點健康檢查,提升數(shù)據(jù)庫系統(tǒng)可用性。UCloud MySQL云數(shù)據(jù)庫讀寫分離 背景 數(shù)據(jù)顯示,關(guān)系型數(shù)據(jù)庫在OLTP業(yè)務(wù)下96.87%都在等待讀I/O,而處理器計算僅僅占了5.3%,這說明要提高數(shù)據(jù)庫的QPS性能,關(guān)鍵的一點是提高系統(tǒng)的IO能力。 另一個數(shù)據(jù)表明, 大多數(shù)業(yè)務(wù)對數(shù)據(jù)庫的訪...

    joywek 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<