首页 > 数据库 > Oracle > MySQL高可用架构(二)
除此之外还有:
ProxySQL :
ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。
特色功能点:
Ø 查询缓存
Ø 查询路由
Ø 故障转移
Ø 在线配置立刻生效无需重启
Ø 应用层代理
Ø 跨平台
Ø 拓展支持
Ø 防火墙
功能
Ø 读写分离
Ø 数据库集群、分片
Ø 分库分表
Ø 主从切换
Ø SQL 审计
Ø 连接池 多路复用
Ø 负载均衡
Ø 查询重写
Ø 流量镜像
Ø 自动重连
Ø 自动下线
Ø 高可用
MyCat 是目前流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议 的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是分库分表。配合数据库的主从模式还可实现读写分离。MyCat 是基于阿里开源的 Cobar 产品而研发,Cobar 的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得 MyCat 变得非常的强大。
MyCat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持MySQL 、SQL Server 、Oracle 、DB2 、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型NoSQL 方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在 MyCat 里,都是一个传统的数据库表,支持标准的 SQL 语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。
简单来说MyCat 就是实现数据库集群的,对海量数据的数据存储的一种解决方案,因为很多数据库不想Oracle 一样自带集群的配置,那么在进行海量数据存储的时候就要使用到MyCat 进行数据库的管理了。
三种架构对比:
|
|
主从+ 中间件(mycat ,proxysql ,cobar 等) |
(MHA ,Keepalivd ) |
原生集群(PXC ,MGR ) |
|
使用业务 |
高并发、读写分离,分表分库 |
高并发、读写分离,自动故障转移 |
高并发、7X24 、自动添加节点、读写分离、自动故障转移、强一致性要求 |
|
支持多节点写入 |
不支持 |
不支持 |
支持 |
|
一致性 |
可能丢数据 |
可能丢数据 |
强一致性,不丢失数据 |
|
切换时间 |
手动 |
自动切换 |
0s ,自动切换 |
|
维护难度 |
繁琐 |
自动 |
自动 |
|
增减节点 |
手动 |
手动,keepalived 只能两节点 |
自动 |
|
性能影响 |
无 |
无 |
不适合大事务 |
|
缺点与限制 |
需要人工维护 |
存在误判性 |
大事务支持差 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10201716/viewspace-2942360/ ,如需转载,请注明出处,否则将追究法律责任。