Я работаю над приложением CRM (php + Mysql), и теперь производительность является основной проблемой, в то время как количество пользователей увеличивается. Прямо сейчас весь запрос выполняется непосредственно на сервере MySQL. Итак, теперь я думаю о концепции Master-Slave для mysql, и у меня есть сомнение в том, что, если мастер занят вставкой и обновлением, есть ли шанс замедлить выполнение запроса на чтение из ведомого устройства.
Пожалуйста, дайте мне знать, если какая-либо другая хорошая архитектура системы для обработки данных с использованием MySQL.
Спасибо !
Ведущая подчиненная архитектура хороша для ускорения операции чтения.
Мастер будет обрабатывать все вставки / обновления / удаления.
Ведомый будет обрабатывать только операцию чтения.
Хотя slave не будет замедляться из-за операции записи на master. Поскольку mysql использует репликации для синхронизации главного и подчиненного серверов db.
При репликации файлы binlog передаются от главного к подчиненному. Binlogs являются двоичными файлами, поэтому их выполнение выполняется очень быстро по сравнению с обычными запросами.
Продолжайте с этим подходом.
Минусы:
Иногда существуют лаги между хозяином и рабом. Это может быть из-за задержки в сети или из-за того, что подчиненный сервер обрабатывает больше запросов на чтение.
Других решений пока нет …