您的当前位置:首页正文

mysql读写分离的两种实现

2024-07-16 来源:年旅网

1、基于程序代码内部实现。根据select和insert对代码中的路由进行分类,这也是目前生产环境中应用最广泛的方法。

优点是性能好,因为在程序代码中实现,不需要增加额外的设备作为硬件支出;

缺点是需要开发人员来实现。

并非所有的应用都适合在程序代码中实现读写分离,想要一些大型复杂的Java应用,如果在程序代码中实现读写分离,代码就会发生很大的变化。

2、基于中间代理实现。代理一般位于客户端和服务器之间。

代理服务器收到客户端请求后,通过判断转发到后端数据库。

代表程序:

(1)MySQL-Proxy:MySQL开源项目,SQL由自己的lua脚本判断。

(2)Atlas:是基于MySQL协议的数据中间层项目,由奇虎360Web平台部基础设施团队开发维护;

它是在mysql-proxy0.8.2版本的基础上优化的,增加了一些新的功能特性。

mysql业务在360内部使用Atlas,每天承载数十亿条读写请求,支持事务和存储过程。

(3)Amoeba:由陈思儒开发,该程序由Java语言开发,阿里巴巴产环境,但不支持事务和存储过程。

Amoeba是一款非常容易使用和移植的软件,因此在生产环境中广泛应用于数据库代理。

以上就是mysql读写分离的两种实现,希望对大家有所帮助。更多mysql学习指路:

推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

显示全文