Salah
satu contoh aplikasi proxy/cache server adalah Squid. Squid dikenal sebagai
aplikasi proxy dan cache server yang handal. Pada pihak klien bekerja apliaksi
browser yang meminta request http pada port 80. Browser ini setelah
dikonfigurasi akan meminta content, yang selanjutnya disebut object, kepada
cache server, dengan nomor port yang telah disesuaikan dengan milik server,
nomor yang dipakai bukan port 80 melainkan port 8080 3130 (kebanyakan cache
server menggunakan port itu sebagai standarnya).
Pada saat browser mengirimkan header
permintaan, sinyal http request dikirimkan ke server. Header tersebut diterima
squid dan dibaca. Dari hasil pembacaan, squid akan memparsing URL yang
dibutuhkan, lali URL ini dicocokkan dengan database cache yang ada.
Database ini berupa
kumpulan metadata (semacam header) dari object yang sudah ada didalam hardisk.
Jika ada, object akan dikirimkan ke klien dan tercatat dalam logging bahwa
klien telah mendapatkan object yang diminta. Dalam log kejadian tersebut akan
dicatat sebagai TCP_HIT. Sebaliknya, jika object yang diminta ternyata tidak
ada, squid akan mencarinya dari peer atau langsung ke server tujuan. Setelah
mendapatkan objectnya, squid akan menyimpan object tersebut ke dalam hardisk.
Selama dalam proses download object ini dinamakan “object in transit” yang
sementara akan menghuni ruang memori. Dalam masa download tadi, object mulai
dikirimkan ke klien dan setelah selesai, kejadian ini tercatat dalam log
sebagai TCP_MISS.
Hubungan antar cache atau nantinya
disebut peer itu sendiri ada dua jenis, yaitu parent dan sibling. Sibling
kedudukannya saling sejajar dengan sibling lainnya, sedangkan parent adalah
berada diatas sibling, dua jenis peer ini yang selanjutnya akan bergandengan
membentuk jaringan hirarki cache
ICP sebagai protokol cache berperan
dalam menanyakan ketersediaan object dalam cache. Dalam sebuah jaringan sebuah
cache yang mempunyai sibling, akan mencoba mencari yang dibutuhkan ke peer
sibling lainnya, bukan kepada parent, cache akan mengirimkan sinyal icp kepada
sibling dan sibling membalasnya dengan informasi ketersediaan ada atau tidak.
Bila ada, cache akan mencatatkan ICP_HIT dalam lognya. Setelah kepastian object
bias diambil dari sibling, lalu cache akan mengirimkan sinyal http ke sibling
untuk mengambil object yang dimaksud. Dan setelah mendapatkannya, cache akan
mencatat log SIBLING_HIT.
0 comments:
Post a Comment