<aside> 😔 Dalam bagian ini, tidak ada proses hands-on, dikarenakan per hari ini materi ini ditulis (25/02/2024) lisensi MDCB server kantor tidak bisa digunakan.

</aside>

Motivasi

Misalkan di suatu sistem punya beberapa services yang banyak, untuk dapat performa yang baik dan kemudahan maintenance, alih-alih menggunakan satu gateway saja, kita dapat menggunakan beberapa gateway yang masing-masing ditunjukkan untuk menangani service-service tertentu. Hal ini lah yang disebut microgateway. Misalkan di perbankan, ada gateway khusus untuk mobile banking, ada yang khusus untuk internet banking, dll.

<aside> 💡 Arsitektur Microgateway adalah arsitektur di mana ada banyak gateway di dalam sistem yang masing-masing mempunyai tanggung-jawabnya sendiri, alih-alih memiliki satu gateway yang menangani semuanya.

</aside>

Konsep microgateway akan menimbulkan pertanyaan lanjutan: bagaimana cara mengatur banyak gateway yang banyak tersebut? Tyk menyediakan beberapa aplikasi penunjang dengan lisensi berbayar seperti MDCB dan Dashboard yang dapat berguna untuk memudahkan pengaturan gateway-gateway yang dipakai dengan cara terpusat.

<aside> ⚠️ Di beberapa sumber di internet, bisa jadi ada definisi microgateway yang lain. Mohon diperhatikan hal tersebut.

</aside>

Control Plane and Data Plane

Dengan menggunakan Tyk, konsep microgateway dengan pusat konfigurasi dapat diterapkan dengan arsitektur (on a high level) berikut:

Untitled

Di sini gateway yang dedicated untuk service tertentu dan komponen pendukung seperti Redis disebut dengan data plane. Sedangkan pusat konfigurasinya disebut dengan control plane.

<aside> 💡 Control Plane: pusat manajemen API. Tidak diperuntukkan untuk menerima traffic. Data Plane: gateway dan komponen pendukung lain yang menerima traffic untuk service yang dedicated.

</aside>

Dalam hal ini Dashboard digunakan sebagai antar-muka manajemen API dan MDCB (Multi Data Center Bridge) merupakan aplikasi yang berguna untuk sinkronisasi konfigurasi ke gateway yang ada di data plane. ****Untuk catatan, MDCB lisensinya berbayar.

<aside> 💡 MDCB dan Dashboard membuat konfigurasi microgateway menjadi lebih mudah.

</aside>

Dikarenakan konfirugasinya terpusat, maka bagaimana cara tiap-tiap gateway di data plane hanya mengurus service tertentu saja? Salah satu caranya adalah dengan menggunakan organization dan tag yang berbeda.

<aside> 💡 Microgateway dapat diterapkan dengan membuat beberapa organization dan memasang tag di API yang didaftarkan. Selanjutnya, gateway di data plane dapat dikonfigurasi untuk hanya menangani request API-API tertentu saja berdasarkan organization dan tag API.

</aside>