我的应用程序目前正在生产中运行。应用程序和数据库位于同一个服务器中。该应用程序是编写密集型的,甚至可以在GET请求上进行更新(但不是全部)。
我一直在阅读关于MySQL的Master-Master vs Master-Slave。我知道如果我有一个Master-Master配置,我必须小心插入的数据在合并时没有冲突,并且可能存在更新问题。所以,我相信Master-Slave是一个更容易开始的选择。
然而,我找不到任何答案:
1)我的应用程序应该连接到哪里?只是到主服务器?或者应用程序是否需要决定连接哪个服务器,具体取决于进程的查询?
2)由于我的应用程序是编写密集型的,因此有一个主从配置是否有意义?
3)如果进程选择并更新了什么?,它会建立2个连接,向Slave发送选择并更新为Master吗? (并不是那么糟糕?是不是比Master-Master配置差?)
4)如果Master失败了,当我没有将Slave设为Master时会发生什么?同时更新是否会失败?
答案 0 :(得分:0)
执行读写分割的PHP框架我知道是laravel和yii 我推荐laravel。 祝你好运
答案 1 :(得分:0)
这是Sam D的回答。我试着在这里编辑他的原始答案,以使其更完整,但编辑未被批准。
是的,会有交易损失。所以通常有服务器 不断检查主人,所以当它下降时它会促进一个 奴隶尽快。读写分裂在应用程序中要好得多 一些框架会自动为您执行此操作,您可以 在配置中指定主站和从站。