下载此文档

使用mysql-proxy实现mysql读写分离.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
由于公司数据库负载较大,所以便打算使用读写分离来减轻mysql的负载。目前较为常见的mysql读写分离分为两种:1、基于程序代码内部实现:在代码中根据select、insert进行路由分类;这类方法也是目前生产环境应用最广泛的。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员来实现,运维人员无从下手。2、基于中间代理层实现:我们都知道代理一般是位于客户端和服务器之间,代理服务器接到客户端请求后通过判断然后转发到后端数据库。在这有两个代表性程序mysql-proxy:mysql-proxy为mysql开源项目,通过其自带的lua脚本进行sql判断,虽然是mysql官方产品,但是mysql官方并不建议将mysql-proxy用到生产环境。amoeba:由陈思儒开发,作者曾就职于阿里巴巴,现就职于盛大。该程序由java语言进行开发,目前只听说阿里巴巴将其用于生产环境。另外,此项目严重缺少维护和推广(作者有个官方博客,很多用户反馈的问题发现作者不理睬经过上述简单的比较,通过程序代码实现mysql读写分离自然是一个不错的选择。但是并不是所有的应用都适合在程序代码中实现读写分离,像大型SNS、B2C这类应用可以在代码中实现,因为这样对程序代码本身改动较小;像一些大型复杂的java应用,这种类型的应用在代码中实现对代码改动就较大了。所以,像这种应用一般就会考虑使用代理层来实现。下面我们看一下如何搭建mysql-proxy来实现mysql读写分离环境拓扑如下:关于mysql、mysql主从的搭建,在此不再演示,如下的操作均在mysql-proxy(、安装mysql-proxy1、安装lua(mysql-proxy需要使用lua脚本进行数据转发#tarzxvflua-#cdlua-#viMakefile,修改INSTALL_TOP=/usr/local/lua#makeposix#makeinstall2、安装libevent#tarzxvflibevent--#cdlibevent--rc#./configure--prefix=/usr/local/libevent#make&&makeinstall3、安装check#tarzxvfcheck-#cdcheck-#./configure&&make&&makeinstall4、安装mysql客户端#tarzxvfmysql-#cdmysql-#./configure--without-server&&make&&makeinstall5、设置环境变量(安装mysql-proxy所需变量#vi/etc/profileexportLUA_CFLAGS="-I/usr/local/lua/include"LUA_LIBS="-L/usr/local/lua/lib-llua-ldl"LDFLAGS="-L/usr/local/libevent/lib-lm"exportCPPFLAGS="-I/usr/local/libevent/include"exportCFLAGS="-I/usr/local

使用mysql-proxy实现mysql读写分离 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人q1188830
  • 文件大小74 KB
  • 时间2019-11-12
最近更新