一:读写分离的实质

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

二:读写分离的弊端

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

相对的解决方式:

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

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

三:读写分离的实现方式

1、应用程序代码实现

优点:

①实现简单

②不会增加系统的复杂性

缺点:

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

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

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

2、利用中间件实现

优点:

①架构比较灵活

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

缺点:

①增加系统的复杂性

②对中间件的性能有要求

常见的中间件:

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

②Cobar 阿里开发的中间件

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐