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数据库中间件`,很简单啊,就是由于它对开发人员基本没有影响,不会侵入到代码中.

支持请点赞,不喜请喷.

天天一点点,成长多一点.

相关文章
相关标签/搜索