没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
mysql sharding
架构
最简单也是最常见的做法就是在应用层按照规则将数据拆分,分布到多个数
据库节点上,需要引入一个中间层对应用屏蔽后端数据库拆分的细节。
在 mysql sharding 架构中,有中间层 dbproxy 集群、数据库组、元数据服务
器、常驻进程这些部分。
1. dbproxy 中间层
中间层解析客户端的 sql 请求并转发到后端的数据库。它要负责解析 sql 语
句、执行 sql 路由、结果归并、排序以及分组等,中间层由多个无状态的 dbproxy
进程组成。可以在客户端和中间层之间引入 LVS 对客户端请求进行负载均衡,
但是 LVS 本身有一层通信开销,所以常见的做法是直接在客户端配置中间层服
务器的列表,让客户端自己处理请求负载均衡以及中间层故障等问题。
2. dbgroup 数据库组
每个 dbgroup 由 N 台数据库机器组成,其中一台为 master,剩下的为 slave。
master 负责所有的写事务及强一致读事务,并将操作以 binlog 的形式复制到 slave。
3. 元数据服务器
元数据服务器主要负责 dbgroup 拆分规则并用于 dbgroup 选主。dbproxy 通
过元数据服务器获取拆分规则从而确定 SQL 语句的执行计划。dbgroup 的选主也
需要通过 元数 据服 务器 进行 。元 数据 本身 也需 要多 个副 本实 现 HA( High
Available),常见的方式是采用 Zookeeper。
4. 常驻进程
部署在每台数据库服务器上的常驻进程,用于实现监控、单点切换、安装和
卸载程序等。dbgroup 中的数据库需要进行准备切换,这些控制逻辑需要与数据
库读写事务处理逻辑隔离开。
啊看看
- 粉丝: 26
- 资源: 323
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0