How many replicas MySQL production needs?

Если у вас production™, который базируется на MySQL, то, очевидно, вам нужны backup’ы. hot standby replica — та, на которую нужно будет переключиться, если произошёл отказ master’а — как минимум, одна: hot standby replica

Во-2-х, нужна replica, на которой можно выполнить mysqldump — чтобы не нагружать этим master. Если делать mysqldump с hot standby, вы получите replication lag, лишившись, таким образом hot standby, поэтому, это должна быть отдельная replica: dump replica

Кроме того, вы можете захотеть снять read-нагрузку с master, переложив её на одну из этих двух. Это однозначно не стоит делать на dump replica, поскольку при dump, там будет точно такой же lag, а неактуальные данные с неё, скорее всего, вам не нужны. Можно ли использовать hot standby replica для этих целей? Этот вариант кажется более логичным, но если read-запросов к ней слишком много, то, скорее всего, и там можно будет наблюдать lag. Поэтому для целей read offload — лучше всего поднять отдельные реплики, никак не связанные с прежними: read replica(s)

Рано или поздно может потребоваться сделать MySQL upgrade. Довольно очевидно, что это должна быть отдельная replica, с актуальными данными, которую вы можете без спешки обновить, протестировать, и использовать как новый master. Эту реплику можно, в пр-цпе, не использовать постоянно, но должен быть способ её быстрого изготовления: upgrade replica

Также, существуют рекомендации (a-la best practices) использовать intentionally delayed replica — когда replica намеренно плетётся за master с заданной задержкой. Суть в том, что если на production был выполнен какой-либо ошибочный update/delete/drop (и так далее), вы можете, не мешкая, метнуться на такую replica, и сделать replay, исключая ошибочные действия, которые были выполнены на master. Это позволит восстановить штатную работу системы с меньшим downtime: intentionally delayed replica

Итого:

  1. hot standby replica(s)
  2. dump replica
  3. read replica(s)
  4. upgrade replica
  5. intentionally delayed replica(s)

Очевидно, что такой набор slaves может ощутимо тормозить master, поэтому потребуются механизмы оптимизации процесса репликации.