企业级应用,持久层架构方案三(一主多从,读写分离上篇)

Posted itall

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业级应用,持久层架构方案三(一主多从,读写分离上篇)相关的知识,希望对你有一定的参考价值。

  这是企业级应用,持久层架构方案的第三篇。在上一篇:企业级应用,持久层架构方案二(双主同步高可用二)中。已经实现了双主同步高可用,解决了高可用的问题。还没有解决高性能问题,目前读写都是在主服务器上,会导致主服务器压力大,性能低。那么在这一篇中,来看一看如何通过读写分离,实现持久层的高性能访问。

1.架构图

技术图片

 

2.安装从库

  2.1.hadoop003节点

    2.1.1.安装mysql

#第一步:通过yum在线安装
yum  install  mysql  mysql-server  mysql-devel

#第二步:启动mysql服务
/etc/init.d/mysqld start

##检查mysql运行状态状态
/etc/init.d/mysqld status

#第三步:通过脚本配置mysql
/usr/bin/mysql_secure_installation

#第四步:远程访问授权
mysql -uroot -p123456

grant all privileges on *.* to root@% identified by 123456 with grant option;

flush privileges;

#第五步:设置开机自动启动
chkconfig mysqld --list
chkconfig mysqld on

 

    2.1.2.编辑my.cnf

#编辑文件
vi /etc/my.cnf
------------------------------------------------------------
[mysqld]
server-id = 3                    #服务唯一表示id
slave-skip-errors = all                       #忽略所有复制产生的错误  


--------------------------------------------------------------

#重新启动服务
service mysqld restart

 

    2.1.3.同步配置

技术图片

#登录mysql
mysql -uroot -p123456

mysql> change  master to
    ->  master_host=192.168.80.40,
    ->  master_user=rep,
    ->  master_password=123456,
    ->  master_log_file=mysql-bin.000003,
    ->  master_log_pos=106; 
mysql> start  slave;         #启动同步

 

 

  2.2.hadoop004节点

    2.2.1.安装mysql

#第一步:通过yum在线安装
yum  install  mysql  mysql-server  mysql-devel

#第二步:启动mysql服务
/etc/init.d/mysqld start

##检查mysql运行状态状态
/etc/init.d/mysqld status

#第三步:通过脚本配置mysql
/usr/bin/mysql_secure_installation

#第四步:远程访问授权
mysql -uroot -p123456

grant all privileges on *.* to root@% identified by 123456 with grant option;

flush privileges;

#第五步:设置开机自动启动
chkconfig mysqld --list
chkconfig mysqld on

 

    2.2.2.编辑my.cnf

#编辑文件
vi /etc/my.cnf
------------------------------------------------------------
[mysqld]
server-id = 4                    #服务唯一表示id
slave-skip-errors = all                       #忽略所有复制产生的错误  


--------------------------------------------------------------

#重新启动服务
service mysqld restart

 

    2.2.3.同步配置

#登录mysql
mysql -uroot -p123456

mysql> change  master to
    ->  master_host=192.168.80.40,
    ->  master_user=rep,
    ->  master_password=123456,
    ->  master_log_file=mysql-bin.000003,
    ->  master_log_pos=800; 
mysql> start  slave;         #启动同步

 

3.综合测试案例

说明:在主库A创建数据库oa,并进行创建数据库表,添加数据等操作。确认可以自动同步到从库C和D。

#创建数据库
create database oa;

#使用test数据库
use oa;

#创建一张表
create table t_user(id bigint  primary key auto_increment,name varchar(20))ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

#插入数据
insert t_user(name) values(zhangs);

#查询数据
select * from t_user;

 

以上是关于企业级应用,持久层架构方案三(一主多从,读写分离上篇)的主要内容,如果未能解决你的问题,请参考以下文章

EF通用数据层封装类(支持读写分离,一主多从)

EF通用数据层封装类(支持读写分离,一主多从)

MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

ShardingJdbc-分表;分库分表;读写分离;一主多从+分表;一主多从+分库分表;公共表;数据脱敏;分布式事务

Mysql一主多从和读写分离配置简记