Ameba读写分离_mycat分库分表_redis缓存

数据库的读写分离 1.1 Amoeba实现读写分离 1.1.1 定义

Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy

 

优点:

配置读写分离时较为简单.配置文件编写方便

可以做到整个数据库的读写分离

占用的资源较少.

缺点:

不能实现高可用

现在不更新维护了

1.2 搭建amoeba 1.2.1 安装JDK

说明:Amoeba的使用依赖于JDK.

 

 

1.2.2 安装Amoeba

说明:Amoeba文件拖入/usr/local/src/

将其解压

 

 

1.2.3 使用工具修改xml

通过工具连接远程的amoeba虚拟机

 

 

1.3 修改DBServer.xml 1.3.1 修改用户名和密码

 

 

1.3.2 配置数据库服务

说明:定义主数据库的IP地址

 

 

1.3.3 定义读操作策略

 

1.4 Amoeba配置 1.4.1 修改Amoeba.xml文件

 

 

说明:

默认的amoeba访问主库.

如果配置了读写分离则采用读写分离的操作数据库

所有的写库操作访问主数据库.

所有的读操作,访问multiPool负载均衡后的数据库slave,master,salve

Amoeba默认的访问端口是8066

1.5 修改JVM内存 1.5.1 修改内存

说明:

 

说明:原因的jvm配置文件大小只有256M太小,amoeba不能正常启动,需要修改JVM大小.

 

1.6 Amoeba启动 1.6.1 启动Amoeba

说明:进入到bin目录下执行启动命令

/usr/local/src/amoeba-mysql-3.0.4-BETA/bin

./launcher  启动

./shutdown  停止

 

 

 

1.7 Amoeba测试 1.7.1 连接Amoeba

说明:通过工具连接远程Amoeba.切记关闭防火墙

 

 

1.7.2 代码测试

说明:通过京淘后台管理修改数据源配置,通过代码测试Amoeba

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://192.168.126.139:8066/jtdb?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true

jdbc.username=root

jdbc.password=root

 

1.8 错误集锦 1.8.1 关闭主库和从库的防火墙

说明:当虚拟机开机后,防火墙默认开启了,需要再次手动关闭.

 

1.8.2 修改配置文件后没有及时报错

共修改2个配置文件dbServer.xml,amoeba.xml

需要通过工具进行下载和上传/保证上传的文件不错.

1.8.3 报错端口占用

关机重启

查询项目的进程后杀死进程

 

Kill -9 5652

./shutdown 关闭amoeba

修改JVM内存

Mycat介绍

 

2.1 Mycat下载 2.1.1 下载地址

官网地址

 

2.1.2 安装JDK

 

 

 

2.2 MyCat安装 2.2.1 解压文件

tar -xvf Mycat………

2.2.2 编辑schemas.xml文件

 

2.2.3 定义负载策略:

 

<dataHost maxCon="1000" minCon="10" balance="1"

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

<heartbeat>select 1</heartbeat>

 

<!--配置第一台主机主要进行写库操作,在默认的条件下Mycat主要操作第一台主机

在第一台主机中已经实现了读写分离.

因为默认写操作会发往137的数据库.

读的操作默认发往141.如果从节点比较忙,则主节点分担部分压力.

-->

<writeHost host="hostM1" url="192.168.126.137:3306" user="root" password="root">

<!--读数据库-->

<readHost host="hostS1" url="192.168.126.141:3306" user="root" password="root" />

</writeHost>

 

 

<!--定义第二台主机 由于数据库内部已经实现了双机热备.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyzgz.html