digilib@itb.ac.id +62 812 2508 8800

Fault tolerance merupakan properti yang memungkinkan suatu sistem dapat terus beroperasi meskipun terjadi kegagalan pada sebagian komponennya. Properti fault tolerance sangat diperlukan terutama pada highly available atau life critical system. Untuk membangun sistem yang fault tolerant, salah satunya dapat dilakukan dengan strategi replikasi, yaitu penyediaan beberapa instan identik dari komponen sistem. Replikasi pada sistem dengan arsitektur three tier memungkinkan pengalihan komputasi ke backup middle tier server ketika terjadi kegagalan pada primary server. Namun yang menjadi masalah adalah ketika koneksi ke database terputus, database server akan membatalkan semua state dan resource transaksi, sehingga backup server akan kehilangan state sementara transaksi yang diperlukan untuk mengambil alih eksekusi dari primary server. Oleh karena itu, diperlukan dukungan database server agar dapat mengetahui role suatu koneksi dan dapat memindahkan state transaksi dari koneksi primary ke backup ketika koneksi middle tier server ke database server terputus. Untuk mendukung replikasi di middle tier, sebuah metode yang memanfaatkan nama user sebagai identifier koneksi telah dimplementasikan. Pada metode ini, setiap koneksi atas nama user yang sama secara otomatis diperlakukan sebagai satu grup replika. Untuk mengatasi keterbatasan dari implementasi tersebut, pada tugas akhir ini dilakukan pengembangan yang meliputi perubahan implementasi MySQL Connector/J untuk mendukung pembentukan koneksi backup dengan id unik sebagai identifier koneksi dan perubahan implementasi MySQL untuk mendukung skema replikasi primary-backup. Pengujian pembentukan koneksi backup dan pengujian failover antara primary dan backup telah dilakukan. Dari kedua pengujian tersebut, dapat disimpulkan bahwa pembentukan koneksi backup berhasil ditangani dan failover berhasil dilakukan tanpa mempengaruhi konsistensi database.