• mysql的读写分离


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

    configdatabase.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 博客     
  • 相关阅读:
    【Q&A】pytorch中的worker如何工作的
    【教程】opencv-python+yolov3实现目标检测
    ubuntu使用scrcpy手机投屏-免费神器scrcpy【介绍、安装、使用】
    【从踩坑到教程】win10下ubuntu18.04双系统UEFI模式安装、Nvidia驱动安装
    Python引用与目录结构
    交流总结
    转载-趣图展现程序员职业生涯的11个阶段
    转载-在家工作,10招助你效率、生活两不误
    转载-新年寄望:从小做起,活在当下
    转载-成为明星程序员的10个提示
  • 原文地址:https://www.cnblogs.com/limeng951/p/5831095.html
Copyright © 2020-2023  润新知