高可用mysql--------视频

读写分离就是对数据库所做的读操作和写操作分离开 ,而进行mysql主从复制的主要目的是分担主库的读负载,因为对大多数应用来说数据库要承受的读的负载要远远高于写的负载,为什么要进行读写分离,因为写负载是不能够分担的,而且只能在主库上进行,因为进行读写分离,可以让主库更专注的进行写操作
使用中间件的优缺点:
中间件能够对sql语句进行语法分析,自动完成读写分离,如果是select读请求的话会将相关的操作转发到从服务器上进行处理,如果是非select操作的话,则会送到主服务器上进行处理,而对于存储过程这种无法分析是读操作还是写操作的这种情况会全部转移到主服务器上进行处理,由于我们存储过程大部分是查询,因此这种情况下会增加主数据库的负载,中间件不能对存储过程进行判断
对程序透明,对于已有程序不用做任何调整 ,只要通过中间件连接数据库就行,降低了读写分离的难度
使用中间件的缺点:
由于增加了中间件,所以对查询 效率有所损耗,依赖中间层的处理能力,因为中间层要进行一些权限认证和sql语法分析的工作,会对查询性能产生一些损耗,差不多会降低很多对QPS,如果想要使用中间件来进行读写分离,则在上线之前一定要进行基准测试,否则会在上线之后出现性能问题。
因为是在中间层自动实现的,因为中间层不知道哪些查询是对主从延迟敏感的,哪些是不敏感的,因此不能自动的将延迟敏感的查询放在主库上查询,要实现这些功能就要在查询的时候添加一些提示关键字,这样做就要对程序进行一些修改,就失去了对程序透明的优点
读写分离和读的负载均衡是两个概念,读写分离要解决的是如何在复制集群的不同角色上去执行不同的sql语句这样的问题,读的负载均衡解决的是具有相同角色的数据库,如何共同分担相同的负载
如何实现读负载均衡,将负载分布到多台从数据库上进行查询,一种方式是使用程序轮询,由程序来进行控制具体的在那个服务器上进行查询,但是这样每次增加或者减少服务器就要修改程序,另一种方法使用专门的软件或者是硬件来完成这些操作,使用LVS,Haproxy ,MaxScale,硬件F5

  msxScale是高可用的,良好的负载均衡的插件式数据库中间层软件,插件功能分为认证功能,会读取mysql中user表中的信息,并将user中的信息缓存到user中的服务器端,当用户进来的时候会根据当前的信息进行判断是否符合验证,如果缓存中没有这个用户,则会从后端服务器中进行获取再进行用户信息验证,protocal协议插件,mysql客户端协议插件,另一个式mysql服务器端协议,连接后端的数据库,Router路由插件,两种路由插件,readconnroute,提供了一个Monnitor监控插件,日志和过滤模块,如何安装和使用,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值