Featured image of post Pembahasan Services dan Routes pada Kong Api Gateway

Pembahasan Services dan Routes pada Kong Api Gateway

FYI

  • Saya akan membuat serial untuk pembelajaran KONG pada blog ini. Jadi ini adalah blog kedua tentang KONG yang akan dibahas disini dan selanjutnya masih ada lagi.
  • Kita menggunakan KONG Community Edition
  • Untuk mempermudah praktek, kita akan menggunakan KONGA

Serial

Intro

Melanjutkan yang minggu kemarin, kali ini kita akan membahas tentang Service & Route. Pertama pahami terlebih dahulu apa itu Service & Route.

  • Service: adalah eksternal upstream API atau aplikasi yang kalian miliki. Contoh: http://dev.example.com
  • Route: adalah gerbang keluar dari service yang nantinya akan diakses oleh user. Disini kita bisa membuat versioning service seperti contoh: http://dev.example.com/v1, http://dev.example.com/v2

Kalau kalian masih bingung tentang penjelasan saya, semoga kalian akan paham saat praktek. Jadi… Mari kita mulai.

Pembahasan

Contoh Project

Disini saya memiliki contoh project yang bisa kita gunakan untuk praktek, buka link ini untuk mendownload atau clone repository. Ini akan digunakan sebagai contoh Service. Jika kalian menjalankannya lewat docker-compose. Kalian akan langsung bisa melakukan test APInya dengan perintah cURL pada:

  • http://localhost:3000/one
  • http://localhost:3000/two
  • http://localhost:3000/three

Membuat Service dari contoh project

Oke… Saya asumsikan kalian udah paham tentang contoh projectnya. Sekarang kita akan membuat service. Buka KONGA kalian. Lalu buka menu Services > Add New Service. Munculah modal box seperti gambar dibawah.

Add New Service

Disini form yang perlu kita tambahkan yaitu:

  • Name: nama service, ini hanya nama, kalian bisa isi bebas. Contoh: service-v1.
  • URL: URL diisi dengan link aplikasi yang kita miliki. Pastikan diisi dengan format <protocol>://<URL>:<port>. Contoh http://project:3000.
  • Path: Ini sebenarnya form optional. Tapi… Karena dalam contoh ini, kita menggunakan path untuk membedakan aplikasi. Kita akan memasukkan path dengan format /path. Contoh: /one.

Klik Submit Service.

Services List

Membuat Routes

Dari list Service yang telah kita buat. Klik pada nama salah satu service. Buka menu Routes > Add Route.

Routes List

Add Route

Hampir mirip seperti kita membuat Service sebelumnya, berikut form yang wajib kita tambahkan yaitu:

  • Name: name ini wajib ya buat membedakan services/routes satu dengan yang lain.
  • Path: path pada route bertujuan untuk membelokkan URL service ke path (/) yang kita tentukan. Misal http://feature.example.com --> http://example.com/feature. Intinya… Mbelokin link doang. Contoh disini: /api/v1. Jangan lupa tekan ENTER.
  • Method: dalam route ini http method apa saja yang diperbolehkan. Disini karena kita hanya nge-GET data doang. Ya isi aja GET. Jangan lupa tekan ENTER.
  • Protocols: http or https. Terserah guys… kalian juga udah paham pastinya kalo ini.

Klik Submit Route.

Routes List

Lalu kita bisa cek URL yang telah kita proses melalui API Gateway tadi dengan cara melakukan HTTP Request ke http://localhost:8000/api/v1. Disini port 8000 adalah URL yang akan diakses oleh user. Dan /api/v1 adalah route yang telah kita buka tadi. Kita test menggunakan cURL.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
curl -IXGET localhost:8000/api/v1

## Output
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 6
Connection: keep-alive
X-Powered-By: Express
ETag: W/"6-no4iJdZG6USw2NYfw6FhZkLy+uw"
Date: Sun, 22 Aug 2021 12:47:15 GMT
X-Kong-Upstream-Latency: 2
X-Kong-Proxy-Latency: 1
Via: kong/2.3.3

Yep… Kalian sudah berhasil membuat sepasang service & route.

Serial

Penutup

Oke untuk sekarang sekian dulu, sorry kalau agak kurang jelas. Semoga artikel ini membantu, jika ada pertanyaan silakan isi pada kolom komentar. Terimakasih.

comments powered by Disqus
Writen with ❤️ by Leon
Built with Hugo
Theme Stack designed by Jimmy