oke,,uda mau ujian akhir jadi ada tugas 3+4,,nah tugas ini nih tentang replication dan webservice. Kedua kalinya bertemu mr. webservice. Mau tau apa itu replication dan webservice, gimana cara kerjanya dll oke langsung ajah.
Cekidot .....
Cekidot .....
- Replication Database
Replikasi
database bisa di artikan pengcopyan data atau mentransfer data dari
database ke database lain yang tersimpan pada komputer yang berbeda
dalam satu jaringan.
Untuk
membuat replikasi ini minimal di butuhkan 2 komputer yang saling
terkoneksi, satu komputer sebagai master server dan yang satunya lagi
sebagai slave server. Master server sendiri berfungsi sebagai pusat
dari pengolahan data, sedangkan slave master berfungsi pencatat
sekaligus replikasi/pengcopyan data dari master server.
Di
atas ini adalah gambaran setruktur replikasi database yang akan di
implementasikan pada web nantinya. Sekarang kita buat replikasinya.
Pertama-tama
siapkan semua kebutuhan yaitu 2 mesin berbasis Ubuntu yang telah
diinstal MySQL. Nah mesin pertama (misal IP: 192.168.1.5) yang akan
kita gunakan sebagai Master dan yang kedua (misal IP: 192.168.1.1)
sebagai Slave, pastikan terkoneksi dalam jaringan dan tidak ada
masalah dengan port yang digunakan MySQL (defaultnya 3306).
Konfigurasi
Master Server
Adapun
yang harus dilakukan adalah:
Membolehkan
(enable) networking untuk MySQL, sehingga MySQL di mesin ini bisa
diakses dari jaringan/berbagai IP Address. Caranya dengan memastikan
pada my.cnf (biasanya di /etc/mysql/my.cnf) 2 baris,
‘skip-networking’ dan ‘bind-address=127.0.0.1″ tidak aktif
dengan menambahkan karakter komentar (#) di awal barisnya, sehingga
menjadi;
#
skip-networking
#
bind-address = 127.0.0.1
Selanjutnya
setup lokasi file log-bin, id-server dan nama database (di tutorial
ini kita akan menggunakan database tes).
server-id
= 12345
log_bin
= /var/log/mysql/mysql-bin.log
max_binlog_size
= 100M = 10
binlog_do_db
= tes
Agar
konfigurasi baru bisa langsung berfungsi, silahkan restart MySQL
dengan perintah:
#/etc/init.d/mysql
restart
Konfigurasi
MySQL Master Server
Setelah
kita selesai dengan konfigurasi file my.cnf sekarang
kita masuk ke MySQL dengan perintah:
- #mysql -u root -p
Maka
prompt-nya akan berubah dari $ (atau #) menjadi mysql> . Nah
disini kita akan membuat user baru database MySQL yang akan diberi
hak untuk melakukan replikasi;
- mysql> GRANT REPLICATION SLAVE ON *.* TO 'tiptop' @ '%' IDENTIFIED BY 'tiptop';
- mysql> FLUSH PRIVILEGES;
Keterangan
= Username 'tiptop' dan Password 'tiptop' silahkan ganti sesuai
keinginan. Setelah itu kita ambil informasi binary log dari database
yang kita ingin replikasi,
- mysql> CREATE DATABASE tes;
- mysql> USE tes;
- mysql> FLUSH TABLES WITH READ LOCK;
- mysql> SHOW MASTER STATUS;
Simpan
informasi ini untuk digunakan pada konfigurasi di mesin Slave.
Setelah itu jangan lupa unlock dulu semua table tadi, dan keluar
dengan perintah;
- mysql> UNLOCK TABLES;
- mysql> quit
Konfigurasi
Slave Server
Edit
file my.cnf yang
berada pada folder /etc/mysql/my.cnf dengan
perintah:
- #nano /etc/mysql/my.cnfserver-id = 12master-host=192.168.1.5
master-user=tiptop
master-password=tiptop
master-connect-retry=60
replicate-do-db=tes
Keterangan:
nilai server-id, dapat diganti dengan angka integer positif selain
12345 yang sudah dipakai oleh Master. Setelah
selesai restart MySQLnya dengan perintah:
- #/etc/init.d/mysql restart
Konfigurasi
MySQL Slave Server
Setelah
kita selesai dengan konfigurasi file
my.cnf sekarang
kita masuk ke MySQL di
terminal dan jalankan, perintah berikut ini;
- mysql>SLAVE STOP;
- mysql>CHANGE MASTER TO MASTER_HOST=’192.168.1.5′, MASTER_USER=’tiptop’, MASTER_PASSWORD=’tiptop‘,MASTER_LOG_FILE=’mysql-bin.000001‘,MASTER_LOG_POS=187;
- mysql>START SLAVE;
- mysql>FLUSH PRIVILEGES;
- mysql> SHOW SLAVE STATUS \G
- mysql>exit;
#mysql
-u root -p
Silahkan
ditest, harusnya kalau tidak ada langkah yang salah, jika di Master
server terjadi perubahan database, maka database Slave
server akan ikut berubah.
2. Web Service
Web
service merupakan layanan di dalam suatu lingkungan web yang terdiri
dari method yang siap pakai. Web service bersifat independent (tidak
tergantung pada platform), karena melakukan pertukaran data dengan
XML. Teknologi web service memungkinkan kita dapat menghubungkan
berbagai jenis software yang memiliki platform dan sistem operasi
yang berbeda.
Jadi,
kita tetap mendapatkan sebuah potongan informasi dari suatu website
tanpa harus mengunjungi website tersebut, cukup dengan mengetahui
fungsi/method web service yang disediakan oleh web itu. Kita dapat
mengakses potongan informasi itu dengan meletakkan fungsi/method itu
pada aplikasi kita.
Untuk membuat web
service ini di butuhkan NuSOAP. NuSOAP adalah library yang digunakan untuk membangun web
service berbasis SOAP yang ditulis dengan menggunakan bahasa
PHP. Dan library ini di simpan di dalam client dan server.
Dalam membangun
sebuah sistem aplikasi berbasis web service, dibutuhkan dua
komponen utama yaitu, server sebagai provider entity
dan client sebagai requester entity.
Di bawah ini adalah
struktur gambaran replikasi database sekaligus penggunaan Web
Service.
Di
atas adalah gambar arsitektur Replikasi Database dan webservice, Di
mana ip master server (server) adalah 192.168.1.5 dan ip slave master
(server1) yang ke jaringan local adalah 192.168.1.1 sedangkan ip
publiknya 202.91.10.214. Master server (server) ini hanya bisa di
akses dari jaringan local saja sehingga di butuhkan webservice agar
bisa di akses dari jaringan public. Fungsi slave server (server1) di
sini mereplikasi database dari master server, didalam server1
(lab.akprind.ac.id) di tanamkan server.php yang isinya adalah fungsi
fungsi untuk menampilkan, update, tambah dan delete, yang nantinya
dapat di akses dari client (ayhez.16mb.com).
Untuk
fungsi menampilkan data (membaca data), database yang di akses adalah
database slave server, sedangkan untuk fungsi tambah, edit dan delete
database yang digunakan adalah database master server.
Jadi
saat jaringan lokal mati maka proses tambah, edit dan delete tidak
berfungsi karena master server berada pada jaringan lokal, tetapi
untuk proses menampilkan data dapat berfungsi karena database yang di
akses adalah slave server yang berada pada jaringan publik.
Tidak ada komentar:
Posting Komentar