https://github.com/anantadwi13/bdt_ets
Distributed Database Using MySQL Group Replication
https://github.com/anantadwi13/bdt_ets
apache2 docker docker-compose haproxy mysql mysql-cluster mysql-group-replicaion
Last synced: 2 months ago
JSON representation
Distributed Database Using MySQL Group Replication
- Host: GitHub
- URL: https://github.com/anantadwi13/bdt_ets
- Owner: anantadwi13
- Created: 2019-10-08T02:07:00.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-14T08:33:25.000Z (over 6 years ago)
- Last Synced: 2025-09-13T17:36:22.361Z (10 months ago)
- Topics: apache2, docker, docker-compose, haproxy, mysql, mysql-cluster, mysql-group-replicaion
- Language: Shell
- Homepage:
- Size: 656 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: docs/readme.md
Awesome Lists containing this project
README
# Laporan ETS BDT 2019
## Tahapan Penyelesaian
1. Membuat container/instance setiap server. Server terdiri dari Web Server, DB Load Balancer, DB Server 1, DB Server 2, DB Server 3.
- Untuk pembuatan container/instance server tersebut dapat menggunakan docker-compose agar proses installasi lebih cepat
- DB Server (1 sampai 3) menggunakan image yang sama sehingga tidak perlu mendownload dependencies berulang-ulang
2. Untuk DB Server (1 sampai 3) dipasang MySQL Server beserta plugin group replication
- Untuk mengecek apakah group replication berjalan atau tidak dapat menggunakan query berikut
```sql
SELECT * FROM performance_schema.replication_group_members;
```

3. Untuk DB Load Balancer menggunakan HAProxy sebagai load balancer untuk ketiga DB Server
- Untuk mengecek apakah service mysql berjalan atau tidak dapat dilakukan dengan cara melihat statistic page HAProxy di link `localhost:9201`

- HaProxy tidak bisa digunakan untuk mengecek status group replication
- Proxy DB Server dapat diakses melalui `localhost:3306` atau `127.0.0.1:3306`
4. Untuk Web Server menggunakan Apache dan PHP
- Untuk koneksi database menggunakan konfigurasi berikut
```php
DB_HOST=192.168.17.30 // IP HAProxy Server
DB_PORT=3306 // Port HAProxy Server
DB_DATABASE=reservasi
DB_USERNAME=haproxy_root
DB_PASSWORD=admin
```
- Webserver dapat diakses melalui `localhost` atau `127.0.0.1`
## Cara Menjalankan Service
1. Lakukan build image untuk menginstall dependencies dan konfigurasi yang diperlukan
```bash
docker-compose build
```
2. Untuk meng-create container dan menjalankannya dapat dilakukan dengan cara menjalankan perintah berikut
```bash
# --compatibility digunakan agar dapat menggunakan versi file config docker-compose sebelumnya. Tujuannya untuk memberikan batasan/limit memory yang akan digunakan
docker-compose --compatibility up
# Untuk menjalankannya di background
docker-compose --compatibility up -d
```

3. Untuk menghentikan salah satu server dapat dilakukan dengan cara
```bash
# docker-compose stop nama_service
docker-compose stop web_server
```
4. Untuk menghapus seluruh service dapat dilakukan dengan cara
```bash
docker-compose down
docker volume rm bdt_ets_web_server
docker volume rm bdt_ets_db_server1
docker volume rm bdt_ets_db_server2
docker volume rm bdt_ets_db_server3
```