02.28 數據庫中間件 mycat簡單介紹

概念:數據庫中間件 mycat也可以理解為是數據庫代理。 mycat的三大功能:分表、讀寫分離、主從切換,sharing-jdbc也是很流行的中間件,中間件,左邊連接一個,右邊連接一個,左邊連接應用,右邊連接數據庫,好處什麼?便於各個部件之間的溝通。

例子:Tomcat 也是一箇中間件,連接客戶端和服務端

推理:mycat中間件就是連接java應用和數據庫的橋樑

為什麼要用mycat?

數據庫中間件 mycat簡單介紹

1.java應用和mysql數據庫緊耦合

2.高訪問量,高併發對數據庫的壓力

3.讀寫請求數據不一致

數據庫失去連接怎麼辦?

預備一個上線的備機,主備切換(但是隨之而來的問題,你切換備機,java應用連接數據庫的配置需要改變,這裡緊耦合)

高訪問量,高併發怎麼辦?

多弄幾個數據庫一塊抗,那麼久需要配置多個數據源,

mycat的作用:你java應用不用再管數據庫的配置了,交給mycat,java應用只需要訪問mycat即可,mycat後面有幾個數據庫,都不需要你java應用管了,思想和微服務很像

java應用只需要把sql語句傳給mycat即可,不管你是select還是update ,mycat會發送給對應的數據庫,java程序跟數據庫做到了解耦合,讀寫分離。

數據庫中間件 mycat簡單介紹

寫數據庫的表更新,讀數據庫的數據也跟著更新看,主從複製

數據庫中間件 mycat簡單介紹

為了抵禦風險,備出一份讀寫數據庫,雙主雙從

先來搭建一個單寫單讀的數據庫,之後再來搭建雙主雙從的讀寫分離

1.讀寫分離(主從複製)

2.數據分片(垂直+水平) 分庫+分表 為什麼做這個事情?

數據庫分佈式,一個表的數據太大,查詢的速度就會很慢了(單張表的瓶頸),表數據多了,庫的壓力也大

數據庫中間件 mycat簡單介紹

3.多數據源整合

不同數據庫整合

mycat的原理:攔截,它攔截用戶發過來的sql語句,首先對sql語句做分析,如分片分析,路由分析,讀寫分離分析,緩存分析,然後把sql發往後端真實的數據庫

mycat的安裝

1.centos rpm安裝 需要有.rpm安裝包

2.yum方式 需要聯網

3.解壓後需要編譯安裝

4.解壓後直接使用

rz選擇安裝包,

解壓報tar -zxvf,之後把包拷貝到/usr/local中去(opt一般放壓縮包)

遠程查看包命令:ll /usr/local

拷貝命令 cp -r mycat /usr/local

mycat 的bin目錄放的是可執行文件

config配置文件,其中三個比較重要


數據庫中間件 mycat簡單介紹

啟動之前我們需要修改一些配置

3.啟動mycat

1.vim server.xml 把user=root 改為mycat

2.schema.xml 邏輯庫


分享到:


相關文章: