亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Amoeba for MySQL MySql集群軟件

系統 1843 0

一, Amoeba簡述 ??? Amoeba for MySQL致力于MySQL的分布式數據庫前端代理層,它主要在應用層訪問MySQL的時候充當query 路由功能,專注 分布式數據庫 proxy 開發。座落與Client、DB Server(s)之間。對客戶端透明。具有負載均衡、高可用性、Query過濾、讀寫分離、可路由相關的query到目標數據庫、可并發請求多臺數據庫合并結果。 在Amoeba上面你能夠完成多數據源的高可用、負載均衡、數據切片的功能。目前在很多企業的生產線上面使用。

二, Amoeba使用指南

說明文檔見: http://docs.hexnova.com/amoeba/

三, 安裝小結

(1)目前可以有三種解決方式實現mysql讀寫分離

1 程序修改mysql操作類

優點:直接和數據庫通信,簡單快捷的讀寫分離和隨機的方式實現的負載均衡,權限獨立分配 缺點:自己維護更新,增減服務器在代碼處理

2 amoeba

參考官網: http://amoeba.meidusa.com/

優點:直接實現讀寫分離和負載均衡,不用修改代碼,有很靈活的數據解決方案 缺點:自己分配賬戶,和后端數據庫權限管理獨立,權限處理不夠靈活

3 mysql-proxy

參考 mysql-proxy。

優點:直接實現讀寫分離和負載均衡,不用修改代碼,master和slave用一樣的帳號 缺點:字符集問題,lua語言編程,還只是alpha版本,時間消耗有點高

如果你不能安裝軟件來解決讀寫分離,那可以嘗試阿權的項目解決思路。

如果你可以安裝軟件,那amoeba是不錯的,mysql-proxy不太建議,目前只有alpha版本,效率還不太理想,amoeba目前在阿里巴巴是內部項目,正在生產環境使用的。

?

(2)amoeba的安裝使用

1 安裝java環境,需要Java SE 1.5 或以上

2 配置xml文件

下載地址: http://www.sf.net/projects/amoeba

解壓就可以使用的,順便說一下,打包的習慣似乎不是太好,最好解壓后是自己的文件夾,如用tar -zxpf amoeba-mysql-binary-2.1.0-RC5.tar.gz -C /usr/local/amoeba-mysql

運行很簡單 bin/amoeba 即可,后臺運行 bin/amoeba &

如果沒有配置JAVA_HOME,則會有如下提示:

[root@aslibra amoeba-mysql]# bin/amoeba

Error: JAVA_HOME environment variable is not set.

如果你是比1.5低,比如1.4的,運行會有錯誤提示:

[root@aslibra amoeba-mysql]# bin/amoeba

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/meidusa/amoeba/mysql/server/MysqlProxyServer (Unsupported major.minor version49.0)

??????? at java.lang.ClassLoader.defineClass0(Native Method)

??????? at java.lang.ClassLoader.defineClass(ClassLoader.java:539)

??????? at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)

..... 下載jdk1.5以上的版本,壓縮版解壓后設置好環境變量即可 可以編輯 /etc/profile以便啟動時變量生效,末尾加上 ##############? java? ###########

JAVA_HOME=/usr/java/jdk PATH=$PATH:JAVA_HOME/bin export JAVA_HOME PATH

用bin/amoeba start即可啟動amoeba 如bin/amoeba start > /dev/null &

配置amoeba: conf/amoeba.xml 配置mysql數據庫,簡單說明一下:

1 server節點定義amoeba為接受client訪問的數據庫,可以當作是mysql看待的,用戶名和密碼是訪問時使用的,這個似乎不能定義多個用戶名密碼,也就是只有一個權限控制,這個對于多應用似乎不大方便。

2 dbServerList里面可以定義很多實際的mysql數據庫,增加dbServer節點即可,這里的用戶名密碼是作為amoeba操作數據庫使用的,要有足夠權限。dbServer可以是虛擬的,比如要做負載均衡時可用定義多個數據庫歸屬到此虛擬數據庫。2.1RC版的dbServer已移到dbServers.xml文件中配置。

3 queryRouter節點定義讀寫的分配情況,也就是讀寫該發往那個dbServer。

4 amoeba.xml 修改主配置文件

4.1)把默認端口8066改成3306 <property name="port">3066</property>

4.2)把默認連接用戶名和密碼改成自己的 <property name="user">sky</property> <property name="password">123456</property>

4.3)把默認的客戶端線程數,請求數及服務端回應數改成200,300,300 <property name="readThreadPoolSize">200</property> ?<!-- proxy server client process thread size --> ?<property name="clientSideThreadPoolSize">300</property> ?<!-- mysql server data packet process thread size --> ?<property name="serverSideThreadPoolSize">300</property

4.4)把默認注釋掉的讀寫分離選項,把注釋去掉并readpool修改成server2

<!--? --> <property name="writePool">server1</property> <property name="readPool">server2</property>

提示:readPool或writePool可以是dbServers中的multiPool名稱,用multiPool來設置負載均衡。

5. vi dbServers.xml 增加SEVER2模塊,里面的連接用戶名密碼及地址都表示兩臺MYSQL的物理機器,192.168.1.11和192.168.1.13 另SERVER1是寫,SERVER是讀

<?xml version="1.0" encoding="gb2312"?>

<amoeba:dbServers xmlns:amoeba=" http://amoeba.meidusa.com/ ">

? <!--Each dbServer needs to be configured into a Pool, If you need to configure multiple dbServer with load balancing that can be simplified ????? by the following configuration:?add attribute with name virtual = "true" in dbServer, but the configuration does not allow the element with name factoryConfig such as 'multiPool' dbServer ? -->

? <dbServer name="abstractServer" abstractive="true">

??? <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">

????? <property name="manager">${defaultManager}</property>

????? <property name="sendBufferSize">64</property>

????? <property name="receiveBufferSize">128</property>

????? <!-- mysql port -->

????? <property name="port">3306</property>

????? <!-- mysql schema -->

????? <property name="schema">test</property>

????? <!-- mysql user -->

????? <property name="user">root</property>

????? <!--??? mysql password -->

????? <property name="password">123456</property>

??? </factoryConfig>

??? <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">

????? <property name="maxActive">500</property>

????? <property name="maxIdle">500</property>

????? <property name="minIdle">10</property>

????? <property name="minEvictableIdleTimeMillis">600000</property>

????? <property name="timeBetweenEvictionRunsMillis">600000</property>

????? <property name="testOnBorrow">true</property>

????? <property name="testWhileIdle">true</property>

??? </poolConfig>

? </dbServer>

? <dbServer name="server1" parent="abstractServer">

??? <factoryConfig>

????? <!-- mysql ip -->

????? <property name="ipAddress">192.168.2.11</property>

??? </factoryConfig>

? </dbServer>

? <dbServer name="server2" parent="abstractServer">

??? <factoryConfig>

????? <!-- mysql ip -->

????? <property name="ipAddress">192.168.2.13</property>

??? </factoryConfig>

? </dbServer>

? <dbServer name="multiPool" virtual="true">

??? <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

????? <!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->

????? <property name="loadbalance">1</property>

????? <!-- Separated by commas,such as: server1,server2,server1 -->

????? <property name="poolNames">server1</property>

??? </poolConfig>

? </dbServer>

</amoeba:dbServers>

6:修改log4j.xml 取消日志文件生成,如做pdf時(太大了,磁盤很容易滿)

<param name="file" value="${amoeba.home}/logs/project.log"/>

改成 <param name="file" value="<![CDATA[${amoeba.home}/logs/project.log>/dev/null]]>"/> 注意:我在2.1-rc5版本下第6條的設置JAVA運行時報警,無法通過。

7:性能優化,打開bin/amoeba DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"

改成

DEFAULT_OPTS="-server -Xms2048m -Xmx2048m -Xmn1000m -Xss2048k"

8:啟動amoeba nohup /usr/local/amoeba/bin/amoeba start 2>&1 >/dev/null &

Amoeba for MySQL MySql集群軟件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天爱天天色天天干 | 久久91亚洲精品中文字幕 | 可以免费观看的毛片 | 日韩中文字幕在线观看 | 免费网站成人亚洲 | 亚洲精品久久一区影院 | 鸥美毛片| 99精品免费久久久久久久久日本 | 奇米第一色 | 日韩精品中文字幕视频一区 | 欧美成人免费一级人片 | 精品国产精品久久一区免费式 | 免费人成网站在线高清 | 久久亚洲日本不卡一区二区 | 精品一区二区三区免费毛片爱 | 日韩国产精品欧美一区二区 | 一级毛片日韩a欧美视频 | 久热免费 | 自拍偷拍一区 | 亚洲日产2021三区在线 | 在线观看片成人免费视频 | 热思思久久| 91久久九九精品国产综合 | 青青青国产观看免费视频 | 99国产视频| 久久中文字幕亚洲精品最新 | 2021久久伊人精品中文字幕有 | 野外一级毛片黑人 | 日韩中文字幕一区二区不卡 | 久久久高清日本道免费观看 | 中国女人18毛片 | 91在线播放国产 | 成人网久久 | 久久久久久综合成人精品 | 黄色毛片一级 | 狠狠色丁香婷婷综合久久来 | 国产伦一区二区三区四区久久 | 四虎影视国产精品永久在线 | 老头与老头同性tube可播放 | 婷婷 综合网站 | 色国产在线视频一区 |