← Kembali ke blog

Satu binary Go: bagaimana kami menjaga server tetap ringan

Sebelum GoSosmed, alat kami adalah kumpulan script Python dan file .bat yang berjalan sebagai proses terpisah per platform. Akibatnya bisa ditebak: RAM habis, status pekerjaan hilang di stdout, dan crash berarti kerja hilang tanpa jejak.

Keputusan: satu binary Go

Kami menulis ulang seluruh backend menjadi satu binary Go statis:

  • RAM idle di bawah 80MB — target PRD yang kami ukur, bukan slogan.
  • Konkurensi murah lewat goroutine — pekerjaan berat (browser, media, ADB) dipisah ke proses runner dengan batas konkurensi eksplisit.
  • Job engine terpusat — setiap pekerjaan punya event log; tidak ada lagi status yang hilang.
  • Portable — seluruh konfigurasi lewat environment variable; pindah dari Windows ke Ubuntu tanpa mengubah kode.

Prinsip yang tidak kami tawar

  1. Tidak ada mock/dummy data di kode produksi — kosong berarti empty state.
  2. Tidak ada klaim “selesai” tanpa validasi nyata di browser/perangkat asli.
  3. Setiap keputusan teknis tercatat sebagai ADR yang bisa dibaca siapa pun.

Situs yang sedang Anda baca ini juga mengikuti filosofi yang sama: HTML statis murni hasil build Astro — tanpa JavaScript berat, tanpa request eksternal, cepat di hosting mana pun.

Penasaran dengan arah kami berikutnya? Lihat Roadmap.