Docker Compose搭建mycat讀寫分離

說明

接[上篇]Docker Compose搭建mysql主從複製,本文介紹如何搭建`mycat中間件`,並用`mycat`來作`讀寫分離`.mysql

配置文件以及文檔地址:[mycat-rw](http://git.oschina.net/wangjingj/mycat-rw)git

系統環境

  • docker 1.12.3sql

  • mysql5.7.17docker

  • deepin 15.3桌面版(這個沒啥影響,由於咱們用docker)數據庫

  • mycat1.6測試

要點說明

  • 看上篇文章的詳細介紹ui

  • 暴露`mysql` `mycat`端口號,方便管理spa

  • 本文直接從`docker-compose.yml`開始.net

docker-compose.yml文件

爲了看起來方便,咱仍是一塊兒都貼出來吧debug

Docker Compose搭建mycat讀寫分離

Docker Compose搭建mycat讀寫分離

Docker Compose搭建mycat讀寫分離

Docker Compose搭建mycat讀寫分離

mycat 配置

這裏只是說一個成功運行的配置,具體詳細的配置規則請本身參考mycat權威指南.

  • schema.xml配置

Docker Compose搭建mycat讀寫分離

  • server.xml配置

Docker Compose搭建mycat讀寫分離

Docker Compose搭建mycat讀寫分離

Docker Compose搭建mycat讀寫分離

  • log4j2.xml配置

這個把日誌級別更改成debug,方便咱們觀察測試.

  • mycat的Dockerfile

Docker Compose搭建mycat讀寫分離

啓動

在`docker-compose.yml`文件目錄下運行

Docker Compose搭建mycat讀寫分離

若是沒有容器對應的鏡像文件,則`docker-compose`會自動構建鏡像.

使用`docker-compose`手動構建鏡像的命令:`docker-compose build mycat`

命令成功執行,則容器mycat,m1,s1,s2都已經啓動成功.

咱們用`docker ps -a`來看一下.

Docker Compose搭建mycat讀寫分離

測試

  • 進入mycat客戶端

Docker Compose搭建mycat讀寫分離

  • 執行select語句

由於在上一篇文章中已經作過主從複製的測試,因此這個地方咱們就再也不重複了,咱們直接執行`select`語句,看是否已經實現了讀寫分離.

Docker Compose搭建mycat讀寫分離

結果集:

Docker Compose搭建mycat讀寫分離

而後咱們打開mycat的日誌mycat.log看一下

Docker Compose搭建mycat讀寫分離

注意看圖中標記出來的地方.

好吧,從日誌中咱們看出咱們執行的`select`語句是走從庫s1執行的.

  • 執行insert語句

Docker Compose搭建mycat讀寫分離

打開mycat的日誌mycat.log看一下

Docker Compose搭建mycat讀寫分離

此次咱們發現,執行`insert`語句走的是主庫m1.

總結

簡單來說,一個使用`mycat中間件`搭建mysql 1主2從 主從複製 讀寫分離的實例就完成了.

要說爲何使用`mycat數據庫中間件`,很簡單啊,就是由於它對開發人員基本沒有影響,不會侵入到代碼中.

支持請點贊,不喜請噴.

天天一點點,成長多一點.

相關文章
相關標籤/搜索