Membuat Realtime Data: Polling vs WebSocket

Jika sekarang kita baca-baca artikel yang bertebaran di Internet tentang metode untuk menampilkan realtime data pada aplikasi, maka umumnya hasil yang akan kita temukan adalah menggunakan Polling/Long Polling dan juga menggunakan WebSocket.

Nah sebenarnya apa dan apa saja perbedaan antara kedua makhluk tersebut? Akan kita bahas di artikel ini. Oh iya, disini kita tidak akan dulu bermain coding ea, kita akan bahas secara konsep-nya dulu.

Polling/Long Polling

Cara kerja metode Polling ini adalah dengan mengirim request ke backend/server secara terus menerus. Kekurangan dari metode ini adalah boros request karena client akan terus-terusan mengirim request ke server tanpa terkecuali, selain itu beban server pun akan bertambah karena harus memproses banyak request. Masih mending jika hanya 1 user, bagaimana jika ada ratusan bahkan ribuan user yang secara terus menerus mengirim request ke server? Tentu cara ini kurang efisien.

Alternatif-nya adalah kita menggunakan metode Long Polling. Jika pada metode Polling tadi user akan mengirim request secara terus menerus, maka di Long Polling ini kita akan request ke server dalam interval waktu tertentu. Kelebihannya adalah tidak terlalu boros request dan beban server pun tidak akan seberat jika menggunakan metode Polling. Tapi tetap saja, Long Polling ini tidak menjawab kebutuhan kita untuk menampilkan data secara realtime.

Baik Polling ataupun Long Polling, kedua-duanya memiliki kelebihan yang sama yaitu sangat mudah dalam instalasi. Kita cukup buat 1 endpoint API untuk request data, kemudian selanjutnya kita main-main menggunakan JavaScript dan AJAX untuk mengirimkan request ke endpoint API.

WebSocket

Teknologi WebSocket ini adalah teknologi baru yang dipercaya mampu menjawab kebutuhan kita untuk menampilkan sebuah data secara realtime. Jika dalam metode Polling/Long Polling kita harus melakukan request ke server untuk mendapatkan data, maka dengan menggunakan WebSocket ini kita bisa mendapatkan data dari server tanpa harus melakukan request.

Sederhananya, WebSocket ini memungkinkan server untuk mengirim data kepada semua user yang sedang terhubung. Cara ini tentu lebih efektif dan efisien untuk menampilkan data secara Real Time dibanding menggunakan metode Polling atau Long Polling.

Kesimpulan:

Menggunakan WebSocket merupakan pilihan yang tepat untuk saat ini jika ingin menampilkan data secara real time. Data real time yang dimaksud disini bisa berupa grafik, chat, notifikasi dan lain sebagainya.

Sekian artikel singkat kali ini, terima kasih atas kunjungannya 🙂

Referensi:

  1. https://www.codepolitan.com/menegtahui-apa-itu-websocket