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
- Tidak ada mock/dummy data di kode produksi — kosong berarti empty state.
- Tidak ada klaim “selesai” tanpa validasi nyata di browser/perangkat asli.
- 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.