1、什麼是mycat
2、mycat應用場景
3、使用mycat路由實現讀寫分離
4、springboot動態資料來源切換原理
5.、springboot專案實現讀寫分離
使用mycat實現讀寫分離
什麼是mycat
mycat是一款由阿里cobar演變而來的用於支援資料庫,讀寫分離、分表分庫的分布式中介軟體。mycat支援oracle、mssql、mysql、pg、db2關係型資料庫,同時也支援mongodb等非關係型資料庫。
mycat原理mycat主要是通過對sql的攔截,然後經過一定規則的分片解析、路由分析、讀寫分離分析、快取分析等,然後將sql發給後端真實的資料塊,並將返回的結果做適當處理返回給客戶端。
官方**:
基於mycat實現讀寫分離
讀寫分離,簡單地說是把對資料庫的讀和寫操作分開,以對應不同的資料庫伺服器。主資料庫提供寫操作,從資料庫提供讀操作,這樣能有效地減輕單台資料庫的壓力。主資料庫進行寫操作後,資料及時同步到所讀的資料庫,盡可能保證讀、寫資料庫的資料一致,比如mysql的主從複製、oracle的data guard、sql server的複製訂閱等。
畫圖演示
讀: select
寫: select/update/insert/crate/delete
mycat攔截客戶端的所有jdbc,根據sql語句判斷**到不同的資料庫執行
mycat安裝:
linux環境安裝mycat實現讀寫分離
1、上傳安裝mycat-server-1.6.5-release-20180122220033-linux.tar
2、解壓安裝包tar –zxvf
3、配置schema.xml 和server.xml
4、客戶端連線埠號: 8066
mycat需要虛擬出乙個資料庫,客戶端連線的是乙個虛擬的資料庫。
讀寫分離:第一方面肯定是要根據sql語句 第二是根據連線賬號
主要配置:
配置的是虛擬的和真實的對應關係
schema.xml:
<?xml version="1.0"?>
select user()
server.xml
<?xml version="1.0" encoding="utf-8"?>
123456
mycat_testdb
user
mycat_testdb
true
啟動後看日誌:successful說明成功
通過工具去連線:
連線成功看到配置檔案中 虛擬化的資料庫:
最終對應的是test資料庫: 裡面的表都可以看到
主修改後 從也會看到
mycat的配置和學習
1.mycat一共三個配置檔案。1 server.xml 配置邏輯庫的名稱訪問的賬號密碼 root password digdeep schemas testdb user password user schemas testdb readonly true 配置說明 配置中name是應用連線中介軟...
Mycat配置入門
bin 啟動目錄 conf 配置目錄存放配置檔案 server.xml 是mycat伺服器引數調整和使用者授權的配置檔案。schema.xml 是邏輯庫定義和表以及分片定義的配置檔案。rule.xml 是分片規則的配置檔案,分片規則的具體一些引數資訊單獨存放為檔案,也在這個目錄下,配置檔案修改需要重...
mycat讀寫分離配置
mycat是一款開源的資料庫中介軟體,其官網為其中官方對它介紹為 mycat 是乙個強大的資料庫中介軟體,不僅僅可以用作讀寫分離 以及分表分庫 容災備份,而且可以用於多租戶應用開發 雲平台基礎設施 讓你的架構具備很強的適應性和靈活性,借助於即將發布的mycat 智慧型優化模組,系統的資料訪問瓶頸和熱...