PROPOSAL PENELITIAN TESIS
KOMPARASI DISTRIBUTED CACHE DAN CENTRALIZED CACHE PADA WEB PROXY
PARULIAN 157038015
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2016 - 2017
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Dalam perkembangan teknologi informasi, informasi mudah didapatkan dengan cepat melalui teknologi jaringan komputer yang dikenal dengan Internet. Masalah yang sering terjadi pada penggunaan internet saat ini adalah kecepatan pengaksesan informasi yang diinginkan tergantung dari besarnya bandwidth yang dimiliki.
Pada penerapan teknologi internet, batasan bandwidth yang tersedia menjadi tantangan terhadap kenyamanan user dalam mengakses internet, contohnya di dalam suatu organisasi yang mengalami pertambahan jumlah user
yang cukup besar. Jika besar bandwidth yang digunakan tetap sama, maka user
akan mendapatkan slow response dari web proxy. Teknologi yang semakin hari membutuhkan bandwidth yang besar juga menjadi pertimbangan dalam menyediakan jumlah bandwidth bagi setiap user. Untuk mengatasi permasalahan
bandwidth, maka dicari solusi untuk mengoptimalkan penggunaan bandwidth
dengan menggunakan teknik caching.
Teknik Caching adalah suatu teknik yang menggunakan cache untuk menyimpan dokumen web sementara, seperti halaman HTML, dan gambar yang sebelumnya pernah diakses oleh user. Dengan menggunakan teknik caching, dapat mengurangi penggunaan bandwidth untuk me-request halaman yang sama
ke origin server, sehingga pengguna merasakan transfer data yang lebih cepat
karena data yang sebelumnya pernah diakses telah disimpan di dalam cache. Dalam caching ada 3 sistem yang dikenal yaitu, tanpa proxy server,
centralized caching web proxy server dan distributed caching web proxy server.
Sistem yang umum digunakan adalah centralized caching proxy server, pada teknik centralized caching proxy server ditemukan masalah terhadap avaliability,
reliability, dan scalability yang harus dimiliki sebuah sistem yang handal.
Masalah avaliability yang dihadapi oleh teknik ini adalah ketika single proxy web
server down dan tidak ada backup server untuk menangani request user,
dapat menangani request yang banyak dari user, dan masalah terakhir adalah
scalability yaitu ketika jumlah pengguna bertambah, centralized caching proxy
server tidak dapat dikembangkan dengan mudah.
Berdasarkan permasalahan yang dihadapi oleh centralized web proxy
server maka diperlukan solusi untuk mengatasi masalah tersebut, salah satunya
adalah dengan menggunakan distributed caching proxy server. Teknik ini akan mendistribusikan cache ke beberapa web proxy server, sehingga dapat mendukung availability dari segi tersedianya backup server, reliability dari segi penanganan (pendistibusian) request, dan scalability dari segi pengembangan sistem (penambahan web proxy) jika jumlah pengguna bertambah.
1.2. Rumusan Masalah
Berdasarkan latar belakang yang sudah dijelaskan maka perlu untuk menganalisis komparasi distributed cache dengan centralized cahce pada web proxy dalam menangani request dari setiap user.
1.3. Tujuan Penelitian
Tujuan penelitian ini adalah untuk mendapatkan hasil evaluasi komparasi dari sistem distributed cache dan centralized cache dengan cara mensinergikan protokol pendukung yang digunakan, sehingga di dapat hasil performansi yang paling efisien dan efektif untuk diimplementasikan. Dengan adanya hasil evaluasi komparasi dari sistem distributed cache dan centralized cache ini maka akan membantu setiap administrator jaringan untuk mengimplementasikan sistem
distributed cache atau centralized cache.
1.4. Batasan Masalah
Dalam penelitian ini terdapat beberapa batasan dalam pembahasan yang dilakukan antara lain:
a. Evaluasi performansi yang dilakukan adalah distributed cache pada
b. Web proxy yang digunakan adalah nginx, adapun alasan memilih
nginx adalah karena software ini open-source dan merupakan software
baru untuk web proxy.
c. Web Server Stress tool yang digunakan adalah siege. Software ini
adalah software yang dibuat untuk keperluan stress test dan
benchmark. Stress test dan benchmark diperlukan untuk mengetahui
seberapa baik performa aplikasi web server dan seberapa banyak
client atau koneksi yang bisa ditangani oleh web server.
d. Dalam pendistribusian chache akan digunakan protokol HTCP dan
BAB 2
TINJAUAN PUSTAKA
Pada bab ini dijelaskan berbagai teori yang mendasari pengerjaan penelitian ini berdasarkan studi dan eksplorasi pustaka. Teori tersebut mencakup
cache, protokol, dan proxy.
2.1. Komparasi
Komparasi adalah untuk mengetahui dan menguji perbedaan dua kelompok atau lebih. Penelitian komparasi juga adalah penelitian yang dilakukan untuk membandingkan suatu variabel (objek penelitian), antara subjek yang berbeda atau waktu yang berbeda dan menemukan hubungan sebab-akibatnya. Metode komparasi adalah suatu metode yang digunakan untuk membandingkan data yang ditarik ke dalam konklusi baru. Komparasi sendiri dari bahasa inggris, yaitu compare, yang artinya membandingkan untuk menemukan persamaan dari kedua konsep atau lebih.
Mohammad Nazir (2005 : 8) mengemukakan bahwa studi komparasi adalah sejenis penelitian yang ingin mencari jawaban secara mendasar tentang sebab akibat, dengan menganalisa faktor penyebab terjadinya maupun munculnya suatu fenomena tertentu. Dalam hal ini, komparasi dilakukan terhadap performansi distributed cache dan centralized cache pada web proxy. Adapun beberapa parameter yang akan digunakan adalah bandwidth, speed, cache hit ratio.
2.2 Centralized Cache dan Distributed Cache
Centralized cache merupakan chace terpusat yang dapat menampung
semua data organisasi komputer pusat seperti komputer mainframe atau server.
Distributed Cache adalah metode untuk mengkonfigurasi cache data untuk
menjangkau beberapa server, menyimpan permintaan umum dan memungkinkan pengambilan cepat. Cache terdistribusi digunakan pada server web dan server aplikasi untuk menyediakan penyimpanan non-lokal untuk redundansi yang lebih baik. Data yang tersimpan dalam cache terdistribusi umumnya ditentukan oleh
apa yang paling sering diakses dari server web atau aplikasi tertentu. Seperti yang diminta sebelumnya, potongan data dibiarkan tidak terbaca, data yang baru-baru ini diminta lebih diutamakan, data lama akhirnya terhapus dari cache.
Gambar 2.1 Centralize dan Distributed
2.3 Cache
Cache adalah sebuah media penyimpanan sesuatu secara sementara yang
digunakan untuk menyimpan data/ instruksi yang pernah diakses. Cache membuat kita tidak perlu me-request ulang objek yang pernah kita akses ke original server.
Caching merupakan sebuah cara untuk menyimpan objek-objek internet yang
diminta (seperti halnya pada halaman web) yang dapat diakses melalui HTTP dan FTP. Caching merupakan sebuah cara sederhana dan efektif guna meningkatkan performa aplikasi web.
2.4 Protokol
Protokol adalah suatu tool yang mendukung pengoptimalan performansi
cache terdistribusi, adapun beberapa protokol yang dapat digunakan adalah HTCP
dan Cache Digest. Protokol – protokol ini akan dikombinasikan untuk mengatasi
berbagai kelemahan-kelemahan yang terdapat disetiap protokol. Adapun kegunaan protokol ini adalah membantu pendistribusian cache, mencari letak objek yang di-request oleh user di dalam penyimpanan cache, serta mampu meningkatkan cache hit ratio (rasio Objek yang di-request oleh user ada didalam
cache).
2.4.1 HTCP
Hypertext Caching Protocol (HTCP) adalah protokol yang menggantikan
ICP, dimana protokol ini telah mengatasi berbagai permasalahan yang ditemui di protokol ICP. Protokol ini juga digunakan untuk menemukan cache HTTP dan data cache. Untuk versi HTTP/1.1 atau yang terbaru HTCP lebih baik jika dibandingkan ICP, karena dapat menghasilkan Hit Rate yang lebih baik.
2.4.2 Cache Digest
Cache Digest dibuat untuk mengatasi permasalahan latency dan
congestion yang terjadi di mekanisme komunikasi cache sebelumnya seperti ICP
dan HTCP. Berbeda dengan kebanyakan protokol, Cache Digest telah mendukung peering di antara beberapa cache server, sehingga dimungkinkan untuk melakukan pencarian peer (server) mana yang mempunyai objek yang di-request
oleh user Selain itu, protokol ini juga sudah didukung oleh nginx.
2.5 Web Proxy Server
Dalam jaringan komputer, sebuah web proxy server adalah sebuah server
yang berperan sebagai penghubung antara request dari client ke server. Proxy
server bertindak sebagai gateway untuk setiap komputer client. Sebuah client akan
melakukan koneksi ke proxy server ketika ingin me-request service, file, web page, atau resource lain yang berada di server yang berbeda. Pada saat ini proxy
seringkali digunakan dalam distributed system. Proxy memiliki 3 fungsi utama, yaitu:
a. Gateway (Connection Sharing)
Proxy dapat digunakan sebagai gateway dari semua komputer yang
terdapat pada jaringan lokal yaitu dengan cara semua komputer yang berada pada jaringan lokal menggunakan alamat IP publik yang dimiliki oleh proxy server sehingga setiap computer yang ada pada jaringan lokal tidak harus memiliki alamat IP publik untuk mengakses internet.
b. Firewall (Filtering)
Proxy bekerja pada layer aplikasi sesuai dengan aturan OSI Layer,
maka filtering yang dilakukan oleh proxy lebih baik daripada firewall
biasa karena dapat mengecek URL dari permintaan akses keluar untuk halaman web. Dengan kemampuan tersebut, administrator dapat melarang atau mengijinkan akses ke domain tertentu.
c. Caching
Yaitu proxy server memiliki mekanisme penyimpanan objek-objek yang sudah pernah diminta dari sever-server di Internet, biasanya disebut caching. Caching proxy menyimpan data yang sering diminta oleh client ke suatu tempat penyimpanan di server
Beberapa keuntungan dan kerugian menggunakan proxy server. Adapun yang menjadi keuntungan penggunaan proxy server adalah sebagai berikut:
a. Dapat menghemat biaya bandwidth.
b. Mempercepat koneksi karena file-file web yang direquest (selanjutnya disebut object) disimpan di dalam cache sehingga tidak perlu keluar menuju Internet.
c. Dapat melakukan pembatasan untuk file-file tertentu.
d. Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs porno).
e. Dapat melakukan pembatasan download untuk file-file tertentu (misalnya file-file mp3,wav, dsb).
f. Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk
download.
g. Dapat melakukan pembatasan siapa saja yang boleh mengakses Internet dengan menggunakan autentikasi. Autentikasi yang biasa digunakan bisa basic, digest, ataupun ntlm.
Sedangkan yang menjadi kerugian dari penggunaan proxy server, diuraikan sebagai berikut :
a. Pintu keluar menuju gerbang Internet hanya lewat proxy, sehingga ketika terjadi over-load, akses Internet menjadi lambat.
b. User akan melihat file yang kadaluarsa jika cacheexpiretime-nya terlalu lama, sehingga meskipun di website file tersebut sudah berubah, user masih melihat file yang tersimpan di cache memory. c. Karena koneksi Internet harus melalui gerbang proxy terlebih dahulu,
maka kecepatan akses bisa jadi lebih lambat daripada kita melakukan koneksi langsung. Dalam hal ini keduanya akan mengakses file
Internet secara langsung.
2.6 Nginx
Nginx (baca: engine x) adalah sebuah server HTTP dan reverse proxy bebas berbasis open-source yang berkemampuan tinggi, juga dapat digunakan sebagai server proxy IMAP/POP3. Perangkat lunak ini diciptakan oleh Igor
Sysoev pada tahun 2002, dan dirilis untuk pertama kalinya secara umum pada tahun 2004. Saat ini Nginx digunakan oleh 7,65% (22.8juta) nama domain di seluruh dunia.
Nginx terkenal karena performanya yang tinggi, stabil, memiliki banyak fitur, mudah dikonfigur, dan menggunakan hanya sedikit sumberdaya pada server. Nginx adalah salah satu dari sebagian kecil perangkat lunak untuk server yang diciptakan untuk mengatasi Problem C10K. Tidak seperti perangkat lunak server yang umum lainnya, Nginx tidak bergantung kepada thread untuk melayani klien. Sebaliknya, Nginx menggunakan arsitektur asynkronus yang lebih stabil. Arsitektur ini membutuhkan lebih sedikit memory, dan yang lebih penting, dapat diperkirakan.
Manfaat dari penggunaan nginx proxy antara lain:
a. Browsing semakin cepat untuk situs yang sudah pernah dibuka. b. Kuota pemakaian Internet atau bandwidth akan lebih irit c. Penggunaan Internet bisa untuk banyak user (Expandable User) Cara kerja nginx pertama-tama akan memeriksa request yang datang. Jika
nginx diset dengan autentikasi tertentu, nginx akan memeriksa autentikasi user
terlebih dahulu. Autentikasi ini termasuk subnet area, user account, jenis file yang direquest, alamat situs tujuan, dan properti-properti yang telah diset pada file konfigurasi nginx. Jika lolos dan telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telahberada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request ke Internet tetapi langsung
me-reply request dengan objek yang diminta. Jika tidak ada di cache, nginx dapat
menghubungi sibling-nya agar bisa saling tukar cache informasi menggunakan protocol icp. Jika masih tidak ada, nginx akan merequest ke parentnya. Parent harus menyediakan informasi yang diminta, entah mengambil dari cachenya atau langsung ke Internet.
Gambar 2.3 Reverse Proxy
Dari gambar diatas dapat dilihat bahwa sebuah proxy dapat meng-handle
beberapa web server. Adapun cara kerjanya adalah client akan melakukan akses terhadap sebuah URL misalnya https://www.google.co.id maka secara otomatis client akan melakukan request terlebih dahulu ke proxy server akan tetapi seolah - olah client melakukan request langsung ke web server. Setelah menerima request dari client, maka proxy server akan meneruskan request tersebut ke web server yang dituju.
2.7 Hierarki Proxy
Dalam pengimplementasian sistem distributed cache diperlukan sebuah hierarki proxy. Dalam hierarki ini ada beberapa komponen yang berperan, yaitu:
a. Child proxy
Child proxy akan bertugas sebagai load balancer, child akan menerima
request dari client lalu meneruskannya ke parent proxy. Dalam pemilihan
tujuan request ke parent proxy, child akan memilih berdasarkan algoritma Round-Robin. Algoritma ini akan membagi request (beban) ke beberapa parent proxy.
b. Parent proxy
Parent proxy akan bertugas menerima request yang didapat dari child
proxy. Setiap parent proxy akan membentuk hubungan sibling, dimana
mereka berkomunikasi dengan menggunakan protokol HTTP dan HTCP. Dalam proses melayani request, Pertama sekali parent proxy akan mencari object di cache directory-nya, jika object tidak ditemukan,
parent akan mencari object ke parent proxy yang lain (sibling-nya). Jika
object tidak ditemukan juga, parent proxy akan me-request object ke
origin server. Object yang didapat dari origin server tadi selanjutnya
disimpan di cache directory-nya, dan dikirim ke child proxy untuk diteruskan ke client.
Adapun hierarki yang digunakan dalam pendistribusian cache-nya adalah sebagai berikut:
Gambar 2.4 Hierarki Proxy
2.8 Webserver Stress Tool
Webserver stress tool adalah sebuah aplikasi untuk melakukan test pada suatu web server. Aplikasi ini biasanya digunakan untuk menguji apakah sebuah
server masih dapat melakukan performa yang baik ketika jumlah user menambah
dengan pesat (Scalability), dan apakah ada kemungkinan web server tidak dapat menangani jumlah request yang banyak (Reliability). Aplikasi ini akan membuat
virtual user yang dibutuhkan pada saat melakukan test. Adapun aplikasi
2.8.1 Siege
Siege adalah aplikasi yang dibuat untuk keperluan stress test dan
benchmark webserver. Stress test dan benchmarking diperlukan untuk mengetahui
seberapa baik performa aplikasi web, dan seberapa banyak client atau koneksi yang bisa ditangani oleh aplikasi tersebut.
BAB 3
METODOLOGI PENELITIAN
Dalam meningkatkan kecepatan akses internet, pengaturan topologi jaringan dan penambahan proxy server dapat dilakukan. Dengan adanya proxy
server, client tidak perlu mengirim request satu per satu ke internet. Hal ini
membuat waktu kecepatan akses client lebih cepat dalam mengirimkan request
terhadap suatu website.
Pada bab ini dijelaskan mengenai kebutuhan software dan hardware, topologi pengujian distributed chace (physical dan logical), dan skenario pengujian yang digunakan.
3.1 Tahapan Penelitian
Membuat Topologi Distributed dan
Centralized
Menggunakan Topologi Logical Cache Hit dan Topologi Logical
Cache Miss
Pengujian Centralized Reliability Pengujian Distributed Reliability
Pengujian Distributed Availability Pengujian Centralized Availability
Pengujian Centralized Scalability Pengujian Distributed Scalability
Hasil Response Time
3.1.1 Kebutuhan Software
Software yang digunakan dalam penelitian ini adalah sebagai berikut:
1. Sistem Operasi Centos sebagai virtual machine yang di-install
beberapa servis seperti DNS, HTTP, HTTPS) dan web proxy server nginx.
2. Siege, digunakan untuk melakukan pengujian beban terhadap web
server, aplikasi ini di-install pada Sistem Operasi Windows.
3. Nginx Proxy Server, digunakan sebagai web proxy. Software ini
dipilih karena mendukung penggunaan memori (RAM) sebagai penyimpanan cache, serta telah Mendukung protokol HTCP, dan
Cache Digest sebagai media komunikasi antar server.
4. Protokol HTCP, dan Cache Digest yang mendukung pengimplementasian distributed caching mulai dari penyimpanan
cache hingga mengambil cache dari disk.
3.1.2 Kebutuhan Hardware
Hardware yang digunakan dalam penelitian ini adalah sebagai berikut :
1. 2 atau lebih PC, akan dimanfaatkan sebagai proxy server, dengan spesifikasi sebagai berikut:
Tabel 1. Spesifikasi Proxy Server
Hardware Keterangan
Processor Intel(R) core (TM) i3
Hard disk 500 GB
Memory 4 GB
LAN Card 1000 MBps
2. 1 unit router mikrotik
3.2 Topologi Centralized Cache
Topologi ini menjelaskan keterkaitan antar komponen-komponen yang dibutuhkan, serta aliran data yang terjadi di masing-masing perangkat.
3.2.1 Topologi Physical
Topologi Physical menjelaskan keterkaitan antar komponen komponen yang dibutuhkan pada saat pengujian, berikut gambar topologi Physical yang digunakan pada saat pengujian.
ISP
Modem
Router Proxy Server
Switch
Client
Gambar 3.2 Topologi Physical Centralized
Topologi diatas digunakan untuk pengujian centralized caching. Peran komponen pada topologi physical adalah sebagai berikut:
1. Client, perangkat ini digunakan untuk me-request halaman web, yang
merupakan virtual user yang dibuat oleh webserver stress tool.
2. Mikrotik, perangkat ini digunakan untuk menghubungkan semua perangkat yang digunakan.
3. Proxy server, perangkat ini digunakan sebagai web proxy yang akan
3.2.2 Topologi Logical
Topologi Logical menggambarkan bagaimana aliran data pada masing-masing komponen pada saat pengujian. Ada 2 topologi logical yang digunakan, yang pertama adalah saat object yang di-request oleh client ada pada web proxy
(cache HIT), dan yang kedua saat object yang di-request oleh client tidak ada
pada web proxy sehingga object harus di-request ke Origin Server (cache MISS).
3.2.2.1 Topologi Logical Cache HIT
Topologi logical cache HIT menggambarkan bagaimana aliran data yang terjadi saat terjadi cache HIT. Berikut gambar topologi Logical cache HIT:
Gambar 3.3 Topologi Logical Cache HIT pada CentralizedCache
Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.
1. Pertama request dikirim oleh client melalui browser, router kemudian menerima request tersebut, lalu akan meneruskannya ke proxy server
yang bertugas menerima dan menangani request client.
2. Lalu proxy server memproses requestclient tersebut, proxy server akan menentukan kemana request akan di-forward. Proxy akan mencari tahu apakah object yang di-request tersebut ada pada cache directory-nya atau tidak. Jika ditemukan, proxy akan mengirimkan object tersebut ke client.
3.2.2.2 Topologi Logical Cache MISS
Topologi logical cache MISS menggambarkan bagaimana aliran data yang terjadi saat terjadi cache MISS. Berikut gambar topologi logical cache
MISS:
Topologi Logical Cache MISS pada CentralizedCache
Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.
1. Pertama request dikirim oleh client melalui browser, router kemudian menerima request tersebut, lalu akan meneruskannya ke proxy server
yang bertugas menerima dan menangani request client.
2. Lalu proxy memproses request client tersebut, proxy akan menentukan kemana request akan di-forward. Saat object tidak ditemukan di proxy,
proxy akan melakukan request ke origin server untuk mendapatkan
object yang di-request oleh client.
3. Kemudian Origin Server akan mengirimkan object yang di-request tadi
ke proxy.
4. Proxy akan menyimpan object yang diterimanya dari origin server, dan
3.3 Topologi Distributed Cache
Topologi ini menjelaskan keterkaitan antar komponen-komponen yang dibutuhkan, serta aliran data yang terjadi di masing-masing perangkat.
3.3.1 Topologi Physical
Topologi Physical menjelaskan keterkaitan antar komponen komponen yang dibutuhkan pada saat pengujian, berikut gambar topologi Physical yang digunakan pada saat pengujian.
Gambar 3.3 Topologi Physical Distributed
Topologi diatas digunakan untuk pengujian distributed caching. Peran komponen pada topologi physical adalah sebagai berikut:
1. Client, perangkat ini digunakan untuk me-request halaman web, yang
merupakan virtual user yang dibuat oleh webserver stress tool.
2. Mikrotik, perangkat ini digunakan untuk menghubungkan semua perangkat yang digunakan.
3. Proxy server, perangkat ini digunakan sebagai web proxy yang akan mengatur segala mekanisme distributed caching.
3.3.2 Topologi Logical
Topologi Logical menggambarkan bagaimana aliran data pada masing-masing komponen pada saat pengujian. Ada 2 topologi logical yang digunakan, yang pertama adalah saat object yang di-request oleh client ada pada web proxy
(cache HIT), dan yang kedua saat object yang di-request oleh client tidak ada
pada web proxy sehingga object harus di-request ke Origin Server.
3.3.2.1 Topologi Logical Cache HIT
Topologi logical cache HIT menggambarkan bagaimana aliran data yang terjadi saat terjadi cache HIT. Berikut gambar topologi Logical cache HIT :
Gambar 3.3 Topologi Logical Cache HIT
Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.
1. Pertama request dikirim oleh client melalui browser, Mikrotik kemudian menerima request tersebut, lalu akan meneruskannya ke child/main
2. Lalu child proxy memproses request client tersebut, child proxy akan menentukan kemana request akan di-forward. Disinilah fungsi Load
Balancing dari child proxy, dimana dia membagi load yang diterimanya
ke beberapa proxy server (parent proxy 1 dan parent proxy 2). Adapun algoritma Load Balancing yang digunakan adalah Round-Robin, Algoritma ini akan membagi request (beban) ke beberapa parent proxy. Pada proses 2.1 child server akan meneruskan request dari client ke
parent proxy 1, sedangkan pada proses 2.2 child server akan meneruskan
request dari client ke parent proxy 2. Ketika parent proxy telah
menerima request dari child proxy, parent proxy akan mencari tahu apakah object yang di-request tersebut ada pada cache directory-nya atau tidak. Jika ditemukan, parent proxy akan mengirimkan object tersebut ke
child proxy, lalu child proxy akan mengirimkan response ke client. Jika
tidak ditemukan, parent proxy akan mencari object tersebut ke parent proxy lain
3.3.2.2 Topologi Logical Cache MISS
Topologi logical cache MISS menggambarkan bagaimana aliran data yang terjadi saat terjadi cache MISS. Berikut gambar topologi logical cache
MISS:
Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.
1. Pertama request dikirim oleh client melalui browser, Mikrotik kemudian menerima request tersebut, lalu akan meneruskannya ke child/main
server yang bertugas menerima dan menangani request client.
2. Lalu child proxy memproses request client tersebut, child proxy akan menentukan kemana request akan di-forward. Disinilah fungsi Load
Balancing dari child proxy, dimana dia membagi load yang diterimanya
ke beberapa proxy server (parent proxy 1 dan parent proxy 2). Adapun algoritma Load Balancing yang digunakan adalah Round-Robin, Algoritma ini akan membagi request (beban) ke beberapa parent proxy. Pada proses 2.1 child server akan meneruskan request dari client ke
parent proxy 1, sedangkan pada proses 2.2 child server akan meneruskan
request dari client ke parent proxy 2.
3. Saat object tidak ditemukan di parent proxy, parent proxy akan melakukan request ke origin server untuk mendapatkan object yang
di-request oleh client.
4. Kemudian Origin Server akan mengirimkan object yang di-request tadi
ke parent proxy.
5. Parent proxy akan menyimpan object yang diterimanya dari origin
server, dan mengirimkan response ke child proxy. Kemudian Child proxy
DAFTAR PUSTAKA
Deshpande S., Ravale P., & Apte S. 2010. Cache Coherence In Centralized Shared Memory And Distributed Shared Memory Architectures.
International Journal on Computer Science and Engineering (IJCSE).
Eom. Y., Hwang D., & Lee J. 2015. EM-KDE: A Locality-Aware Job Scheduling Policy With Distributed Semantic Caches. J. Parallel Distrib. Comput.
Nedelcu. C. 2015. Nginx HTTP Server Third Edition. PACKT Publishing.
Zhang X., Wang N., Vassilios G., & Howarth M. 2015. A distributed in-network caching scheme for P2P-like content chunk delivery. Computer Networks.
http://whatis.techtarget.com/definition/distributed-cache (27 Mei 2017)