数据库高并发方案:Zookeeper + MyCat-Web + MyCat + Docker + Mariadb(Mysql)

提醒:本文省略部分基础知识,查看前可先对应技术点了解

项目架构图:

数据库高并发方案:Zookeeper + MyCat-Web + MyCat + Docker + Mariadb(Mysql)_第1张图片

 

Zookeeper

下载Zookeeper:http://apache.fayea.com/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

1.配置

将zoo_sample.cfg 修改为 zoo.cfg

cd conf

cp zoo_sample.cfg zoo.cfg

修改其中的:

dataDir=/usr/local/...

dataLogDir=/usr/local/...

2、运行

cd /usr/local/zookeeper-3.4.6/bin/

./zkServer.sh start

3、查看状态:netstat -ant | grep 2181

tcp  00 :::2181   :::*   LISTEN 

 

Mycat-web

1、Mycat-web 的 下载地址https://github.com/MyCATApache/Mycat-download/blob/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

2、解压:tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

3、启动:

[root@xunge mycat-web]# ./start.sh &

[1] 29557

[root@xunge mycat-web]# netstat -ant | grep 8082

tcp6 0 0 :::8082 :::* LISTEN

4.访问:http://192.168.1.57:8082/mycat/

数据库高并发方案:Zookeeper + MyCat-Web + MyCat + Docker + Mariadb(Mysql)_第2张图片

 

 

Mycat

1、下载Mycat ,直接解压到目标目录

2、修改配置文件

 

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

3、修改规则文本:/mycat/conf/autopartition-long.txt

0-3=0

3-5=1

5-8=2

4、连接mycat执行sql:

CREATE TABLE `xg_ncms`.`test` (

`id` int(11) NOT NULL,

`val` varchar(255) NULL,

PRIMARY KEY (`id`)

);

TRUNCATE `test`;

insert into `test`(`id`,`val`) values(1,'val1');

insert into `test`(`id`,`val`) values(2,'val2');

insert into `test`(`id`,`val`) values(3,'val3');

insert into `test`(`id`,`val`) values(4,'val4');

insert into `test`(`id`,`val`) values(5,'val5');

insert into `test`(`id`,`val`) values(6,'val6');

 

5、查看三个库的表,应用规则分表成功

 

 

 

 

 

Docker

1.docker停止并删除所有镜像:

docker stop $(docker ps -aq)

docker rm $(docker ps -aq)

docker rmi $(docker images -q)

2.拉取mariadb并安装服务:

docker search mariadb

docker pull mariadb:10.3

docker run -p 3306:3306 --name mariadb-m -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xunge -d mariadb:10.3

docker run --name mariadb-s1 -e MYSQL_ROOT_PASSWORD=xunge -p 3316:3306 -d mariadb:10.3

docker run --name mariadb-s2 -e MYSQL_ROOT_PASSWORD=xunge -p 3326:3306 -d mariadb:10.3

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(并发)