Back to IF3130 Sistem Paralel dan Terdistribusi

Pilihlah 1 aplikasi yang ada di handphone kalian.

Kemudian jelaskan pendekatan yang diambil oleh aplikasi tersebut terkait dengan:

  • Consistency
  • Available
  • Partition Tolerance

Dipilih: WhatsApp

1. Consistency (Konsistensi)

WhatsApp tidak memprioritaskan strong consistency, melainkan menggunakan eventual consistency:

  • Pesan tidak selalu langsung tersinkronisasi di semua perangkat secara bersamaan. Ketika kita mengirim pesan, ada tanda centang yang menunjukkan status pengiriman bertahap
  • Saat menggunakan WhatsApp Web/Desktop bersamaan dengan HP, terkadang ada delay singkat sebelum pesan muncul di semua perangkat
  • Status “Last Seen”: Informasi ini bisa sedikit berbeda antarpengguna karena update yang tidak real-time sempurna

2. Availability (Ketersediaan)

WhatsApp sangat memprioritaskan availability:

  • Kita tetap bisa membuka aplikasi, membaca chat history, dan mengetik pesan meskipun tidak ada koneksi internet
  • Pesan yang dikirim saat offline akan masuk ke queue dan otomatis terkirim saat koneksi kembali
  • Data chat disimpan secara lokal di perangkat, sehingga selalu bisa diakses
  • WhatsApp menggunakan multiple servers untuk memastikan layanan tetap berjalan

3. Partition Tolerance (Toleransi Partisi)

WhatsApp memiliki partition tolerance yang baik:

  • Semua pesan disimpan di database lokal (SQLite), sehingga aplikasi tetap berfungsi meski terputus dari server pusat
  • Pesan yang gagal terkirim akan di-queue dan retry otomatis
  • Proses enkripsi dilakukan di level perangkat, tidak bergantung pada server pusat
  • Saat ada gangguan network, fitur tetap berjalan dengan keterbatasan (misal: pesan tertunda, status tidak update)

→ WhatsApp mengambil pendekatan AP (Availability + Partition Tolerance)

WhatsApp mengorbankan strong consistency demi memastikan:

  • Aplikasi selalu tersedia dan responsif
  • Tetap berfungsi saat ada network partition
  • Konsistensi data bersifat eventual (akan konsisten setelah beberapa saat)