Kodeloka
  1. Kodeloka
  2. Kelas Microservices
  3. Materi

Orkestrasi ยท Modul 10 dari 24

Belajar Microservices - Service Orchestration

Pola Saga Orchestration menggunakan Central Orchestrator (seperti Camunda/Temporal) untuk mengoordinasi transaksi terdistribusi multi-step.

1. Masalah Transaksi Terdistribusi (Saga Pattern)

Dalam Microservices (Database per Service), kita tidak bisa lagi menggunakan transaksi ACID RDBMS lokal (BEGIN TRANSACTION). Untuk transaksi multi-step (misal: Checkout -> Potong Stok -> Potong Saldo -> Kirim Notifikasi), kita menggunakan Saga Pattern.

2. Konsep Saga Orchestration

Dalam Saga Orchestration, terdapat sebuah **Central Orchestrator** (komponen pengontrol terpusat) yang bertugas secara sekuensial memanggil setiap service melalui request/response dan memantau statusnya.

๐Ÿ”„ Compensating Transactions (Kompensasi Pembatalan):
Jika Step 1 (Potong Stok Order) Berhasil, tetapi Step 2 (Potong Saldo Pembayaran) GAGAL, Orchestrator bertugas memanggil Compensating Action ke Order Service untuk membatalkan pesanan (CancelOrder / Kembalikan Stok)!

3. Kelebihan & Kekurangan Orchestration

  • Kelebihan: Alur bisnis kompleks sangat mudah dilacak dan dipahami karena berada di 1 tempat terpusat. Mudah mengelola siklus compensating transaction.
  • Kekurangan: Risiko terjadi tight coupling jika logika bisnis terlalu menumpuk di Orchestrator (Orchestrator menjadi terlalu pintar/fat).