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

时间:2013-12-03 19:47:17

标签: mysql master-slave

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

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

然而,我找不到任何答案:

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

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

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

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

2 个答案:

答案 0 :(得分:0)

执行读写分割的PHP框架我知道是laravel和yii 我推荐laravel。 祝你好运

答案 1 :(得分:0)

这是Sam D的回答。我试着在这里编辑他的原始答案,以使其更完整,但编辑未被批准。

  

是的,会有交易损失。所以通常有服务器   不断检查主人,所以当它下降时它会促进一个   奴隶尽快。读写分裂在应用程序中要好得多   一些框架会自动为您执行此操作,您可以   在配置中指定主站和从站。