Servlet tips: Replikasi HttpSession pada lingkungan distributed web application
Dari artikel: Java theory and practice: State replication in the Web tierBeberapa web application server (servlet container) yang mensupport clustering atau melakukan replikasi data user (yang biasa disimpan pada session) dengan melakukan serializing objek yang berada di HttpSession yang kemudian ditransfer ke node cluster yang bersangkutan sehingga node tersebut dapat melakukan pemrosesan tersendiri terhadap request dari client. Begitu pula pada sistem load balancing.
Ada tiga pendekatan (cara) replikasi objek session yaitu dengan :
- JDBC-based replication
- File-based replication
- Memory-based replication
untuk memilih opsi mana yang akan kita pilih memperhitungkan/membandingkan cost yang dibutuhkan dari ketiga cara tersebut (web application server yang bagus biasanya mensupport 3 cara replikasi tersebut).
Beberapa tips untuk meningkatkan performansi:
- Buatlah objek yang disimpan di session seminimal mungkin.
- Jangan mem-by-pass setAttribute(). Jika kita telah merubah objek pada session lakukan setAttibute() untuk menyimpannya kembali di session, kalau tidak data perubahan tidak akan tersimpan.
- Gunakan fined-grained object (object yang kecil) yang akan disimpan di atribut session. Ini akan mempercepat proses serializing objek saat di replikasi.
- Jika tidak digunakan lagi segera invalidate objek. Ini akan menghemat memori karena object tidak menunggu dihilangkan saat session timeout.
- Usahakan session tetap bersih. Buang session jika tidak lagi diperlukan, sehingga tidak ada lagi yagn perlu di replikasi.
No comments:
Post a Comment