16.2.2 Каналы репликации
В MySQL репликации с несколькими источниками реплика открывает несколько каналов репликации, по одному для каждого сервера-источника репликации. Каналы репликации представляют путь транзакций, которые проходят от источника к реплике. Каждый канал репликации имеет свою собственную нить получателя (I/O), одну или несколько нитей приложения (SQL) и журнал релейной записи. Когда транзакции из источника принимаются нитью получателя канала, они добавляются в файл журнала релейной записи канала и передаются нитям приложения канала. Это позволяет каждому каналу работать независимо.
В этом разделе описывается, как каналы могут использоваться в топологии репликации, и какое влияние они оказывают на репликацию с одним источником. Инструкции по настройке источников и реплик для репликации с несколькими источниками, запуску, остановке и сбросу реплик с несколькими источниками, а также мониторингу репликации с несколькими источниками см. в разделе 16.1.5, «MySQL репликация с несколькими источниками».
Максимальное количество каналов, которое может быть создано на одной реплике в топологии репликации с несколькими источниками, составляет 256. Каждый канал репликации должен иметь уникальное (непустое) имя, как описано в разделе 16.2.2.4, «Правила именования каналов репликации». Коды ошибок и сообщения, которые выдаются при включении репликации с несколькими источниками, указывают на канал, который сгенерировал ошибку.
Каждый канал на реплике с несколькими источниками должен получать данные из другого источника. Вы не можете настроить несколько каналов репликации с одной реплики на один источник. Это связано с тем, что идентификаторы серверов реплик должны быть уникальными в топологии репликации. Источник различает реплики только по их идентификаторам серверов, а не по именам каналов репликации, поэтому он не может распознать разные каналы репликации от одной и той же реплики.
Реплика с несколькими источниками также может быть настроена как многопоточная реплика, установив системную переменную slave_parallel_workers на значение больше 0. При выполнении этой операции на реплике с несколькими источниками каждый канал на реплике имеет указанное количество нитей приложения плюс нить координатора для их управления. Вы не можете настроить количество нитей приложения для отдельных каналов.
Для обеспечения совместимости с предыдущими версиями сервер MySQL автоматически создает при запуске по умолчанию канал с именем пустая строка (""). Этот канал всегда присутствует; его нельзя создать или удалить пользователем. Если не создано других каналов (с непустыми именами), операторы репликации действуют только на канал по умолчанию, так что все операторы репликации со старых реплик работают как ожидается (см. раздел 16.2.2.2, «Совместимость с предыдущими операторами репликации». Операторы, применяемые к каналам репликации, как описано в этом разделе, могут использоваться только тогда, когда существует по крайней мере один именованный канал.
© 2025 Oracle
Licensed under the GPLv2 License.