一、怎样提高分库分表架构的可靠性
1.1 分库分表架构的天然劣势
可靠性差:只要有一个宕机,整个虚拟表(拆分表)就用不了了。
即:
1.2 让复制手段,结合分库分表
dbGroup之所以这么叫,也是觉得你肯定不会只放一个库,最起码是一主一从。
1.3 实战架构
1.
- 下述只有两个数据分片;
- 只给数据分片A,搭了一个从库
2.
为什么要让dble中间件知道,数据分片是一个主从复制的架构呢?
- 一是因为dble可以进行读写分离的配置;
- 二是因为dble可以在外部组件的配合下,对主库、从库的身份进行设置;(后续切换讲)
二、使用dble中间件进行读写分离,读写分类转发
2.1 原理
- dble中间件可以分析sql语句,能判断是读还是写。
2.2 读写分离模式:4种。
写一定是走主节点;
读,根据配置的不同,会有以下四种模式:
- 0------------ 只给主
- 1------------ 只在所有的从节点中均衡(如果所有从都挂了,整体失败)
- 2------------- 在所有节点中均衡
- 3----------- -尽量的在所有的从节点中均衡(先找从,如果所有从都挂了,那就找主)
理论图示:
实线:写
虚线:读
以上,原理的初衷是尽可能的让从库,去分担主库的压力。
2.3 实战架构
2.4 新加虚拟机
启动了四个虚拟机:
- 新加的2#虚拟机:就是1#虚拟机的从库------------- 以前介绍复制时,就一直是
2.5 完善dble的配置
在dble的配置里,加上新的2#虚拟机即可。
Comments | NOTHING