├── .gitignore ├── .vscode └── launch.json ├── Makefile ├── README.md ├── clean-up.sh ├── demographic.png ├── docker-compose.yml ├── fastapi-app ├── .dockerignore ├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── app │ ├── __init__.py │ ├── config │ │ ├── __init__.py │ │ └── database.py │ ├── controllers │ │ ├── __init__.py │ │ ├── health_controller.py │ │ └── user_controller.py │ ├── main.py │ ├── models │ │ ├── __init__.py │ │ └── user.py │ ├── repositories │ │ ├── __init__.py │ │ └── user_repository.py │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ └── services │ │ ├── __init__.py │ │ └── user_service.py ├── requirements.txt ├── scripts │ ├── clean.sh │ ├── install.sh │ └── run.sh └── test_main.py ├── fastapi-raw ├── .dockerignore ├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── app │ ├── __init__.py │ ├── config │ │ ├── __init__.py │ │ └── database.py │ ├── controllers │ │ ├── __init__.py │ │ ├── health_controller.py │ │ └── user_controller.py │ ├── exceptions.py │ ├── helper.py │ ├── main.py │ ├── repositories │ │ ├── __init__.py │ │ └── user_repository.py │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ └── services │ │ ├── __init__.py │ │ └── user_service.py ├── docker-compose.yml ├── env │ └── container.env ├── init.sql ├── requirements.txt ├── scripts │ ├── clean.sh │ ├── install.sh │ └── run.sh └── test_restructure.py ├── master ├── init.sql └── my.cnf ├── proxysql └── proxysql.cnf ├── sbtest-app ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── Dockerfile ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── poc │ │ │ └── proxysql │ │ │ ├── ProxysqlPocApplication.java │ │ │ ├── config │ │ │ └── OpenApiConfiguration.java │ │ │ ├── controller │ │ │ └── UserController.java │ │ │ ├── models │ │ │ ├── UserCreateRequest.java │ │ │ ├── UserDTO.java │ │ │ └── UserUpdateRequest.java │ │ │ ├── repository │ │ │ ├── UserRepository.java │ │ │ └── entity │ │ │ │ └── UserEntity.java │ │ │ └── service │ │ │ ├── UserMapper.java │ │ │ ├── UserService.java │ │ │ └── UserServiceImpl.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── poc │ └── proxysql │ ├── ProxysqlPocApplicationTests.java │ └── contrioller │ └── UserControllerTests.java ├── slave ├── init.sql ├── my-slave1.cnf └── my-slave2.cnf └── user_api_postman_collection.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/README.md -------------------------------------------------------------------------------- /clean-up.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/clean-up.sh -------------------------------------------------------------------------------- /demographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/demographic.png -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /fastapi-app/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/.dockerignore -------------------------------------------------------------------------------- /fastapi-app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/.gitignore -------------------------------------------------------------------------------- /fastapi-app/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/Dockerfile -------------------------------------------------------------------------------- /fastapi-app/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/Makefile -------------------------------------------------------------------------------- /fastapi-app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/README.md -------------------------------------------------------------------------------- /fastapi-app/app/__init__.py: -------------------------------------------------------------------------------- 1 | # app package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Config package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/config/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/config/database.py -------------------------------------------------------------------------------- /fastapi-app/app/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | # Controllers package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/controllers/health_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/controllers/health_controller.py -------------------------------------------------------------------------------- /fastapi-app/app/controllers/user_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/controllers/user_controller.py -------------------------------------------------------------------------------- /fastapi-app/app/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/main.py -------------------------------------------------------------------------------- /fastapi-app/app/models/__init__.py: -------------------------------------------------------------------------------- 1 | # Models package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/models/user.py -------------------------------------------------------------------------------- /fastapi-app/app/repositories/__init__.py: -------------------------------------------------------------------------------- 1 | # Repositories package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/repositories/user_repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/repositories/user_repository.py -------------------------------------------------------------------------------- /fastapi-app/app/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | # Schemas package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/schemas/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/schemas/user.py -------------------------------------------------------------------------------- /fastapi-app/app/services/__init__.py: -------------------------------------------------------------------------------- 1 | # Services package 2 | -------------------------------------------------------------------------------- /fastapi-app/app/services/user_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/app/services/user_service.py -------------------------------------------------------------------------------- /fastapi-app/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/requirements.txt -------------------------------------------------------------------------------- /fastapi-app/scripts/clean.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/scripts/clean.sh -------------------------------------------------------------------------------- /fastapi-app/scripts/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/scripts/install.sh -------------------------------------------------------------------------------- /fastapi-app/scripts/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/scripts/run.sh -------------------------------------------------------------------------------- /fastapi-app/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-app/test_main.py -------------------------------------------------------------------------------- /fastapi-raw/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/.dockerignore -------------------------------------------------------------------------------- /fastapi-raw/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/.gitignore -------------------------------------------------------------------------------- /fastapi-raw/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/Dockerfile -------------------------------------------------------------------------------- /fastapi-raw/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/Makefile -------------------------------------------------------------------------------- /fastapi-raw/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/README.md -------------------------------------------------------------------------------- /fastapi-raw/app/__init__.py: -------------------------------------------------------------------------------- 1 | """FastAPI Raw SQL Application Package""" 2 | 3 | APP_NAME = "fastapi-raw" -------------------------------------------------------------------------------- /fastapi-raw/app/config/__init__.py: -------------------------------------------------------------------------------- 1 | """Configuration package""" -------------------------------------------------------------------------------- /fastapi-raw/app/config/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/config/database.py -------------------------------------------------------------------------------- /fastapi-raw/app/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | """Controllers package""" -------------------------------------------------------------------------------- /fastapi-raw/app/controllers/health_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/controllers/health_controller.py -------------------------------------------------------------------------------- /fastapi-raw/app/controllers/user_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/controllers/user_controller.py -------------------------------------------------------------------------------- /fastapi-raw/app/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/exceptions.py -------------------------------------------------------------------------------- /fastapi-raw/app/helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/helper.py -------------------------------------------------------------------------------- /fastapi-raw/app/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/main.py -------------------------------------------------------------------------------- /fastapi-raw/app/repositories/__init__.py: -------------------------------------------------------------------------------- 1 | """Repositories package""" -------------------------------------------------------------------------------- /fastapi-raw/app/repositories/user_repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/repositories/user_repository.py -------------------------------------------------------------------------------- /fastapi-raw/app/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | """Schemas package""" -------------------------------------------------------------------------------- /fastapi-raw/app/schemas/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/schemas/user.py -------------------------------------------------------------------------------- /fastapi-raw/app/services/__init__.py: -------------------------------------------------------------------------------- 1 | """Services package""" -------------------------------------------------------------------------------- /fastapi-raw/app/services/user_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/app/services/user_service.py -------------------------------------------------------------------------------- /fastapi-raw/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/docker-compose.yml -------------------------------------------------------------------------------- /fastapi-raw/env/container.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/env/container.env -------------------------------------------------------------------------------- /fastapi-raw/init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/init.sql -------------------------------------------------------------------------------- /fastapi-raw/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/requirements.txt -------------------------------------------------------------------------------- /fastapi-raw/scripts/clean.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/scripts/clean.sh -------------------------------------------------------------------------------- /fastapi-raw/scripts/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/scripts/install.sh -------------------------------------------------------------------------------- /fastapi-raw/scripts/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/scripts/run.sh -------------------------------------------------------------------------------- /fastapi-raw/test_restructure.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/fastapi-raw/test_restructure.py -------------------------------------------------------------------------------- /master/init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/master/init.sql -------------------------------------------------------------------------------- /master/my.cnf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/master/my.cnf -------------------------------------------------------------------------------- /proxysql/proxysql.cnf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/proxysql/proxysql.cnf -------------------------------------------------------------------------------- /sbtest-app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/.gitignore -------------------------------------------------------------------------------- /sbtest-app/.mvn/wrapper/MavenWrapperDownloader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/.mvn/wrapper/MavenWrapperDownloader.java -------------------------------------------------------------------------------- /sbtest-app/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /sbtest-app/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /sbtest-app/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/Dockerfile -------------------------------------------------------------------------------- /sbtest-app/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/mvnw -------------------------------------------------------------------------------- /sbtest-app/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/mvnw.cmd -------------------------------------------------------------------------------- /sbtest-app/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/pom.xml -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/ProxysqlPocApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/ProxysqlPocApplication.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/config/OpenApiConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/config/OpenApiConfiguration.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/controller/UserController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/controller/UserController.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/models/UserCreateRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/models/UserCreateRequest.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/models/UserDTO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/models/UserDTO.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/models/UserUpdateRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/models/UserUpdateRequest.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/repository/UserRepository.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/repository/entity/UserEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/repository/entity/UserEntity.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/service/UserMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/service/UserMapper.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/service/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/service/UserService.java -------------------------------------------------------------------------------- /sbtest-app/src/main/java/com/poc/proxysql/service/UserServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/java/com/poc/proxysql/service/UserServiceImpl.java -------------------------------------------------------------------------------- /sbtest-app/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/main/resources/application.yml -------------------------------------------------------------------------------- /sbtest-app/src/test/java/com/poc/proxysql/ProxysqlPocApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/test/java/com/poc/proxysql/ProxysqlPocApplicationTests.java -------------------------------------------------------------------------------- /sbtest-app/src/test/java/com/poc/proxysql/contrioller/UserControllerTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/sbtest-app/src/test/java/com/poc/proxysql/contrioller/UserControllerTests.java -------------------------------------------------------------------------------- /slave/init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/slave/init.sql -------------------------------------------------------------------------------- /slave/my-slave1.cnf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/slave/my-slave1.cnf -------------------------------------------------------------------------------- /slave/my-slave2.cnf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/slave/my-slave2.cnf -------------------------------------------------------------------------------- /user_api_postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dipanjal/mysql-replication-poc/HEAD/user_api_postman_collection.json --------------------------------------------------------------------------------