Pada artikel saya yang sebelumnya
Teknik untuk Website dengan Performa Tinggi, telah dipaparkan bentuk-bentuk caching berikut teknik-teknik untuk melakukannya. Salah satu yang telah disebut di artikel tersebut adalah Reverse Proxy. Artikel ini akan mengkaji lebih dalam seluk beluk Reverse Proxy. Pengertian umum, cara kerja, aplikasi dan implementasinya
Pengertian Umum Kalau saya sebutkan kata Proxy mungkin yang pertama terlintas dibenak orang kebanyakan adalah server yang berjalan antara komputer kita (client) dan internet. Dan umumnya berfungsi sebagai caching halaman-halaman web yang pernah dikunjungi, pengalokasian bandwidh, atau rule mengenai user, content filtering dan fungsi-fungsi lainnya yang diusung oleh bermacam aplikasi Proxy. Sebenarnya jenis proxy tersebut adalah
Forward Proxy. Sebaliknya, ada jenis Proxy yang berjalan dari sisi lainnya yaitu sisi server, Web Server lebih tepatnya. Pada Reverse Proxy ini, Proxy berada di garda depan menerima Rekues Http/HTTP Request (umumnya diport 80). Seperti Forward Proxy, salah satu tugas dari Reverse Proxy ini yaitu untuk melakukan caching halaman-halaman web yang pernah direkues sebelumnya.
Cara Kerja Seperti yang telah disebutkan sebelumnya. Reverse proxy berjalan di port 80 untuk melayani rekues Http. Di port 80 Reverse Proxy tidak menggantikan fungsi Web Server, melainkan dia akan melanjutkan rekues Http tersebut ke Web Server untuk diolah. Dan apabila Web Server telah selesai mengolah permintaanya tersebut, Web Server akan mengembalikan kembali ke Reverse Proxy. Sebelum Reverse Proxy mengirim kembali rekues Http tersebut ke client sebagai respons (HTTP Response), Reverse Proxy akan menyimpan respon Http tersebut kedalam media penyimpanan sekunder (fitur:
Web Accelerator). [caption id="attachment_55254" align="aligncenter" width="267" caption="How Reverse Proxy Work"][/caption] Sehingga, apabila ada rekues Http yang sama kembali, Reverse Proxy akan mengambil langsung response Http tersebut tanpa meneruskan rekues Http tersebut ke Web Server. Keuntungan penerapan Reverse Proxy ini, apalagi di Web Server dengan traffic yang tinggi yakni memberikan nilai plus di sisi user-experience. Client akan mendapatkan response dari halaman yang direkusnya lebih cepat ketimbang merekues ke Web Server yang tidak menggunakannya. Dan keuntungan dari sisi server yaitu load server akan turun karena tugas dari Web Server akan lebih ringan dengan sedikitnya rekues yang diterimanya. Sebagai catatan, Request Header yang diterima oleh Web Server adalah Request Header dari Proxy, bukan dari client. Buat yang melakukan analisa statistik web (Urchin, AwStat) maupun trace/debug log Web Server, perlu dilakukan setting tambahan di sisi Proxy dan Web Server. Bacalah dokumentasi dari aplikasi yang digunakan, karena tiap-tiap aplikasi menggunakan istilah yang berbeda-beda.
Aplikasi Tidak ada pemain tunggal di Reverse Proxy ini. Dengan memasukan kata kunci 'Reverse Proxy' saja, google memberikan beberapa nama untuk aplikasi ini. Seperti aplikasi-aplikasi lainnya, Reverse Proxy juga ada yang tersedia sebagai aplikasi proprietary, free-ware maupun opensource. semuanya memberikan fitur-fitur dan teknik optimasi yang berbeda-beda. Sebut diantaranya seperti Squid, Varnish, Nginx, Pound (tidak ada fitur web accelerator) atau Apache dengan mod_proxy nya.
- Squid, terkenal fungsinya sebagai Forward Proxy. Tetapi aplikasi ini dapat difungsikan sebagai Reverse Proxy pula. Dengan instalasi dan konfigurasinya yang mudah mungkin aplikasi ini dapat dipertimbangkan sebagai aplikasi untuk memulai implementasi Reverse Proxy.
- NginX, aplikasi yang berasal developer rusia banyak menarik perhatian saat ini sebagai Web Server. Aplikasi menggunakan resource memory yang sedikit dan memiliki fitur sebagai Reverse Proxy juga.
- Apache, sebagai Web Server yang paling banyak digunakan diseluruh dunia, dengan menggunakan module tambahan (mod_proxy) apache bisa digunakan pula sebagai Reverse Proxy.
KEMBALI KE ARTIKEL