mysql的读写分离

1、laravel实现数据库读写分离配置或者多读写分离配置

config\database.php里配置
'connections' => array (
      //默认mysql配置,访问test库
     'mysql' => array (
         'driver'    => 'mysql' ,
         'host'      => '192.168.16.70' ,
         'port'      =>  '3306' ,
         'database'  => 'test' ,
         'username'  => 'test' ,
         'password'  => '123456' ,
         'charset'   => 'utf8' ,
         'collation' => 'utf8_unicode_ci' ,
         'prefix'    => '' ,
     ),
     //自定义mysql连接,访问media库
     'media' => array (
         'read' => array (
             array ( 'host' => '192.168.16.74' , 'port' => 3306),
             array ( 'host' => '192.168.16.70' , 'port' => 3306),
         ),
         'write' => array (
             'host' => '192.168.16.70' , 'port' => 3306
         ),
         'driver'    => 'mysql' ,
         'database'  => 'media' ,
         'username'  => 'test' ,
         'password'  => '123456' ,
         'charset'   => 'utf8' ,
         'collation' => 'utf8_unicode_ci' ,
         'prefix'    => '' ,
     ),
 
2、为什么要用Amoeba?

解释:目前要实现mysql的主从读写分离,主要有以下几种方案:

1、  通过程序实现,网上很多现成的代码,比较复杂,如果添加从服务器要更改多台服务器的代码。

2、  通过mysql-proxy来实现,由于mysql-proxy的主从读写分离是通过lua脚本来实现,目前lua的脚本的开发跟不上节奏,而写没有完美的现成的脚本,因此导致用于生产环境的话风险比较大,据网上很多人说mysql-proxy的性能不高。

3、  自己开发接口实现,这种方案门槛高,开发成本高,不是一般的小公司能承担得起。

4、  利用阿里巴巴的开源项目Amoeba来实现,具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库,并且安装配置非常简单。
具体配置:访问-----http://www.cnblogs.com/lhj588/archive/2012/11/19/2777897.html 博客     

转载于:https://www.cnblogs.com/limeng951/p/5831095.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值