Lewati ke konten utama
menjadi.dev
System Design

Microservices

Arsitektur aplikasi terdiri dari services kecil yang independen, masing-masing punya responsibility spesifik.

Microservices adalah gaya arsitektur di mana aplikasi dipecah menjadi services kecil yang independen — masing-masing punya database sendiri, bisa di-deploy dan di-scale secara mandiri. Sebaliknya dari Monolith (satu codebase, satu deploy unit). Keuntungan microservices: Independent deploy (deploy satu service tanpa affect service lain), Technology diversity (setiap service bisa pakai tech stack berbeda), Scalability (scale hanya service yang butuh), dan Team autonomy (tim kecil own service masing-masing). Kekurangan: Distributed complexity (network latency, failure handling, distributed tracing), Data consistency (tidak bisa foreign key antar database), Operational overhead (monitoring banyak services, DevOps lebih kompleks), dan Testing (integration testing antar services sulit). Bukan silver bullet — monolith masih cocok untuk banyak use case.

Istilah Terkait