您好,登錄后才能下訂單哦!
MyCAT背景
MyCAT的前身,是阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,Cobar的前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到Amoeba的穩(wěn)定性、性能和功能支持,以及其他因素,重新設立了一個項目組并且更換名稱為Cobar。Cobar是由 Alibaba 開源的 MySQL 分布式處理中間件,它可以在分布式的環(huán)境下看上去像傳統(tǒng)數據庫一樣提供海量數據服務。
Cobar自誕生之日起, 就受到廣大程序員的追捧,但是自2013年后,幾乎沒有后續(xù)更新。在此情況下,MyCAT應運而生,它基于阿里開源的Cobar產品而研發(fā),Cobar的穩(wěn)定性、可靠性、優(yōu)秀的架構和性能,以及眾多成熟的使用案例使得MyCAT一開始就擁有一個很好的起點,站在巨人的肩膀上,MyCAT能看到更遠。
MyCAT關鍵特性
· 遵守Mysql原生協(xié)議,跨語言,跨平臺,跨數據庫的通用中間件代理。
· 支持SQL92標準。
· 基于心跳的自動故障切換,支持讀寫分離,支持MySQL主從,以及galera cluster集群。
· 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster。
· 基于Nio實現,有效管理線程,高并發(fā)問題。
· 支持數據的多片自動路由與聚合,支持sum,count,max等常用的聚合函數。
· 支持單庫內部任意join,支持跨庫2表join,甚至基于caltlet的多表join。
· 支持通過全局表,ER關系的分片策略,實現了高效的多表join查詢。
· 支持多租戶方案。
· 支持分布式事務(弱xa)。
· 支持全局序列號,解決分布式下的主鍵生成問題。
· 分片規(guī)則豐富,插件化開發(fā),易于擴展。
· 強大的web,命令行監(jiān)控。
· 支持前端作為MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
· 支持密碼加密
· 支持服務降級
· 支持IP白名單
· 支持SQL黑名單、sql注入攻擊攔截
· 支持分表(1.6)/li>
· 集群基于ZooKeeper管理,在線升級,擴容,智能優(yōu)化,大數據處理(2.0開發(fā)版)。
MyCAT架構
總體上分成三個部分,最前端的是連接器,線程管理使用了資源池,并且默認采用了AIO的方式(這些基本信息可以再啟動日志里面看到)。
中間層在圖中已經描述的很清楚了,SQL解析器+SQL路由,SQ,DataNode和心跳檢測算是中間層實現的兩個組件,一個是和MySQL的庫(注意,不是實例)相關,一個是常見的監(jiān)測機制的功能模塊。
最下層的存儲就是是MySQL的集群了,如何使用MySQL的集群,由我們自己決定。
MyCAT配置項
MyCAT目前通過配置文件的方式來定義邏輯庫和相關配置,主要是包括三個文件:
MYCAT_HOME/conf/schema.xml中定義邏輯庫,表、分片節(jié)點等內容。
MYCAT_HOME/conf/rule.xml中定義分片規(guī)則。
MYCAT_HOME/conf/server.xml中定義用戶以及系統(tǒng)相關變量,如端口等。
MyCAT部署
部署mycat軟件,如下:
1、卸載舊jdk
yum remove java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64 java-1.7.0-openjdk-devel-1.7.0.65-2.5.1.2.el6_5.x86_64
2、安裝jdk
rpm -ivh jdk-8u45-linux-x64.rpm
3、解壓mycat軟件,移動到相應目錄
tar -zxvf Mycat-server-1.4-RELEASE-20150901112004-linux.tar.gz
mv mycat /usr/local
4、創(chuàng)建mycat用戶,軟件目錄,修改密碼
useradd mycat
chown -R mycat.mycat /usr/local/mycat
chmod -R 750 /usr/local/mycat
passwd mycat
5、測試啟動mycat
./mycat console start
Running Mycat-server...
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | log4j 2015-11-10 14:32:23 [./conf/log4j.xml] load completed.
jvm 1 | MyCAT Server startup successfully. see logs in logs/mycat.log
--啟動成功
--liuyu
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。