← Replica DB 프로젝트
🔗

03 / 05

이중화 구성

Master-Replica GTID 기반 복제 설정. CHANGE MASTER TO, 병렬 복제, systemd 구성

ReplicationGTIDParallel
개요버전업이중화 구성테스트튜닝

Replication

Master-Replica 이중화 구성

GTID 기반 복제로 Master-Replica 이중화를 구성했다. 병렬 복제(optimistic mode)를 적용해서 복제 처리량을 높이고, 워커 큐 설정으로 burst 상황에서도 안정적으로 동작하도록 했다.

복제 파이프라인

Replication Pipeline

Master→ binlog →IO ThreadRelay Log
Relay LogSQL CoordinatorWorker 1~4
구성 요소역할
IO ThreadMaster binlog를 읽어서 Relay Log로 저장
Relay LogMaster와 Replica 속도 분리를 위한 버퍼 역할
SQL CoordinatorRelay Log를 읽고 워커에게 작업 분배
Worker Thread실제 INSERT/UPDATE/DELETE 실행

Replica 설정

my.cnf

[mysqld]
server-id=2
relay-log=relay-bin
read-only=ON
log-slave-updates=ON
gtid_strict_mode=ON

# 병렬 복제
slave_parallel_threads=4
slave_parallel_mode=optimistic
slave_parallel_max_queued=524288

CHANGE MASTER TO

CHANGE MASTER TO
  MASTER_HOST='[master-ip]',
  MASTER_PORT=[db-port],
  MASTER_USER='[repl-user]',
  MASTER_PASSWORD='[repl-password]',
  MASTER_USE_GTID=slave_pos;

START SLAVE;

복제 상태 확인

SHOW SLAVE STATUS\G
항목정상값
Slave_IO_RunningYes
Slave_SQL_RunningYes
Seconds_Behind_Master0
Gtid_Slave_PosMaster와 동일

systemd 서비스 설정

# /etc/systemd/system/mariadb.service.d/override.conf
[Service]
LimitNOFILE=65535
LimitNPROC=65535
sudo systemctl daemon-reload
sudo systemctl enable mariadb
sudo systemctl start mariadb
버전업테스트