RESTForge

Prasyarat Sistem

Kebutuhan sistem, database yang didukung, dan environment yang diperlukan untuk menjalankan RESTForge

Halaman ini mencantumkan kebutuhan minimum dan rekomendasi untuk menjalankan RESTForge dalam berbagai skenario, mulai dari development hingga production enterprise.

Kebutuhan Dasar (Basic Requirements)

KomponenMinimumRekomendasi
RuntimeNode.js 22.x LTSNode.js 22.x LTS atau lebih baru
CPU1 core2+ core untuk cluster mode
Memory512 MB2 GB untuk workload menengah
Sistem OperasiLinux, macOS, atau WindowsLinux untuk production

Database yang Didukung (Supported Databases)

RESTForge mendukung tiga database dengan status setara. Setiap database mendapat template generator dan dialect adapter tersendiri sehingga SQL yang dihasilkan optimal per database.

DatabaseVersi MinimumKarakteristik
PostgreSQL12+Mendukung RETURNING, JSONB, dan fitur lanjutan PostgreSQL
MySQL8.0+INSERT+SELECT pattern untuk return data, charset handling
Oracle19c+UPPERCASE keys, native Date driver, schema awareness

Pemilihan database dilakukan saat konfigurasi project. Satu instance RESTForge terhubung ke satu database, tetapi beberapa instance dengan database berbeda dapat berjalan secara bersamaan.

Redis (Opsional)

Redis bersifat opsional tetapi direkomendasikan untuk environment production. Tanpa Redis, RESTForge tetap berfungsi untuk operasi CRUD dasar, tetapi fitur-fitur berikut tidak tersedia:

FiturKebutuhan Redis
CacheDiperlukan untuk caching otomatis pada operasi READ
Distributed LockDiperlukan untuk per-record lock di cluster mode
IdempotencyDiperlukan untuk perlindungan duplikasi pada endpoint mutasi
Rate Limit (cluster)Diperlukan agar rate limit konsisten antar worker. Pada single instance, in-memory store digunakan sebagai alternatif
ID GeneratorDiperlukan untuk generator nomor dan kode unik
Job SchedulerDiperlukan untuk background job berbasis BullMQ

Jika Redis tidak tersedia saat runtime, fitur yang bergantung pada Redis di-bypass secara graceful. Operasi CRUD tetap berjalan normal tanpa menyebabkan error.

Kebutuhan per Skenario Deployment

Kebutuhan infrastruktur bervariasi tergantung pada skala dan tujuan deployment.

Development dan Testing

KomponenKebutuhan
Node.js22.x LTS
DatabaseSalah satu dari PostgreSQL, MySQL, atau Oracle
RedisOpsional (hanya jika menguji fitur cache, lock, atau job)
ModeSingle instance

Production Skala Kecil

KomponenKebutuhan
Node.js22.x LTS
DatabasePostgreSQL, MySQL, atau Oracle (versi terbaru yang didukung)
RedisDirekomendasikan
CPU2+ core untuk cluster mode
Memory1-2 GB
ModeCluster mode dengan PM2

Production Enterprise

KomponenKebutuhan
Node.js22.x LTS
DatabasePostgreSQL, MySQL, atau Oracle dengan konfigurasi HA (streaming replication, connection pooling)
RedisWajib, dengan konfigurasi Sentinel atau Cluster untuk HA
CPU4+ core per server
Memory4+ GB per server
ModeMulti-server dengan load balancer (Nginx/HAProxy)
StorageNFS atau shared storage untuk file export/import

Desain Stateless (Stateless Design)

RESTForge dirancang stateless sehingga horizontal scaling tidak memerlukan konfigurasi khusus.

AspekImplementasi
Session stateTidak ada server-side session. Setiap request bersifat self-contained
Shared stateCache, lock, idempotency, dan job queue di-share via Redis
Database connectionConnection pool per instance dengan auto-recovery

Desain stateless ini memungkinkan penambahan instance baru cukup dengan menjalankan proses RESTForge tambahan di belakang load balancer tanpa perlu sinkronisasi state antar instance.

On this page