Rancang Bangun Arsitektur Backend Platform Kursus Online Berbasis Event-Driven Microservices (Studi Kasus: TIME Language Centre)

Harahap, Khairil Rahman Hakiki (2026) Rancang Bangun Arsitektur Backend Platform Kursus Online Berbasis Event-Driven Microservices (Studi Kasus: TIME Language Centre). Skripsi thesis, Universitas Islam Negeri Imam Bonjol Padang.

[img] Text (Cover)
Cover.pdf - Published Version

Download (3MB)
[img] Text (BAB I)
BAB I.pdf - Published Version

Download (269kB)
[img] Text (BAB III)
BAB III.pdf - Published Version

Download (318kB)
[img] Text (BAB V)
BAB V - Daftar Pustaka.pdf - Published Version

Download (289kB)
[img] Text (Full Text)
khairilrahmanhakiki_2217020020_sistem-informasi_skripsi.pdf - Published Version
Restricted to Repository staff only

Download (20MB)

Abstract

Online course platforms involve inherently asynchronous business processes, including transaction processing, student course entitlement provisioning, and transactional notification delivery. Synchronous inter-service communication models frequently suffer from latency degradation and blocking bottlenecks under concurrent user traffic. This study designs, implements, and evaluates an event-driven microservices backend architecture for TIME Language Centre to decouple core business processes and support scalable concurrent access. Following the V-Model development framework, the system is decomposed into four autonomous services: User Service, Course Service, and Notification Service implemented in Node.js and TypeScript, alongside Payment Service implemented in Go. Each service manages an isolated PostgreSQL database following the Database-per-Service pattern. Inter-service asynchronous communication is handled by RabbitMQ through AMQP with persistent exchanges and dead-letter queues, fronted by an Nginx API gateway with persistent connection pooling and Redis for catalog caching and session tracking. Functional validation confirmed 100% pass rates across unit, integration, and end-to-end testing levels, covering all defined functional requirements. Empirical load testing conducted with Grafana k6 up to a test load of 200 concurrent virtual users over 360 seconds demonstrated stable operational capacity. Across 34,951 HTTP requests, the system maintained a throughput of 96.56 requests per second with a 0.00% request failure rate, achieving an aggregate P95 latency of 135.51 ms and P99 latency of 223.85 ms, with all 14,170 asynchronous payment webhook events propagated across services without message loss. Furthermore, horizontal scaling of Course Service reduced aggregate P95 latency by 58.9% to 55.70 ms without source code alteration. The results demonstrate that event-driven decoupling effectively prevents cascading blocking and provides a resilient technical foundation for institutional digital learning platforms.

Item Type: Thesis (Skripsi)
Uncontrolled Keywords: Event-Driven Microservices, RabbitMQ, Database-per-Service, Load Testing, Grafana k6, Scalability, Online Course Platform.
Subjects: Tajuk Subjek > 000 Ilmu Komputer, Ilmu Informasi dan Karya Umum > Ilmu Komputer > Pemrograman Komputer > Sistem Informasi
Divisions: Fakultas Sains dan Teknologi > Prodi Sistem Informasi
Depositing User: Ruang Baca FST
Date Deposited: 25 Sep 2026 03:26
Last Modified: 25 Sep 2026 03:26
URI: http://repository.uinib.ac.id/id/eprint/34986

Actions (login required)

View Item View Item