[数据库] 数据库读写分离

30 0
Honkers 昨天 14:35 | 显示全部楼层 |阅读模式

一:读写分离的实质

所谓读写分离就是把对数据库的读写操作分到不同的数据库服务上,以实现数据库的高性能和高并发能力;采用数据库的主从复制,一主一从或者一主多从,主服务器用来进行写操作,从服务器用来读操作

二:读写分离的弊端

最大的弊端就是复制延迟,主从数据复制同步的延迟有可能达到一秒以上,如果数据并发量较大,时间可能会更久,在这个过程中会出现数据一致性问题;

相对的解决方式:

①当前写操作后,把读操作指定给主服务器,这种方式与业务逻辑绑定太深;

②根据业务指向不同的数据库,主业务的读操作全部指向主数据库,非关键性业务再用读写分离的方式;

三:读写分离的实现方式

1、应用程序代码实现

优点:

①实现简单

②不会增加系统的复杂性

缺点:

①系统架构改变时,程序代码需要跟着调整;

②难以实现高级应用,比如:分库、分表

③不适用大型的应用程序系统

2、利用中间件实现

优点:

①架构比较灵活

②对程序代码的影响比较小

缺点:

①增加系统的复杂性

②对中间件的性能有要求

常见的中间件:

①Mycat 基于阿里的Cobar的二次开发

②Cobar 阿里开发的中间件

③Atlas 360公司基于MySQL proxy思想,使用C语音开发的中间件

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行