# Day14 高可用与分布式介绍
# ProxySQL读写分离中间件
ProxySQL是基于MySQL一款开源的中间件产品,一个灵活的MySQL代理层,
- 可以实现读写分离
- 主持Query路由功能
- 支持动态指定某个SQL缓存
- 支持动态加载配置信息
- 支持故障切换和SQL过滤
# 下载
https://proxysql.com/
https://github.com/sysown/proxysql/releases
# 安装 阿里云直接
yum install proxysql
# 启动
systemctl start proxysql
# 其他
- ProxySQL分发读写,高可用还是HMA
# 安装ProxySQL
# 安装 阿里云直接
yum install proxysql
# 启动
systemctl start proxysql
- 对外提供服务端口 6033
- 管理员配置端口 6032
# 管理员登录
mysql -uadmin -padmin -h127.0.0.1 -P6032
# 基于Xenon的MySQL高可用技术
- 推荐研究
QingCloud数据库开源MySQL高可用项目,go语言开发,使用Raft协议实现Failover故障检测
目前支持MySQL5.6、5.7、8.0版本
# 代码托管
https://github.com/radondb/xenon
# xenoncli cluster status
架构
节点规划
# MySQL InnoDB Cluster(MIC)应用
- 官方自带高可用组件
- 介绍
- 节点规划
# 分布式演变
多实例垂直拆分 order、user、goods
多实例基于表水平拆分
备注:
1. 当数据量级达到几十亿或百亿的时候,Mycat中间件伪分库分表就比较吃力
2. MongoDB、TiDB正在的分布式数据库
3. HTAP、NewSQL