微服务架构实战:可扩展分布式数据库集群的搭建

可扩展分布式数据库集群的搭建

我们所设计的每个微服务应用都能适应高并发的调用,所以它所连接的数据库也必须具有这种特性,才能组成一个高性能的有机整体。不管是自己安装的数据库,还是使用云服务供应商提供的数据库,可扩展是前提条件。例如,MySQL、MongoDB和Redis都能够进行分布式的集群设计。下面介绍MySQL的集群设计和安装,希望读者能够举- -反三。

在MySQL的集群设计中,首先使用主从同步设计构建数据库集群,然后将这种集群以分组的形式通过主主同步实现高可用设计。而对数据库的访问,将使用OneProxy 数据库代理中间件实现读写分离设计。最后,对OneProxy的调用,还将使用LVS(LinuxVirtualServer,

Linux虚拟服务器)技术构建一个双机热备的访问机制。LVS将提供-一个虚拟的广播IP地址,即以VIP地址的形式对外提供服务。这个高可用的数据库集群的架构设计如图13-1所示。

微服务架构实战:可扩展分布式数据库集群的搭建

 

其中,最主要的组成部分就是数据库的集群分组设计。这种集群分组可以根据应用平台的发展情况进行持续扩展。在安装和实施的过程中,我们将建立两个集群分组,每个分组都由一个主机和两个从机组成。

需要指出的是,不管数据库的集群由多少分组组成,这种读写分离的高可用架构设计对于一个微服务应用来说是完全透明的。微服务调用数据库的方式还是像以前一样配置-一个数据源进行访问,不同的是,只需将相应的连接地址改成这种高可用架构提供的VIP地址即可。

下面我们就从数据库的安装开始,按步骤讲解如何在分布式环境中实现高可用架构设计。

MySQL集群主机分配

我们使用六台主机创建两个MySQL集群分组,其中,集群分组1的服务器资源分配如表13-1所示。

微服务架构实战:可扩展分布式数据库集群的搭建

 

集群分组2的服务器资源分配如表13-2所示。

微服务架构实战:可扩展分布式数据库集群的搭建

 

这六台主机都必须安装MySQL。建议使用官方的yum安装源安装MySQL的最新稳定版。

yum安装源可以从MySQL的官方网站中下载。

主从同步设置

MySQL的主从同步设置是将主机设定为可读写服务器,将从机设定为只读服务器,从机的

数据是从主机中同步过来的。

下面以设置“10.10.10.35” (master) 与“10.10.10.36”(slave) 的主从同步为例进行说明。

1.主机设置

使用如下命令修改服务器名称:

vi /etc/hostname

将文件内容修改为“mysq1-35” 。

使用如下命令修改数据库服务器的配置:

vi /etc/my. cnf
在[mysqld]下面增加以下配置项: 
[mysqld]
#服务器的ID,必须唯一
server id=35
井复制过滤:不需要备份的数据库
binlog- ignore-db=mysql
#二进制日志名称
log-bin=demo-mysql-bin
#为每个session分配的内存,在事务过程中用来存储二进制日志的缓存
binlog_ cache_ size=1M
#主从复制格式(mixed, statement,row, 默认格式是statement)
binlog_ format=mixed
#二进制日志自动删除/过期的天数。默认值为0,表示不自动删除
expire_ logs_ days=7
##跳过主从复制中遇到的所有错误或指定类型的错误,避免从机复制中断
##如1062错误是指一些主键重复,1032错误是指主从数据库数据不一致
slave_ skip_ errors=1032
#作为从机时的中继日志
relay_ 1og=demo-mysq1-relay-bin 
# log_ slave updates=1表示作为从机时也将复制事件写进自己的二进制日志中
log_ slave_ updates=1
#主键自增规则,避免主主同步导致ID重复
牛自增因子(每次加2 )
auto increment_ increment=2
#自增偏移(从1开始),
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值