Websocket server, tidak banyak orang tahu tentang metode ini, namun dengan ini saya berhasil meningkatkan teknologi komunikasi di beberapa perusahaan, salah satunya di perusahaan tempat saya bekerja sekarang
Artikel ini akan mengantar anda memahami apa yang sudah saya terapkan, hasilnya seperti apa, dan dampak positif apa yang terjadi di tempat kerja saya, bahkan di luar tempat kerja saya alias project pribadi
Tempat kerja saya di perusahaan Financial, tepatnya salah satu perusahaan financial yang ada di Jawa Tengah
Ini adalah Hak atas Intelektual dari saya pribadi, Jadi siapapun yang membaca ini berhak atas ilmu pengetahuan yang akan di dapatkan, Tujuan saya sharing tidak lain hanya untuk memberikan Edukasi & Ilmu Pengetahuan
Lantas apa perubahan yang terjadi setelah menggunakan teknologi Websocket ??
- Seluruh Aplikasi dapat berinteraksi secara Realtime, sehingga informasi dapat tersampaikan dengan cepat dengan bandwidth yang sangat-sangat kecil sekali
- Seluruh Karyawan (si pengguna aplikasi) merasakan aplikasi yang sangat interaktif, sehingga meningkatkan user engagement (ketergantungan & Intensitas pemakaian aplikasi)
- Irit Bandwidth, Websocket ini sifatnya low-latency, untuk memperbarui informasi tidak perlu refresh halaman, bandingka saja jika (1 halaman ukuranya 150kb, anggap satu aplikasi terdapat 50 halaman dan diperusahaan terdapat sekitar 150 aplikasi) berapa banyak bandwidth yang bisa kita hemat
- Traffic Jaringan Tetap Rendah, traffic network kita tetap stabil walaupun terdapat banyak aplikasi yang sedang berjalan
- Proses Bisnis Sangat Optimal, dampak positif yang paling penting adalah aplikasi yang mendukung proses bisnis menjadi sangat cepat, dan tetap optimal, inilah hasil akhir yang diharapkan oleh Manajemen di Perusahaan
Mungkin anda masih bingung untuk memahami, tapi anda pasti tau aplikasi Chat kan ? seperti WhatsApp, Line, dan sebagainya..
Ketika anda kirim pesan, si penerima langsung otomatis menerima pesan anda secara otomatis dan mendapatkan notifikasinya tanpa si target membuka / merefresh halaman
Nah, tentunya teknologi ini menggunakan Websocket, makin ada gambaran ya pastinya ?
Saya Membuat Portal Websocket
Dalam hal ini saya tidak membuat websocket untuk aplikasi chating, namun yang saya buat adalah sebuah Portal Websocket, dimana portal ini nantinya dapat digunakan oleh aplikasi-aplikasi lain sehingga semua aplikasi mempunyai kemampuan dalam berkomunikasi secara realtime
Dari sketsa gambaran diatas, Portal Websocket ini digunakan oleh banyak aplikasi, bisa untuk digunakan komunikasi di internal aplikasinya, atau bahkan komunikasi antar aplikasi secara realtime.
Setiap aplikasi mempunyai channel sendiri-sendiri, jadi traffic pesan antara aplikasi satu dengan aplikasi yang lain tidak saling mengganggu
Apakah Websocket yang saya implementasikan Support pada Platform Web, Mobile, Desktop ?
Jawabanya adalah, Sangat Support !! Karena saya sudah menguji ke beberapa platform sebagai metode komunikasinya,
Pemasanganya hanya membutuhkan beberapa baris code saja pada aplikasi yang ingin di koneksikan, setelah itu langsung bisa berkomunikasi secara realtime,
Tidak sesulit yang dibayangkan,
Apakah ada project yang Besar yang sudah di Implementasikan ??
Ada 2 project aplikasi yang terbilang cukup besar yang menggunakan Websocket ini, yaitu aplikasi Transaksi di perbankan tersebar di cabang-cabang wilayah Jawa Tengah, dan aplikasi transaksi yang ada di Samsat Jawa Tengah tersebar juga hingga ke pelosok-pelosok wilayah,
Ya, faktanya mulai dari tahun 2025 yang sudah berlaku aturan Samsat Opsen, teknologi websocket yang saya rancang ini digunakan oleh semua Samsat di Jawa Tengah mulai dari transaksinya hingga Cetak kertas Tanda Bukti bayar Pajak, melewati Websocket ini,
Apakah Websocket Server ini dapat di Scalling ??
Ya, websocket ini dapat di terapkan di beberapa server sekaligus, istilahnya adalah Horizontal Scalling, gunanya untuk apa ? supaya lebih powerfull dalam menangani banyak Concurent Client yang terkoneksi dan tidak ada delay ketika Client kita sudah mencapai ratusan ribu hingga jutaan
Apakah Websocket Server ini tersedia dalam versi Docker Image & Teknologi apa yang digunakan di dalamnya ??
Ya, ini sudah berbentuk Image Docker sehingga sangat mudah untuk di jalankan, pasti anda juga sangat familiar dengan docker kan? jika familiar, tentu saja anda tahu, bahwa Websocket Server ini dapat digunakan pada arsitektur Microservices,
Untuk jenis teknologi pembangunanya, Websocket ini dibuat dengan Bahasa pemrograman NodeJS, ExpressJS & Redis, mengapa Redis ? Jika kalian tahu MySQL, PostgreSQL, dan database-database yang lain, ini menggunakan Input Output Disk, yang mana paling cepat adalah 10 milisecond
Redis ini dapat Input Output yang lebih cepat dalam waktu kurang dari < 1 milisecond, karena Redis ini beroperasi pada level memory, bukan pada Disk
Bagaimana Gambaran Arsitektur Websocket ini ??
Gambar diatas adalah Arsitektur Websocket yang sudah di Scalling, terlihat diatas sudah ada 2 server yang tertanam websocket, dengan 1 Redis sebagai Orkestrator nya,
Artikel ini akan saya lanjutkan lagi, jika kalian tertarik dengan teknologi ini, bisa hubungi saya via WhatsApp yang ada pada kanan bawah,
To be Continue..
Leave a Reply