標籤:atlas 叢集
關於資料切分的原理可以參見部落格:
http://blog.csdn.net/jhq0113/article/details/44226789
關於Atlas的介紹可以參見部落格:
http://blog.csdn.net/jhq0113/article/details/44239823
Atlas原始碼用C語言編寫,它對於Web Server相當於是DB,相對於DB相當於是Client,如果把Atlas的邏輯放到Web Server程式裡去處理,這樣會大大增加Web Server程式的複雜度,同時Web Server和DB之間的耦合度也相當高,因為只要DB增加/減少服務,Web Server就有可能要發生代碼改變,若代碼不改變,就得通過中間關係表與心跳機制來維護Server之間的關係,這樣會帶來效能的損耗,而Atlas是架設在Web Server與DB之間的一個中介軟體,Web Server與DB之間的耦合關係放到了Atlas來處理,既做到了靈活也保留了效能,這也是Atlas存在的價值。
Atlas支援表的水平切分,支援讀寫分離,對資料即時性要求較高的項目可以在select語句前增加/*master*/強制讀主庫,主從MySql資料庫之間資料的同步需要自己配置,主從MySql資料庫資料主從複製的配置方法參見部落格:
http://blog.csdn.net/jhq0113/article/details/44263367
1.安裝
注意:只能安裝在64位的Linux作業系統上,CentOS官方建議rpm安裝方式
擷取地址:https://github.com/Qihoo360/Atlas/releases
目前最新的版本為:
Atlas-2.2.1.el5.x86_64.rpm CentOS 5.* 版本
Atlas-2.2.1.el6.x86_64.rpm CentOS 6.* 版本
我的環境是CentOS 6.6 Basic Server x86_64
安裝命令:
[[email protected] src]# rpm -i Atlas-2.2.1.el6.x86_64.rpm
安裝位置:
/usr/local/mysql-proxy
設定檔:
/usr/local/mysql-proxy/conf/test.cnf
重要設定檔詳解:
(1)線程數
event-threads項設定,過小無法充分發揮多核CPU的效能,過大造成不必要的線程切換開銷,推薦設定為CPU的核心數。
(2)最小空閑串連數(2.x以上版本不需要該項,1.x版本需要)
min-idle-connections項設定,過小則在高並發下會有報錯,過大雖然不報錯但在測試時不容易看出讀寫分離效果,推薦設定為比用戶端的並發峰值稍大,詳見《配置參數詳解》。上面的配置範例是針對Atlas 2.X版本,沒有該選項。對於Atlas 1.X版本的設定檔,需要加入該配置選項。
(3)Atlas的工作連接埠
proxy-address項配置,例如proxy-address = 0.0.0.0:1234代表用戶端應該使用1234這個連接埠串連Atlas來發送SQL請求。
(4)Atlas的管理連接埠
admin-address項配置,例如admin-address = 0.0.0.0:2345代表DBA應該使用2345這個連接埠串連Atlas來執行營運管理操作。
(5)管理介面的使用者名稱和密碼
admin-username項和admin-password項設定,這兩項是用來進入Atlas的管理介面的,與後端串連的MySQL沒有關係,所以可以任意設定,不需要MySQL在配置上做任何改動。
(6)記錄層級
以log-level項配置,分為message、warning、critical、error、debug五個層級。
(7)日誌路徑
以log-path項配置,如log-path = /usr/local/mysql-proxy/log。
未完。。。。。。。。。。。。
資料切分——Atlas讀寫分離Mysql叢集的搭建