Kali ini saya ingin membagi pengetahuan saya tentang aplikasi multi server menggunakan CI2.x. Untuk aplikasi-aplikasi yang membutuhkan performa tinggi salah satu solusinya menggunakan multi server. Pengalaman yang pernah saya gunakan yaitu menggunakan 2-6 server aplikasi dan 1 server database. Aplikasi mana yang akan dipakai dapat disetting menggunakan load balancer, saat client mengakses maka client akan diarahkan ke server yang bebannya kecil.
Yang perlu diketahui saat menggunakan multi server adalah sesi. Dimana saat kita menggunakan $_SESSION, maka sesi itu akan tersimpan pada mesin/server lokal pada file tertentu. Maka timbul pertanyaan, kenapa file yang digunakan untuk menyimpan session itu tidak dishare saja untuk semua mesin? Pengalaman kami, metode seperti ini dapat jalan namun saat beban aplikasi meningkat, maka sesi ini akan menyebabkan proses melambat.
Untung pada codeigniter 2.x. mendukung penyimpanan sesi menggunakan database, meski masih ada bug. Saat kita menggunakan database, maka session itu akan tersimpan pada satu tabel, dan tabel itu dapat dibaca oleh semua mesin/server.
Nah sekarang bagaimana implementasinya? Simpel sekali, buat aplikasi di tiap-tiap mesin identik, kecual mungkin satu hal yaitu memunculkan identitas server yang sedang aktif diakses. Proses ini bisa menggunakan fasilitas sinkron pada aplikasi-aplikasi codeigniternya.
Semoga bermanfaat
wah pusing blm pernah bikin gan….