Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mycat官方出品 中国第一开源社区 http:/mycat.io.

Similar presentations


Presentation on theme: "Mycat官方出品 中国第一开源社区 http:/mycat.io."— Presentation transcript:

1 Mycat官方出品 中国第一开源社区

2 MySQL专家培训 Expect DBA

3 DBA培训系列之 海量数据篇 Best practice

4 Mycat高可用集群 第一节 mysql的复制原理简单介绍 第二节 高可用概念讲解 第三节 高可用架构介绍

5 mysql的复制原理简单介绍 传统复制模式 1.master 将改变记录到二进制日志 binary log 中
2.slave 上的IO线程将主库上的日志复制到自己的 relay log 中 3.slave 上SQL线程回放中继日志的内容,使 slave 上的数据与 master 达到一致

6 mysql的复制原理简单介绍 半同步 MySQL在5.5版本中提供了 semi-sync replication,也就是半同步,但半同步只
能说减少数据丢失的风险,但是在超时情况下还是会切回异步复制。 在事物提交的过程中,在InnoDB层的 commit log 阶段后,Master 节点需要收到至少一个Slave节点回复的ACK后,才能继续下一个事物。在半同步中,至少有一个Slave节点收到binlog后再返回,不能完全避免数据丢失,超时后,切回异步复制。

7 mysql的复制原理简单介绍 无损同步 MySQL 5.7版本中,MySQL 提供了 lossless semi-sync replication,也就是无损复制,可最低限度的减少数据丢失 在无损复制中,master把binlog发送给slave,只有在slave把binlog写到本地的relay-log里,master才会将事务提交到存储引擎层,然后把请求返回给客户端,客户端才可以看见刚才提交的事务。在一个事物提交的过程中,在MySQL Server 层的 binlog阶段后,Master节点需要收到至少一个Slave节点回复的ACK后,才能继续下一个事物。

8 mysql的复制原理简单介绍 pxc强一致性

9 高可用概念 1.什么是高可用性? 2.处理failover? 3.ha的工作方式

10 高可用概念 1.什么是高可用性? 很多公司的服务都是24小时*365天不间断的。比如Call Center。这就要求高可用性。再比如购物网站,必须随时都可以交易。那么当购物网的server挂了一个的时候,不能对业务产生任何影响。这就是高可用性。

11 高可用概念 2.如何处理failover? 1).自动侦测(Auto-Detect) 2).自动切换(Auto-Switch)
3).自动恢复(Auto-Recovery)

12 高可用概念 3.ha的工作方式 (1)主备方式 (非对称方式) (2) 双机双工方式(互备互援) (3) 集群工作方式(多服务器互备份方式)

13 主从复制 mysql的高可用方案 Mysql master/slave+mha/keepalive MySQL D(从)
MySQL A(主) vip MySQL C(从) MySQL B(备主) 主从复制

14 mysql的高可用方案 Pxc集群

15 mycat的读写分离、负载均衡

16 mycat的读写分离、负载均衡

17 mycat的读写分离、负载均衡 Balance属性
Balance = “0” 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上 Balance = “1” 全部的readHost 与stand by writeHost 都参与select 语句的负载 Balance = “2” 所有读操作都随机的在writeHost,readHost 上分发 Balance = “3” 所有的读操作都随机分发到 writeHost对应的readHost上分发 writeType属性 writeType = “0” 所有写操作都发送到配置的 第一个writeHost上执行,第一个挂了就切到第二个上, 第一个恢复了,不会切回去,还是以第二个writeHost为准,切换配置在dnindex.properties writeType = “1” 所有写操作随机发送到配置的writeHost上,mycat1.5版本以上不在推荐使用 switchType 属性 -1 表示不自动切换 1 为默认值,表示指定切换. <heartbeat>select user()</heartbeat> 2.表示基于mysql 主从同步的状态决定是否切换,心跳语句如下<heartbeat>show slave status</heartbeat> 3.表示基于galary 切换的机制(适合集群,1.4.1以上都支持)。 心跳语句如下<heartbeat>show status like 'wsrep%'</heartbeat>

18 mycat的读写分离、负载均衡 主从切换,读写分离 Pxc + mycat配置

19 mycat的读写分离、负载均衡 Pxc + mycat配置

20 mycat的读写分离、负载均衡 Pxc + mycat配置

21 课程回顾 掌握高可用概念 全面理解了mysql高可用的各种技术 初步理解了mycat的高可用mysql集群

22


Download ppt "Mycat官方出品 中国第一开源社区 http:/mycat.io."

Similar presentations


Ads by Google