300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离?

徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离?

时间:2022-06-01 19:24:17

相关推荐

徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离?

徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离?

完成:第一遍

1.理想的主从架构实现的效果是怎样的?

主库负责所有读写操作,从库只实现对主库备份功能,这样的主从架构性价比是很低的

我们所希望的主从架构是

当写数据时,请求全部发到Master节点上

当需要读数据时,请求全部发到Slave节点上

并且多个Slave节点最好可以存在负载均衡,让集群的效率最大化

2.读写分离架构实现主要有哪两种方式?

方式一:读写分离代码层面实现分离逻辑

主要是代码来判断读写请求,然后分别进行处理

如果是读请求,直接去Slave从数据库中读取

如果是写请求,去Master主数据库中改写,然后主数据库对Slave从数据库进行数据同步

方式二:基于中间件,帮助管理分离逻辑

3.如何基于MyBatis和Spring在代码层面实现读写分离?

第一步:配置多个数据源,分别指向master和slave

第二步:自定义MyBatis拦截器,判断需要执行的SQL

第三步:如果是写请求,选择操作的数据源是master

第四步:如果是读请求,选择操作的数据源是slave

4.代码层面实现读写分离的优缺点是什么?

优点:实现简单、使用灵活

缺点:配置更改是需要修改代码、违反开闭原则

5.如何通过中间件来实现读写分离?

第一步:新增一个虚拟节点即Proxy中间件

第二步:所有数据库请求先发送到Proxy虚拟节点上,由Proxy虚拟节点来转发读写请求到对应的数据库

6.主流使用的中间件MyCat有什么优点?

优点一:开源,面向企业应用开发的大数据库集群

优点二:可以实现读写分离、故障转移

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。