您好,登錄后才能下訂單哦!
MyCAT背景
MyCAT的前身,是阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,Cobar的前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到Amoeba的穩定性、性能和功能支持,以及其他因素,重新設立了一個項目組并且更換名稱為Cobar。Cobar是由 Alibaba 開源的 MySQL 分布式處理中間件,它可以在分布式的環境下看上去像傳統數據庫一樣提供海量數據服務。
Cobar自誕生之日起, 就受到廣大程序員的追捧,但是自2013年后,幾乎沒有后續更新。在此情況下,MyCAT應運而生,它基于阿里開源的Cobar產品而研發,Cobar的穩定性、可靠性、優秀的架構和性能,以及眾多成熟的使用案例使得MyCAT一開始就擁有一個很好的起點,站在巨人的肩膀上,MyCAT能看到更遠。
MyCAT關鍵特性
· 遵守Mysql原生協議,跨語言,跨平臺,跨數據庫的通用中間件代理。
· 支持SQL92標準。
· 基于心跳的自動故障切換,支持讀寫分離,支持MySQL主從,以及galera cluster集群。
· 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster。
· 基于Nio實現,有效管理線程,高并發問題。
· 支持數據的多片自動路由與聚合,支持sum,count,max等常用的聚合函數。
· 支持單庫內部任意join,支持跨庫2表join,甚至基于caltlet的多表join。
· 支持通過全局表,ER關系的分片策略,實現了高效的多表join查詢。
· 支持多租戶方案。
· 支持分布式事務(弱xa)。
· 支持全局序列號,解決分布式下的主鍵生成問題。
· 分片規則豐富,插件化開發,易于擴展。
· 強大的web,命令行監控。
· 支持前端作為MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
· 支持密碼加密
· 支持服務降級
· 支持IP白名單
· 支持SQL黑名單、sql注入攻擊攔截
· 支持分表(1.6)/li>
· 集群基于ZooKeeper管理,在線升級,擴容,智能優化,大數據處理(2.0開發版)。
MyCAT架構
總體上分成三個部分,最前端的是連接器,線程管理使用了資源池,并且默認采用了AIO的方式(這些基本信息可以再啟動日志里面看到)。
中間層在圖中已經描述的很清楚了,SQL解析器+SQL路由,SQ,DataNode和心跳檢測算是中間層實現的兩個組件,一個是和MySQL的庫(注意,不是實例)相關,一個是常見的監測機制的功能模塊。
最下層的存儲就是是MySQL的集群了,如何使用MySQL的集群,由我們自己決定。
MyCAT配置項
MyCAT目前通過配置文件的方式來定義邏輯庫和相關配置,主要是包括三個文件:
MYCAT_HOME/conf/schema.xml中定義邏輯庫,表、分片節點等內容。
MYCAT_HOME/conf/rule.xml中定義分片規則。
MYCAT_HOME/conf/server.xml中定義用戶以及系統相關變量,如端口等。
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、創建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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。