Ada Alternatif Open Source Realtime Messaging?

Saya baru mengetahui hari ini kalau deepstream.io sedang dalam mode maintenance. Yang artinya pengelolanya tidak lagi menambah fitur dan memperbaiki bugs. Dia butuh kontributor baru.

Deepstream.io adalah teknologi mirip Firebase, dengan jualan utamanya di Publish/Subscribe server messaging dan Realtime document sync. Penekanan di Sync. Dan yang lebih menarik lagi dia Open Source. Lebih menariknya lagi bagi saya, deepstream sudah ada library C# dan Javascriptnya.

Dibuat menggunakanTypeScript NodeJS.

Kenapa saya butuh deepstream.io?. Itu karena saya merasakan sendiri betapa kompleksnya membuat server Websocket. Dulu saya menggunakan library C# Open Source websocket-sharp. Jaman belum ada System.Net.Websockets. Sudah ada SignalR, tapi ada pengalaman buruk dengan konsumsi memori server dan library Javascriptnya yang tidak mudah "lengket". 

Disitu saya harus mengelola client yang ketika terkoneksi harus secara manual code kita daftarkan di list in-memory. Begitupun ketika tidak terkoneksi, harus manual dihapus dari list.

Di sisi Javascript terbantu dengan built-in websocket browser yang masih lumayan baru, di tahun 2013.

Dan sekitar tahun 2016 atau 2017 terpikirkan apa tidak ada teknologi yang membungkus itu semua dan punya library di semua platform. Javascript, C#, Android, IOS, Java, dan lain-lain.

Ada kandidat nats.io dan deepstream. Tapi hanya deepstream yang punya library Javascript. 

Nats.io masih termaintain sampai sekarang, mungkin karena terbackup perusahaan besar.

Untuk deepstream saya cek lagi repo githubnya masih aktif. Dengan update terkini hanya terfokus pada deepstream server dan klien javascript. 

Dulu saya berharap banyak pada deepstream karena pendanaan dibiayai oleh DeepStreamHub yang berjualan managed deepstream di cloud server. Saya baca di CrunchBase didapat dana investasi sampai 1 juta Dollar. 

Open Source yang didanai oleh perusahaan biasanya awet. 

Baru saya tahu itu hanya berlangsung setahun saja di 2016. 

Di tahun 2018 saya diberi info oleh teman bahwa ActiveMQ punya teknologi PubSub yang sama, sampai ke library JavaScriptnya. Sempat berharap banyak, sampai di tahun 2020 ini diinfo lagi jika implementasi ActiveMQ ada masalah, entah mungkin karena kurang stabil.

Pertanyaannya apakah ada alternatif lain?. Sekarang ini yang terpikirkan hanya menggunakan Notify-nya PostgreSQL. Yang walaupun ada limitasi 8000 byte message, bisa dikombinasikan dengan... balik lagi ke System.Net.Websockets atau SignalR hehe..

Uwebsockets juga jadi kandidat utama mengingat popularitas dan banyak sekali developer yang mengimplementasikan.

Jalan masih panjang..



Comments