Hamizulfaiz

Tech Entrepreneur / System Builder

Sistem idMe Selalu Down. Ini Solusi Dari Perspektif Developer

Published:

Updated:

general API Sistem

Baru-baru ini saya terbaca berita tentang guru stress sebab sistem idMe (Sistem Pengurusan Identiti) selalu down.

Sebagai system developer, perkara pertama yang terlintas dalam kepala saya memang “kesian guru”.

Saya terus fikir satu benda.

Ini sebenarnya masalah teknikal yang perlu diselesaikan.


Masalah Sebenar Bukan Guru Lambat Isi Data

Situasinya selalu sama.

Ratusan ribu guru login serentak untuk key in data.

Apa jadi?

Server tak mampu handle trafik.

Result:

  • loading lama

  • 500 error

  • login gagal

  • guru terpaksa berjaga malam nak isi data

Ini bukan masalah baru. Banyak sistem besar hadapi benda yang sama.

Bila semua orang tekan server yang sama pada waktu yang sama, sistem akan collapse.


“Tambah Server” Bukan Penyelesaian Bijak

Biasanya solusi yang dicadangkan ialah:

tambah server

Ya, itu boleh bantu.

Tapi itu juga bermaksud:

  • kos server meningkat

  • kos maintenance meningkat

  • dan masih tak menyelesaikan isu traffic spike

Masalah sebenar ialah terlalu banyak concurrent request pada satu masa.

Dalam dunia bisnes, kita biasanya guna pendekatan lain.

Offline-first architecture.


Penyelesaian Yang Lebih Practical: PWA + Background Sync

Daripada semua guru bergantung sepenuhnya pada server pusat, kita boleh jadikan browser mereka sebagai buffer sementara.

Caranya dengan menggunakan Progressive Web App (PWA).

Flow dia jadi macam ini.

  1. Guru buka sistem idMe seperti biasa

  2. Web app disimpan dalam browser mereka

  3. Jika server slow atau down, guru masih boleh isi data

  4. Data disimpan sementara dalam browser menggunakan IndexedDB

  5. Bila server kembali normal, browser akan hantar data tersebut secara automatik

Guru tak perlu refresh.
Tak perlu login semula.
Tak perlu berjaga malam.

Sistem tetap responsive walaupun server tengah sakit.


Apa Yang Berlaku Di Belakang Tabir

Developer boleh implement logic ini menggunakan Service Worker.

Service worker akan bertindak sebagai layer di antara browser dan server.

Jika request gagal, data tidak hilang. Ia disimpan dulu secara lokal.

Contoh kes yang lebih mudah difahami ialah sistem kehadiran staff.

Request POST ke server akan dipintas.

Jika server gagal respon, data akan disimpan ke IndexedDB dan dimasukkan ke dalam queue untuk dihantar kemudian.

Contoh ringkas logiknya seperti ini:

self.addEventListener('fetch', (event) => {
  if (event.request.method === 'POST') {

    event.respondWith(
      fetch(event.request.clone()).catch(async () => {

        const data = await event.request.clone().json()

        await saveToIndexedDB('offline-queue', data)

        await self.registration.sync.register('sync-data')

        return new Response(JSON.stringify({
          status: "queued"
        }))
      })
    )
  }
})

Bila internet stabil semula, service worker akan sync semua data tersebut ke server.

Automatik.


Kenapa Sistem Kerajaan Patut Gunakan Pendekatan Ini

Dengan model ini:

Cikgu menang
Mereka boleh isi data tanpa stress walaupun server slow.

Server juga menang
Sebab tidak perlu handle semua request pada masa yang sama.

Dan paling penting.

Sistem jadi lebih resilient.

Realitinya, sistem besar memang akan ada downtime sekali sekala.

Soalan sebenar bukan “macam mana nak elakkan downtime”.

Soalan yang lebih penting ialah:

macam mana sistem masih boleh berfungsi walaupun downtime berlaku.


Penutup

Isu sistem down bukan isu baru.

Tapi cara kita bina sistem hari ini masih banyak yang guna pendekatan lama.

Teknologi seperti PWA, background sync, dan offline-first architecture sebenarnya sudah lama wujud. Cuma jarang digunakan dalam sistem berskala besar seperti ini.

Kadang-kadang penyelesaiannya bukan tambah server.

Kadang-kadang kita cuma perlu ubah cara sistem itu direka dari awal.

Of course, saya cuma seorang system builder kecil yang suka fikir macam mana nak selesaikan masalah menggunakan teknologi.

Kalau kebetulan vendor atau team yang urus sistem ini terbaca artikel ini dan rasa idea ini masuk akal, silakan guna saja. Tak perlu tanya pun tak apa. Kalau nak bagi shoutout kecil pun saya tak kisah. Haha.

Yang penting kalau pendekatan ini boleh kurangkan stress guru, itu sudah cukup baik.

Guru sepatutnya fokus mengajar dan bantu pelajar belajar. Bukan bergelut dengan loading screen atau sistem yang asyik down.

Kalau teknologi boleh hilangkan masalah kecil seperti ini, mungkin guru boleh gunakan tenaga itu untuk perkara yang lebih penting.

Seperti mendidik generasi seterusnya.

 

Sistem pengurusan identiti selalu down?

Nak buat sistem?

Jom bincang untuk develop sistem yang custom untuk anda.

nak buat sistem bisnes? hubungi saya

Post Berkaitan

05 Oct 2026 Bila Business Rule Berubah, Architecture Pun Kena Berubah
Bila Business Rule Berubah, Architecture Pun Kena Berubah

Bila rule commission berubah, bukan sekadar code yang perlu diubah. Architecture, placement logic dan testing pun kena ikut berubah.

20 Jul 2026 Penemuan Bukan Datang Sebab Pandai. Ia Bermula Dengan Pemerhatian
Penemuan Bukan Datang Sebab Pandai. Ia Bermula Dengan Pemerhatian

Bagaimana penemuan maltose mengajar kita bahawa pemerhatian lebih penting daripada sekadar ilmu dalam bisnes dan pembangunan perisian.

12 Feb 2026 Kenapa Sistem Kau Okay Masa Launch Lepas Tu Perlahan Jadi Sakit Kepala
Kenapa Sistem Kau Okay Masa Launch Lepas Tu Perlahan Jadi Sakit Kepala

Sistem custom dulu laju tapi sekarang sakit kepala? Fahami punca sistem dalaman rosak dan jadi lembap bila bisnes mula berkembang.

12 Oct 2026 Bila Laravel Reverb Sampai, Tapi Event Tak Pernah Trigger
Bila Laravel Reverb Sampai, Tapi Event Tak Pernah Trigger

Pengalaman debug Laravel Reverb bila WebSocket sampai, tapi Echo tak trigger event. Termasuk broadcastAs, polling dan production config.

21 Sep 2026 Bila Deploy Laravel, Permission Bukan Masalah Kecil
Bila Deploy Laravel, Permission Bukan Masalah Kecil

Apa yang aku belajar tentang Laravel, VPS, deployment dan filesystem permission selepas berkali-kali kena permission denied.

14 Sep 2026 Aku Dah Outgrow Laravel Valet
Aku Dah Outgrow Laravel Valet

Bila projek makin complex, setup Valet mula tak cukup. Ini workflow aku bila native development mula bertembung dengan Docker.

04 Sep 2026 Rembayung: Bila Sistem Booking Berdepan Traffic Tinggi dan Isu Scalping
Rembayung: Bila Sistem Booking Berdepan Traffic Tinggi dan Isu Scalping

Bila restoran jadi viral, sistem booking bukan sekadar soal server. Ini analisis tentang traffic, scalping dan cara reka bentuk flow yang lebih praktikal.

06 Jul 2026 Environment Dalam Pembangunan Software: Perspektif Bisnes vs Developer
Environment Dalam Pembangunan Software: Perspektif Bisnes vs Developer

Fahami perbezaan local, staging dan production serta bagaimana developer mengurus APP_ENV dan secrets dalam software.

20 May 2026 Guna AI Agent Untuk Coding: Laju, Tapi Ada Harga Yang Ramai Tak Cerita
Guna AI Agent Untuk Coding: Laju, Tapi Ada Harga Yang Ramai Tak Cerita

Pengalaman sebenar guna AI agent untuk coding. Powerful, tapi ada risiko bug, hallucination dan production disaster.