Ably — apa itu, platform Pub/Sub real-time dan cara kerjanya

Penulis: IT Sectr Diterbitkan: 2026-06-01 Waktu membaca: 8 mnt

Ably — platform perpesanan real-time berbasis cloud yang menyediakan infrastruktur untuk komunikasi pub/sub, kehadiran, dan sinkronisasi status. Platform ini dirancang untuk proyek enterprise dengan kebutuhan keandalan dan ketersediaan global yang tinggi. Menurut dokumentasi resmi Ably (2025), platform ini menjamin 99,999% uptime dan latensi pengiriman kurang dari 65 ms di persentil ke-95.

Poin utama

  • Ably — platform enterprise untuk komunikasi real-time dengan jaringan pusat data global.
  • Model Pub/Sub — publikasi dan langganan kanal melalui WebSocket, Server-Sent Events, dan HTTP streaming.
  • Jaminan pengiriman — dukungan mode at-least-once, exactly-once, dan last-value cache untuk data kritis.
  • Kehadiran dan sinkronisasi — pelacakan peserta online kanal dan sinkronisasi status otomatis.
  • SDK untuk 20+ platform — klien siap pakai untuk JavaScript, Swift, Kotlin, Flutter, React Native, dan bahasa server.

Apa itu Ably?

Ably — platform real-time berbasis cloud yang didirikan pada tahun 2014, menyediakan infrastruktur untuk pertukaran pesan secara real-time. Berbeda dengan layanan pub sederhana, Ably menawarkan jaminan pengiriman enterprise, jaringan titik kehadiran (POP) global, dan sinkronisasi status bawaan untuk jutaan klien secara bersamaan.

Platform ini digunakan dalam proyek di mana keandalan pengiriman sangat penting: ticker keuangan, pelacak logistik, sistem pemantauan medis, dan game multipemain. Ably didasarkan pada teknologi broker pesan terdistribusi miliknya sendiri yang mereplikasi data melalui jaringan global 15+ pusat data.

Menurut situs resmi Ably (2025), platform ini memproses lebih dari 200 miliar pesan per bulan untuk 50.000+ aplikasi aktif. Di antara kliennya adalah perusahaan dari daftar Fortune 500: Toyota (telematika mobil), HubSpot (sinkronisasi CRM), Designity (pengeditan bersama).

Arsitektur Ably

Arsitektur Ably dibangun di atas jaringan terdistribusi dari broker pesan (router) yang terhubung melalui saluran berkecepatan tinggi. Setiap broker melayani subset kanal dan mereplikasi status melalui Protokol Ably — protokol biner melalui WebSocket yang dioptimalkan untuk overhead minimal. Klien terhubung ke broker terdekat melalui penyeimbangan DNS.

Perbedaan utama Ably dari pesaingnya adalah log global (global log) bawaan yang menyimpan riwayat pesan untuk setiap kanal. Ini memungkinkan pelanggan baru menerima tidak hanya pesan baru, tetapi juga pesan sebelumnya (replay), yang sangat penting untuk audit dan pemulihan status setelah koneksi ulang.

Cara kerja Ably

Model interaksi Ably mengikuti pola Publisher-Subscriber dengan kemampuan tambahan. Penerbit mengirim pesan ke kanal melalui REST API atau SDK Ably. Pesan masuk ke log terdistribusi global kanal dan dikirim ke semua pelanggan melalui koneksi aktif mereka.

Lapisan transport Ably mendukung beberapa protokol: WebSocket (utama, dengan Protokol Ably biner), Server-Sent Events (untuk penerimaan satu arah), HTTP streaming (untuk lingkungan dengan keterbatasan), dan MQTT (untuk perangkat IoT). Klien secara otomatis memilih transport yang tersedia dengan latensi terendah.

Setiap pesan melalui validasi di sisi Ably — pemeriksaan tanda tangan kunci API, kuota kanal, hak akses. Validasi terjadi dalam 1–5 ms di router tepi, setelah itu pesan direplikasi ke log global. Menurut blog teknis Ably (2024), latensi ujung-ke-ujung (end-to-end) kurang dari 65 ms untuk 95% pesan pada transmisi antarbenua.

Kanal dan langganan

Kanal Ably — topik bernama untuk pertukaran pesan. Setiap kanal dapat memiliki jumlah pelanggan tak terbatas, tetapi untuk kinerja yang stabil disarankan tidak lebih dari 10.000 per kanal dalam satu zona. Kanal dapat bersifat satu arah (publikasi hanya dari server) atau penuh (klien mempublikasikan pesan).

Kanal dan model Pub/Sub di Ably

Model Pub/Sub di Ably memperluas pola klasik dengan kemampuan tambahan: kehadiran pelanggan (presence), riwayat pesan (history), status kanal (channel state), dan ruang nama (namespaces). Setiap kanal termasuk dalam ruang nama yang menentukan kuota dan hak akses.

Kehadiran (Presence) — pelacakan otomatis peserta kanal. Setiap klien yang berlangganan kanal mendaftar di peta kehadiran dengan clientId, status (online, away, offline), dan data arbitrer. Saat klien terputus (melalui timeout atau secara eksplisit), kehadiran diperbarui secara otomatis.

Riwayat pesan — setiap kanal menyimpan riwayat pesan secara default (hingga 2 menit atau 100 pesan pada paket gratis). Pada paket berbayar, riwayat dapat ditingkatkan hingga 72 jam dengan kemungkinan akses retrospektif arbitrer. Riwayat disimpan dalam log terdistribusi dengan jaminan kekekalan (append-only).

FiturPaket gratisPaket Enterprise
Koneksi bersamaan10010.000+
Penyimpanan riwayat2 menit / 100 pesan72 jam
Jaminan pengirimanAt-least-onceExactly-once
Wilayah1 wilayahSemua 15+ wilayah
SLA99,9%99,999%

Jaminan pengiriman Ably

Jaminan pengiriman — perbedaan utama Ably dari sebagian besar layanan real-time. Platform mendukung beberapa mode pengiriman yang dipilih saat mempublikasikan pesan. Mode menentukan berapa kali pesan akan dikirim dan bagaimana kesalahan koneksi ditangani.

At-least-once — pesan dikirim setidaknya satu kali, duplikat mungkin terjadi. Mode ini digunakan untuk notifikasi dan data tidak kritis di mana duplikat tidak merugikan. Exactly-once — pesan dikirim tepat satu kali melalui deduplikasi di sisi klien dan server. Mode ini wajib untuk transaksi keuangan dan manajemen perangkat.

Last-value cache — mode khusus di mana kanal menyimpan nilai terakhir dari setiap pesan bernama. Pelanggan baru langsung menerima status terkini tanpa menunggu kejadian berikutnya. Ini diimplementasikan melalui penyimpanan key-value global di setiap router. Menurut dokumentasi Ably (2025), last-value cache mengurangi waktu pemulihan status setelah koneksi ulang dari 2–5 detik menjadi 50–100 ms.

Cara menggunakan Ably dalam proyek

Memulai dengan Ably memerlukan pendaftaran, pembuatan aplikasi, dan mendapatkan kunci API. Pustaka tersedia untuk semua platform utama. Mari kita lihat contoh publikasi dan langganan menggunakan JavaScript SDK. Klien terhubung dengan kunci API, berlangganan ke kanal, dan melampirkan penangan peristiwa.

Menurut dokumentasi Ably (2025), disarankan menggunakan kunci API yang berbeda untuk sisi server dan klien dengan hak minimal (prinsip hak istimewa paling sedikit). Kunci server dapat mempublikasikan di kanal mana pun, kunci klien — hanya dapat berlangganan ke ruang nama tertentu.

Berlangganan ke kanal Ably

js
import * as Ably from 'ably';

const client = new Ably.Realtime({
    key: 'YOUR_API_KEY',
    clientId: 'user-123'
});

const channel = client.channels.get('test-channel');

channel.subscribe('update', (message) => {
    console.log('Diterima:', message.data);
});

channel.publish('update', {
    text: 'Hello from Ably',
    priority: 1
});

Publikasi dari server

js
const Ably = require('ably');

const rest = new Ably.Rest({ key: 'SERVER_API_KEY' });

const channel = rest.channels.get('test-channel');

channel.publish('server-event', {
    type: 'notification',
    payload: { userId: 100, text: 'Server message' }
}).then(() => {
    console.log('Pesan dipublikasikan melalui REST');
});

Ably vs Pusher: perbandingan

Pilihan antara Ably dan Pusher tergantung pada kebutuhan proyek. Kedua platform menyediakan infrastruktur real-time yang di-host, tetapi berbeda dalam arsitektur, jaminan, dan harga. Ably ditujukan untuk enterprise dengan kebutuhan keandalan tinggi, Pusher — untuk start cepat dan kesederhanaan.

Ably menggunakan log terdistribusi global untuk setiap kanal, yang memastikan pengiriman exactly-once dan akses retrospektif ke riwayat. Pusher menggunakan arsitektur broker dengan jaminan at-least-once. Untuk sebagian besar aplikasi, perbedaannya tidak terlihat, tetapi untuk sistem keuangan dan medis exactly-once sangat penting.

Menurut tes perbandingan Ably vs Pusher (2024), Ably menunjukkan latensi 20–30% lebih rendah pada transmisi antarbenua karena jumlah pusat data yang lebih banyak. Pusher unggul dalam kecepatan integrasi — konfigurasi dasar memakan waktu 10–15 menit dibandingkan 20–30 menit untuk Ably karena lebih banyak opsi konfigurasi.

Integrasi mobile Ably

SDK Ably untuk platform mobile mendukung iOS (Swift), Android (Kotlin/Java), Flutter, dan React Native. Klien mobile sepenuhnya kompatibel dengan bagian server Ably dan mendukung semua fitur: pub/sub, presence, history, notifikasi push. Untuk Android tersedia integrasi dengan Firebase Cloud Messaging untuk pengiriman notifikasi push secara offline.

Optimasi untuk jaringan mobile — SDK Ably menggunakan heartbeat adaptif: pada Wi-Fi interval 15 detik, pada jaringan mobile — hingga 60 detik untuk menghemat lalu lintas. Saat koneksi hilang, SDK beralih ke transport cadangan (HTTP streaming) tanpa keterlambatan yang terlihat bagi pengguna. Konsumsi lalu lintas rata-rata — 0,5–1 KB per menit dalam mode siaga.

Notifikasi push — Ably mendukung pengiriman push melalui APNs (Apple) dan FCM (Firebase). Push dapat diarahkan ke kanal tertentu atau clientId. Jika klien aktif (WebSocket terhubung), pesan dikirim melalui kanal. Jika klien terputus, pesan dikirim sebagai notifikasi push. Ini memastikan bahwa pengguna tidak pernah melewatkan pesan penting.

Pertanyaan yang sering diajukan

Apa perbedaan Ably dengan Pusher?

Ably menawarkan pengiriman exactly-once, log terdistribusi global, dan 99,999% SLA. Pusher lebih sederhana dalam pengaturan, tetapi hanya memberikan jaminan at-least-once. Ably sering dipilih oleh proyek enterprise dengan kebutuhan keandalan tinggi.

Berapa biaya Ably?

Paket gratis mencakup 100 koneksi bersamaan dan 500.000 pesan per bulan. Paket berbayar mulai dari $19/bulan (1000 koneksi). Tarif enterprise dengan jaminan khusus dinegosiasikan secara individual.

Apakah Ably mendukung pengiriman exactly-once?

Ya, exactly-once — salah satu fitur utama Ably. Deduplikasi dilakukan di sisi platform menggunakan pengidentifikasi pesan unik (message ID + connection ID).

Berapa banyak pusat data yang dimiliki Ably?

Saat ini Ably memiliki 15+ titik kehadiran di seluruh dunia, termasuk AS, Eropa, Asia, Australia, dan Amerika Selatan. Klien enterprise dapat memilih wilayah tertentu untuk penyimpanan data.

Bisakah Ably digunakan untuk IoT?

Ya, Ably mendukung protokol MQTT untuk perangkat IoT dengan konsumsi daya rendah. Untuk perangkat ESP32, Arduino, dan Raspberry Pi tersedia SDK ringan dengan penggunaan memori minimal.

Kesimpulan

  • Ably — platform enterprise perpesanan real-time dengan jaringan global 15+ pusat data dan SLA 99,999%.
  • Model Pub/Sub dilengkapi dengan kehadiran, riwayat pesan, dan last-value cache untuk pemulihan status instan.
  • Pengiriman Exactly-once membedakan Ably dari pesaing dan sangat penting untuk aplikasi keuangan dan medis.
  • SDK mobile mendukung notifikasi push melalui APNs dan FCM, heartbeat adaptif, dan fallback transport otomatis.
  • Arsitektur dibangun di atas log terdistribusi global dan Protokol Ably biner melalui WebSocket.
  • Fitur enterprise mencakup SLA kustom, isolasi VPC, dan batasan penyimpanan data regional.
  • Untuk proyek dengan persyaratan pengiriman exactly-once dan jangkauan global pilih Ably, untuk skenario sederhana Pusher sudah cukup.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga