Mohon tunggu...
Mboi Coy
Mboi Coy Mohon Tunggu... -

:)

Selanjutnya

Tutup

Inovasi

Lebih Lanjut Mengenai Reverse Proxy

18 Januari 2010   04:57 Diperbarui: 4 April 2017   16:49 6607
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

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.

Dan masih ada beberapa Reverse Proxy lagi di internet yang bisa jadikan komparasi. Implementasi Untuk instalasi aplikasi ini dapat dibaca di file dokumentasi, forum atau di wikinya. Ada yang berbentuk source maupun binary. Beberapa diantaranya ada yang menyediakan untuk bermacam distro dengan berbagai platformnya pula. Mungkin yang perlu diperhatikan disini adalah bagaimana aplikasi Reverse Proxy ini dapat berjalan secara optimal. Perihal ini dapat dicapai dengan melakukan konfigurasi yang tepat untuk setiap parameter-parameter konfigurasi yang disediakan. Dengan metode-metode caching yang berbeda-beda untuk Reverse Proxy yang memiliki fitur Web Accelerator, maka arsitektur server juga perlu diperhatikan. Untuk yang menyimpan file caching di disk seperti Squid maka partisi tempat menaruh file-file caching perlu dalam ukuran yang tepat. Dan ada Reverse Proxy yang menyimpannya di partisi swap dan di memory, maka ukuran partisi swap atau ukuran memory harus dalam ukuran yang sesuai. Yang perlu dicatat disini, untuk website yang contentnya selalu update seperti website berita, penyedia blogging atau forum dengan aktifitas posting-an thread yang tinggi, ukuran disk perlu diperhatikan. Reverse Proxy akan me-cache setiap halaman kedalam file cache, maka dengan seiringnya waktu file-file cache akan terus membengkak apabila tidak melakukan penyesuaian parameter pada file konfigurasi Reverse Proxy tersebut. Konfigurasi yang perlu diperhatikan seperti maximum besar file yang di cache, lamanya waktu sampai cache terserbut expired dan parameter-parameter yang berkesusaian dengan spesifikasi server yang digunakan. Menurut penulis, Reverse Proxy lebih cocok diimplementasikan di halaman web yang dinamis. Dimana Web Server membutuhkan waktu untuk memproses rekues Http yang diterimanya, sehingga dengan menggunakan Reverse Proxy waktu server yang dibutuhkan secara keseluruhan dari menerima rekues Http, memprosesnya dan sampai mengirim kembali response-nya akan lebih singkat. Tidak seperti halaman web statik (html) dan file-file statik (jpeg, gif, js, css) yang bisa langsung di respons oleh Web Server, penggunaan Reverse Proxy pada kasus ini tidak akan terlalu menunjukan kenaikan performa yang signifikan. Lalu diantara banyaknya pilihan Reverse Proxy, manakah yang terbaik? penulis menyerahkan sepenuhnya penilaian kepada pembaca. Lakukanlah riset dengan mencoba beberapa aplikasi tersebut dengan konfigurasi yang diatur manual pula. Karena tidak ada yang lebih mengenal sistem yang kita kelola selain kita sendiri. met riset!

Mohon tunggu...

Lihat Inovasi Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun