首页 文章

用于写密集型应用程序的MySQL Master-Slave配置

提问于
浏览
2

我的应用程序目前正在 生产环境 中运行 . 应用程序和数据库位于同一个服务器中 . 该应用程序是写密集型的,甚至可以在GET请求上进行更新(但不是全部) .

我一直在阅读关于MySQL的Master-Master vs Master-Slave . 我知道如果我有一个Master-Master配置,我必须小心插入的数据在合并时没有冲突,并且可能存在更新问题 . 所以,我相信Master-Slave是一个更容易开始的选择 .

但是,有一些我在任何地方都找不到的答案:

1)我的应用程序应该连接到哪里?只是到主服务器?或者应用程序是否需要决定连接哪个服务器,具体取决于进程的查询?

2)由于我的应用程序是编写密集型的,因此有一个主从配置是否有意义?

3)如果进程选择并更新了什么?,它会 Build 2个连接,向Slave发送选择并更新为Master吗? (不是那么糟糕吗?是不是比Master-Master配置差?)

4)如果Master关闭,当我没有将Slave设为Master时会发生什么?同时更新会失败吗?

2 回答

  • 0

    读取写分裂的PHP框架,我知道是laravel,yii我推荐laravel . 祝好运

  • 0

    这是Sam D的回答 . 我试图在这里编辑他的原始答案,使其更完整,但编辑未获批准 .

    是的,会有交易损失 . 所以通常有服务器不断检查主服务器,所以当服务器发生故障时,它会尽快推出一个从服务器 . 在应用程序级别,读写拆分要好得多,有些框架会自动为您执行此操作,您可以在配置中指定主站和从站 .

相关问题