RADIUS Billing Server
Performa Non-Blocking
Dibangun dengan C++ dan Swoole — arsitektur event-driven asynchronous yang mampu menangani ribuan request per detik tanpa timeout. Tanpa ketergantungan pada FreeRADIUS.
sudo wget https://files.netlayer.id/radius/install.sh && sudo chmod +x ./install.sh && sudo bash ./install.sh
High Performance RADIUS Engine
Dibangun dengan C++ dan arsitektur concurrent asynchronous berbasis Swoole — event-driven, non-blocking I/O, mampu menangani 10.000+ koneksi simultan dengan latensi <10ms serta zero-downtime deployment.
Native C++ Core
RADIUS Engine ditulis native C++ tanpa ketergantungan pada FreeRADIUS. Optimalisasi memory management dan zero-copy parsing untuk performa maksimal.
Swoole Engine
Memanfaatkan Swoole — extension PHP berkinerja tinggi dengan asynchronous I/O, coroutine, dan multiprocessing untuk handling request simultan.
Redis Caching
Akses data sub-milidetik dengan caching layer Redis. Mengurangi load database hingga 80% untuk operasi read-intensive.
Concurrent Async
Arsitektur non-blocking I/O dengan event loop berbasis epoll/kqueue. Setiap koneksi ditangani secara asinkron tanpa thread blocking.
Latensi <10ms
Response time ultra-cepat berkat optimasi end-to-end: dari parsing packet RADIUS hingga response ke NAS dalam waktu <10ms pada 95% percentile.
Zero Downtime
Graceful reload dan hot-swap configuration menggunakan Swoole's process manager. Update dan maintenance tanpa mengganggu koneksi aktif.
NetLayer menggunakan Swoole's event loop yang berbasis epoll (Linux) atau kqueue (FreeBSD/BSD). Berbeda dengan model blocking tradisional (1 thread = 1 koneksi), arsitektur event-driven memungkinkan satu proses menangani ribuan koneksi simultan.
- Tanpa thread blocking — CPU tidak menunggu I/O
- Konsumsi memory minimal per koneksi
- Scalability linear hingga 10.000+ koneksi aktif
- Context switching overhead minimal
- RADIUS packet processing di coroutine terpisah
- Task worker untuk operasi async (logging, notifikasi)
- Timer-based cleanup session expired
- COA (Change of Authorization) via UDP socket non-blocking
- Packet diterima - Swoole UDP server menerima paket dari NAS (MikroTik/Cisco)
- Parsing C++ - Native C++ extension mem-parsing RADIUS packet (header + attributes)
- Autentikasi - Verifikasi User-Password / CHAP-Password dengan lookup ke storage
- Authorization - Mengambil profile user (bandwidth, session-timeout, dll)
- Accounting - Mencatat traffic & duration ke Redis (async)
- Response - Mengirim Access-Accept/Reject ke NAS dalam waktu <10ms