真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用amoeba實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的讀寫分離的方法

這篇文章將為大家詳細(xì)講解有關(guān)利用amoeba實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的讀寫分離的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

超過十余年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站制作、做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,成都小程序開發(fā),微信開發(fā),成都app軟件開發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷和我們一樣獲得訂單和生意!

關(guān)于mysql的讀寫分離架構(gòu)有很多,百度的話幾乎都是用mysql_proxy實(shí)現(xiàn)的。由于proxy是基于lua腳本語(yǔ)言實(shí)現(xiàn)的,所以網(wǎng)上不少網(wǎng)友表示proxy效率不高,也不穩(wěn)定,不建議在生產(chǎn)環(huán)境使用;
amoeba是阿里開發(fā)的一款數(shù)據(jù)庫(kù)讀寫分離的項(xiàng)目(讀寫分離只是它的一個(gè)小功能),由于是基于java編寫的,所以運(yùn)行環(huán)境需要安裝jdk;

相關(guān)教程:mysql視頻教程

前期準(zhǔn)備工作:
1.兩個(gè)數(shù)據(jù)庫(kù),一主一從,主從同步;
master: 172.22.10.237:3306 ;主庫(kù)負(fù)責(zé)寫入操作;
slave: 10.4.66.58:3306 ; 從庫(kù)負(fù)責(zé)讀取操作;
amoeba: 172.22.10.237:8066 ; 我把a(bǔ)moeba安裝到了主庫(kù)所在的服務(wù)器,當(dāng)然,你也可以安裝到第三臺(tái)服務(wù)器上;
所有服務(wù)器操作系統(tǒng)均為centos7;
2.在amoeba所在的服務(wù)器上配置安裝jdk;
我安裝的是jdk1.8;
路徑是: JAVA_HOME=/usr/local/java/jdk1.8.0_131

以上務(wù)必自己點(diǎn)搭建、配置好,主從正常工作,添加jdk環(huán)境變量: /etc/profile ;

安裝amoeba的方式有很多,這里就不在安裝上面費(fèi)口舌了,我下載了amoeba-mysql-3.0.5-RC-distribution的安裝包,直接解壓即可使用;
解壓目錄: /usr/local/amoeba/

利用amoeba實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的讀寫分離的方法

很明顯 conf里是配置文件,bin里是啟動(dòng)程序;
剛才說到 amoeba的功能可不止讀寫分離,但如果只用讀寫分離功能的話只需要配置這幾個(gè)個(gè)文件即可: conf/dbServers.xml conf/amoeba.xml 和 bin/launcher ;
conf/dbServers.xml :

`3306  
           #設(shè)置Amoeba要連接的mysql數(shù)據(jù)庫(kù)的端口,默認(rèn)是3306
    testdb  
          #設(shè)置缺省的數(shù)據(jù)庫(kù),當(dāng)連接amoeba時(shí),操作表必須顯式的指定數(shù)據(jù)庫(kù)名,即采用dbname.tablename的方式,不支持 use dbname指定缺省庫(kù),因?yàn)椴僮鲿?huì)調(diào)度到各個(gè)后端dbserver
    test1  
             #設(shè)置amoeba連接后端數(shù)據(jù)庫(kù)服務(wù)器的賬號(hào)和密碼,因此需要在所有后端數(shù)據(jù)庫(kù)上創(chuàng)建該用戶,并授權(quán)amoeba服務(wù)器可連接
    111111

    500  #最大連接數(shù),默認(rèn)500
    500    #最大空閑連接數(shù)
    1    #最新空閑連接數(shù)

      #設(shè)置一個(gè)后端可寫的數(shù)據(jù)庫(kù),這里定義為writedb,這個(gè)名字可以任意命名,后面還會(huì)用到
        172.22.10.237 #設(shè)置后端可寫dbserver的ip

      #設(shè)置后端可讀數(shù)據(jù)庫(kù)
        10.4.66.58

       #設(shè)置定義一個(gè)虛擬的dbserver,實(shí)際上相當(dāng)于一個(gè)dbserver組,這里將可讀的數(shù)據(jù)庫(kù)ip統(tǒng)一放到一個(gè)組中,將這個(gè)組的名字命名為myslave
            1  #選擇調(diào)度算法,1表示復(fù)制均衡,2表示權(quán)重,3表示HA, 這里選擇1
            slave01  #myslave組成員`

conf/amoeba.xml :

       #啟動(dòng)腳本,需要配置jdk環(huán)境變量;
        #在注釋后的第一行添加:
        JAVA_HOME=/usr/local/java/jdk1.8.0_131

launcher 是啟動(dòng)腳本,如果不配置JAVA_HOME的話,即便你在/etc/profile中配置了環(huán)境變量也可能會(huì)報(bào)錯(cuò):沒有配置jdk環(huán)境變量;
還有一個(gè)配置文件: jvm.properties

  #占用內(nèi)存配置文件
        # -Xss參數(shù)有最小值要求,必須大于228才能啟動(dòng)JVM
        #修改:
            JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"

有經(jīng)驗(yàn)的運(yùn)維都知道,凡是和jdk沾上邊的,基本都會(huì)和內(nèi)存的調(diào)優(yōu)有關(guān)系,amoeba也不例外;

現(xiàn)在可以啟動(dòng)了:

利用amoeba實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的讀寫分離的方法

啟動(dòng)后就可以看到本機(jī)的8066端口:

利用amoeba實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的讀寫分離的方法

這時(shí),你只需要通過本機(jī)ip的8066端口和你配置文件中設(shè)置的賬號(hào)密碼來連接數(shù)據(jù)庫(kù)就行了,寫入的數(shù)據(jù)都會(huì)到master里,讀取的數(shù)據(jù)都會(huì)從slave中讀取;
測(cè)試:
關(guān)閉master數(shù)據(jù)庫(kù),依然可以讀?。簣?zhí)行 select 查看命令;
或者
關(guān)閉slave數(shù)據(jù)庫(kù),依然可以寫入: 執(zhí)行 update、inster命令;

關(guān)于利用amoeba實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的讀寫分離的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文名稱:利用amoeba實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的讀寫分離的方法
當(dāng)前URL:http://weahome.cn/article/ijhipc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部