Add semi-sync replication example
This commit is contained in:
parent
0186989bcc
commit
28edc90f6d
60
examples/compose-replication-semisync.yml
Normal file
60
examples/compose-replication-semisync.yml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
version: "3"
|
||||||
|
x-common-variables: &common-variables
|
||||||
|
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
|
||||||
|
MARIADB_REPLICATION_USER: ${MARIADB_REPLICATION_USER}
|
||||||
|
MARIADB_REPLICATION_PASSWORD: ${MARIADB_REPLICATION_PASSWORD}
|
||||||
|
|
||||||
|
x-common-attributes: &common-attributes
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
image: mariadb:lts
|
||||||
|
environment: *common-variables
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||||
|
start_period: 10s
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
x-common-replication: &common-replication
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "healthcheck.sh", "--connect", "--replication_io", "--replication_sql", "--replication_seconds_behind_master=1", "--replication"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
depends_on:
|
||||||
|
master:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
services:
|
||||||
|
master:
|
||||||
|
<<: *common-attributes
|
||||||
|
container_name: ${PRIMARY_name}
|
||||||
|
command: --log-bin --log-basename=mariadb --rpl_semi_sync_master_enabled
|
||||||
|
environment:
|
||||||
|
- MARIADB_USER=testuser
|
||||||
|
- MARIADB_PASSWORD=password
|
||||||
|
- MARIADB_DATABASE=testdb
|
||||||
|
|
||||||
|
replica1:
|
||||||
|
<<:
|
||||||
|
- *common-attributes
|
||||||
|
- *common-replication
|
||||||
|
container_name: ${REPLICATION_name_1}
|
||||||
|
command: --server-id=2 --log-basename=mariadb --rpl_semi_sync_slave_enabled
|
||||||
|
environment:
|
||||||
|
- MARIADB_MASTER_HOST=${PRIMARY_name}
|
||||||
|
- MARIADB_HEALTHCHECK_GRANTS=REPLICA MONITOR
|
||||||
|
|
||||||
|
replica2:
|
||||||
|
<<:
|
||||||
|
- *common-attributes
|
||||||
|
- *common-replication
|
||||||
|
container_name: ${REPLICATION_name_2}
|
||||||
|
command: --server-id=3 --log-basename=mariadb --rpl_semi_sync_slave_enabled
|
||||||
|
environment:
|
||||||
|
- MARIADB_MASTER_HOST=${PRIMARY_name}
|
||||||
|
- MARIADB_HEALTHCHECK_GRANTS=REPLICA MONITOR
|
||||||
|
|
||||||
|
networks:
|
||||||
|
backend:
|
Loading…
x
Reference in New Issue
Block a user