Oracle官方中间件:MySQL Router架构简介

13 篇文章 0 订阅

原文出处:架构之美

MySQL Router今天我们来简单介绍一下Oracle官方出品的数据库负载均衡利器——MySQL Router。

什么是MySQL Router?

MySQL Router是一个介于应用层和DB层之间的开源的轻量级中间件,它能够将前端应用的请求分析转发给后端DB服务器处理,从而实现DB的负载均衡,可以说它是先前MySQL Proxy的替代品,我们可以在Github找到它的源码。类似的工具有360的Atlas、美团点评的DBProxy、MyCat等几种。

MySQL Router架构

Router架构使用这种架构,前端应用不用直接连接DB Server,而仅仅是连接到MySQL Router,能够很方便地实现数据库集群的扩展,接下来我们再来看看它的一些其他的主要功能。

主要功能

1、自动故障转移

使用MySQL Router实现来读写分离,前端应用层不需要直连接底层DB,而是统一连接到MySQL Router。MySQL Router对前端应用层是透明的,我们不需要在代码层做任何处理。应用层会把MySQL Router一个正常的MySQL实例使用,底层DB Master挂了会自动使用Backup节点替代,十分方便。

2、DB负载均衡

MySQL中间件通过类似连接池的方式,将请求按照一定的规则分发给底层数据库,从而实现DB的读写分离、高可用。

优化单点入口

相信很多人一眼就能看出上图存在什么问题,后端的实现了高可用,但是入口却没有,MySQL Router挂了咋办?其实很简单,我们还是可以Keepalived来解决单点入口的问题,整体的架构就变为:

MySQL Router架构应用层不直接连接MySQL Router,而是连接虚拟VIP,这样就可以同时使用两个入口,避免出现入门不可用的情况,造成整个系统崩溃。

性能问题

与直连的方式对比,使用DB中间件必然会带来性能的损耗,但是跟旧版的MySQL Proxy比起来,MySQL Router性能提升效果还是十分明显的,差不多已经可以媲美LVS!

转载请注明出处:架构之美

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值