返回列表 发帖

常见MySQL读写分离分为两种

基于程序代码内部实现

在代码中根据select、insert进行路由分类,这类方法也是目前生产环境应用最广泛的
优点是:性能好;因为在程序代码中实现,不需要增加额外的设备为硬件开支;
缺点是:需要开发人员来实现
并不是所有的应用都是适合程序代码中实现读写分离,想一些大型复杂的Java应用,如果在程序代码中实现读写分离对代码改动较大
基于中间代理层实现

代理一般位于客户端和服务器之间,代理服务器接到客户端请求后通过判断后转发到后端数据库,
有一下代表程序:
①MySQL-Proxy:为MySQL开源项目,通过其自带的lua脚本进行SQL判断
②Atlas:是有奇虎360的Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目;
是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性
360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条,支持事务以及存储过程
③Amoeba:由陈思儒开发,该程序由Java语言进行开发,阿里巴巴将其用于生产环境,但是不支持事务和存储过程
Amoeba是一个非常容易使用,可移植性非常强的软件,因此在生产环境中被广泛用于数据库的代理层
————————————————
版权声明:本文为CSDN博主「L先生@..」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_56508123/article/details/118905129

返回列表