- Published on
Instalasi dan Konfigurasi Kong Microservice API Gateway
Apa itu Kong? Kong yang saya maksud disini bukan hewan atau semacam nya yaa, tetapi nama platform aplikasi yang berfungsi menjadi sebuah gerbang atau jembatan untuk banyak service api yang digunakan pada satu server atau lebih. jadi kalo kita punya banyak service api, kita buat jadi satu pintu request saja dengan kong gateway.
Apa itu Microservice? Microservice disini beda yaa bukan alat pemanggang ~~microwave~~ hehehe … biar lebih jelas saya analogi kan saja. Jadi seumpama kita mau bikin aplikasi POS (Point Of Sale), dan kita akan buat terpisah untuk setiap layanan API nya yaitu ada API user, API inventory, dan API transaction nah masing – masing layanan akan saling berkaitan namun terpisah, Jadi seluruh API service yang kita buat akan berfungsi sesuai bagian masing – masing dan menjadi bagian – bagian kecil pada aplikasi POS tersebut.
Gimana pasti masih bingung yaa? okee, mungkin bisa lihat gambar di bawah ini biar lebih jelas nya.
Oke, mungkin cukup segitu aja basa – basi nya. Kita lanjut ke tutorial.
Langkah 1: Instal Database
Pertama kita instal Postgresql sebagai datastore untuk kong. Karena kong sendiri hanya support 2 database untuk datastore nya yaitu Cassandra dan Postgresql. Disini saya akan menggunakan postgresql versi 11.
Tambakan postgresql ke repo
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
Update repo dan instal postgresql
$ sudo apt update
$ sudo apt install postgresql postgresql-contrib
Langkah 2: Buat Database
Masuk ke postgresql
$ sudo su - postgres
$ psql
Buat database
$ CREATE USER kong WITH PASSWORD 'password-user-kong'; CREATE DATABASE kong OWNER kong;
Langkah 3: Instal Kong
Pertama kita download paket instalasi kong nya disini. Setelah itu update repo lagi dan instal kong
$ sudo apt update
$ sudo apt install openssl libpcre3 procps perl
$ sudo dpkg -i kong-community-edition-0.14.1.*.deb
Langkah 4: Konfigurasi
Setelah instalasi kong selesai, kita copy file konfigurasi yang tersimpan di /etc/kong
$ sudo cp /etc/kong/kong.conf.default /etc/kong/kong.conf
Hapus “#” pada direktif menjadi sesuai contoh di bawah ini
database = postgres
pg_host = 127.0.0.1
pg_port = 5432
pg_user = kong
pg_password = password-user-kong
pg_database = kong
Simpan perubahan file, lalu kita jalankan kong migrations dan memulai service kong
$ sudo kong migrations up [-c /etc/kong/kong.conf]
$ sudo kong start [-c /etc/kong/kong.conf]
Terakhir cek instalasi kong berhasil
$ http localhost:8001
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 5584
Content-Type: application/json; charset=utf-8
Date: Wed, 21 Nov 2018 04:33:07 GMT
Server: kong/0.14.1
{
"configuration": {
"admin_acc_logs": "/usr/local/kong/logs/admin_access.log",
"admin_access_log": "logs/admin_access.log",
"admin_error_log": "logs/error.log",
"admin_listen": [
"127.0.0.1:8001",
"127.0.0.1:8444 ssl"
],
...
"tagline": "Welcome to kong",
"version": "0.14.1
}
atau dengan curl
$ curl -i http://localhost:8001
Secara default kong listening pada beberapa port
8000
: proxy untuk request API dari client ke upstream services (server)
8443
: proxy SSL
8001
: API admin atau API Service yang berkaitan untuk konfigurasi kong
8444
: API admin SSL
dah gitu aja, see ya~