Materi tertulis · 24 modul
Materi Microservices
Kelas arsitektur microservices berbahasa Indonesia: 24 modul tentang database per service, messaging, orkestrasi dan koreografi, Saga, API Gateway, CQRS, resilience, service discovery, dan contract testing.
Konsep Dasar
Arsitektur
- 2. Belajar Microservices - Arsitektur MonolithKelebihan dan kekurangan Arsitektur Monolith, masalah scaling, blast radius kegagalan, bottleneck kompilasi, serta skenario saat Monolith masih pilihan terbaik.
- 3. Belajar Microservices - Arsitektur MicroservicesKonsep Decomposing aplikasi menjadi layanan-layanan independen, prinsip High Cohesion & Loose Coupling, Bounded Context (Domain-Driven Design), dan siklus rilis mandiri.
- 4. Belajar Microservices - Type of MicroservicesKlasifikasi tipe microservices: Stateless Services, Stateful Services, Data Services, Edge Services, dan Worker/Consumer Services.
Data Pattern
- 5. Belajar Microservices - Database per ServicePola Database per Service di mana setiap microservice memiliki DB tersendiri (Polyglot Persistence). Mencegah tight coupling di tingkat tabel RDBMS.
- 6. Belajar Microservices - Shared DatabaseAntipattern dan kriteria terbatas penggunaan Shared Database dalam Microservices, bahaya perubahan skema tabel bersama, dan tantangan locking.
- 7. Belajar Microservices - NoSQL DatabasePenggunaan database NoSQL (Document Store, Key-Value, Column-family, Graph) yang disesuaikan dengan kebutuhan domain bisnis masing-masing service.
Komunikasi
- 8. Belajar Microservices - Remote Procedure InvocationKomunikasi sinkron antar service menggunakan HTTP REST API, gRPC (Protocol Buffers), SOAP/RPC, latensi jaringan, serta mitigasi cascading failures.
- 9. Belajar Microservices - Asynchronous MessagingKomunikasi asinkron Event-Driven Architecture menggunakan Message Brokers (RabbitMQ, Apache Kafka, Redis Streams) untuk loose coupling total.
Orkestrasi
- 10. Belajar Microservices - Service OrchestrationPola Saga Orchestration menggunakan Central Orchestrator (seperti Camunda/Temporal) untuk mengoordinasi transaksi terdistribusi multi-step.
- 11. Belajar Microservices - Service ChoreographyPola Saga Choreography di mana setiap service mendengarkan domain event dan mempublikasikan event balasan tanpa titik kontrol terpusat.
- 12. Saga Pattern & Transaksi TerdistribusiMenjaga konsistensi data lintas layanan tanpa transaksi ACID global: saga orkestrasi, saga koreografi, transaksi kompensasi, dan pola Outbox.
Gateway & Routing
- 13. Belajar Microservices - API Gateway PatternPeran API Gateway (Kong, Spring Cloud Gateway, Traefik) sebagai single entry point: Reverse Proxy, Request Routing, Rate Limiting, SSL Termination.
- 14. Belajar Microservices - Backend for Frontend (BFF)Pattern Backend for Frontend (BFF) di mana gateway khusus dibuat sesuai kebutuhan klien berbeda (Web Desktop, Mobile Android/iOS, Third Party API).
Keamanan
Advanced Pattern
Keandalan
- 17. Resilience Pattern - Circuit Breaker, Retry, Timeout & BulkheadMencegah satu layanan yang lambat menyeret seluruh sistem: timeout wajib, retry yang tidak memperparah keadaan, circuit breaker, dan isolasi sumber daya.
- 18. Distributed Tracing & ObservabilityMelacak satu permintaan yang melintasi banyak layanan dengan trace, span, dan context propagation memakai OpenTelemetry, serta menggabungkannya dengan log dan metrik.
- 19. Contract Testing & Strategi Pengujian MicroservicesMenguji integrasi antar layanan tanpa menjalankan seluruh sistem: piramida uji, consumer-driven contract, dan Testcontainers.
Infrastructure
- 20. Belajar Microservices - Server Side DiscoveryCara microservices menemukan lokasi alamat IP & port service lain secara dinamis menggunakan Server-Side Discovery (Kubernetes DNS / Load Balancer).
- 21. Belajar Microservices - Client Side DiscoveryPola Client-Side Discovery (Eureka Client, Consul) di mana aplikasi mengecek ke Service Registry dan memilih instance service secara independen.
- 22. Belajar Microservices - Service RegistryDatabase terpusat (Netflix Eureka, HashiCorp Consul, ZooKeeper) untuk mencatat pendaftaran otomatis instance microservices (Health Check & Registration).
- 23. Belajar Microservices - Centralized ConfigurationPengelolaan konfigurasi terpusat (Spring Cloud Config, HashiCorp Vault, Kubernetes ConfigMap) agar parameter aplikasi dapat diubah tanpa re-deploy.
- 24. Service Mesh & Deployment ke KubernetesMemindahkan urusan jaringan dari kode ke infrastruktur dengan sidecar proxy, mTLS otomatis, traffic splitting, serta pola deployment canary dan blue-green.