Belajar Traefik - Traefik Architecture & Core Concepts
Episode 2 of 31

Belajar Traefik - Traefik Architecture & Core Concepts

Episode ini membedah arsitektur Traefik: entrypoints, routers, middlewares, services, dan providers sebagai lima komponen inti. Kalian juga mempelajari perbedaan konfigurasi statis dan dinamis, mekanisme service discovery, serta alur lengkap sebuah request melalui pipeline Traefik.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Setelah memahami mengapa Traefik lahir, sekarang saatnya membedah mesinnya dari dalam. Episode 2 memperkenalkan lima komponen inti arsitektur Traefik: entrypoints, routers, middlewares, services, dan providers. Semua konfigurasi Traefik — dari yang paling sederhana sampai paling kompleks — hanyalah kombinasi dari lima konsep ini.

Selain itu, kita akan membahas dua lapisan konfigurasi: statis yang diatur saat startup, dan dinamis yang berubah-ubah saat runtime. Memahami pembagian ini penting karena menentukan di mana sebuah pengaturan harus ditulis. Di akhir episode, kalian akan mengikuti perjalanan lengkap sebuah request dari klien sampai kembali, melewati setiap komponen secara berurutan.

Lima Komponen Inti

Entrypoint

Entrypoint adalah titik masuk jaringan: kombinasi port dan protokol yang Traefik dengarkan. Misalnya entrypoint web di port 80 untuk HTTP dan websecure di port 443 untuk HTTPS. Request hanya diproses Traefik jika masuk melalui salah satu entrypoint yang didefinisikan.

Router dan Rule

Router adalah unit logika yang menghubungkan sebuah entrypoint dengan sebuah service berdasarkan rule — kondisi pencocokan. Rule bisa berupa Host, Path, Method, dan lainnya. Saat rule terpenuhi, router meneruskan request ke service tujuan, dengan opsi melewati middleware lebih dulu.

Middleware dan Service

Middleware memodifikasi request atau response di antara router dan service: autentikasi, rate limiting, kompresi, header, dan lain-lain. Service adalah tujuan akhir: daftar backend server yang menerima request, biasanya dengan load balancing otomatis di dalamnya.

Provider

Provider adalah sumber konfigurasi dinamis. Traefik tidak menyimpan semua konfigurasi dalam satu file; dia membaca dari provider seperti Docker, Kubernetes, atau file konfigurasi, lalu menerjemahkannya menjadi routing yang berlaku.

Alur request melalui pipeline Traefik
klien -> entrypoint -> router -> middleware -> service -> backend
                <- response <- middleware <- service <- backend

Konfigurasi Statis vs Dinamis

Dua Lapisan Konfigurasi

Traefik memisahkan konfigurasi menjadi dua:

  • Static configuration: nilai yang ditetapkan saat startup — entrypoints, providers yang aktif, API/dashboard, log, dan certificate resolvers. Tidak bisa diubah tanpa restart.
  • Dynamic configuration: routing yang hidup — routers, services, middlewares. Dibawa oleh provider dan bisa berubah kapan saja.

Contoh static configuration minimal menggunakan file traefik.yml:

traefik.yml - static configuration
entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
 
api:
  dashboard: true
 
providers:
  docker:
    exposedByDefault: false

Perhatikan bahwa tidak ada baris endpoint pada provider Docker. Traefik memakai nilai default-nya, yaitu socket Docker di unix:///var/run/docker.sock — detail ini kita ubah sesuai kebutuhan di episode 5.

Perhatikan bahwa di sini tidak ada router atau service sama sekali. Semua itu datang secara dinamis dari provider Docker — mari lihat sisi dinamisnya:

docker-compose.yml - dynamic via labels
services:
  app:
    image: nginx:alpine
    labels:
      - traefik.enable=true
      - traefik.http.routers.app.rule=Host(`app.localhost`)
      - traefik.http.services.app.loadbalancer.server.port=80

Mekanisme Service Discovery

Dengan providers.docker aktif, Traefik memantau daemon Docker lewat Docker socket. Setiap container yang muncul dengan label traefik.enable=true langsung menghasilkan router dan service baru secara otomatis — tanpa restart, tanpa reload manual. Inilah inti dari dynamic configuration.

Router, Rule, dan Provider secara Detail

Konsep yang Sering Tertukar

Empat istilah yang paling sering membingungkan pemula:

  • Entrypoint = pintu masuk, tempat Traefik menerima koneksi.
  • Router = logika yang memutuskan ke mana request pergi.
  • Rule = kriteria pencocokan yang dipakai router (Host, Path, dan lain-lain).
  • Service = alamat tujuan yang menerima request akhir.

Sedangkan provider bukan bagian dari pipeline request; dia adalah "sumber berita" yang memberi tahu Traefik tentang dunia luar. Tanpa provider, Traefik hanyalah kotak kosong yang tidak tahu harus merutekan apa.

Certificate Resolver

Satu konsep tambahan yang dipakai di fase TLS: certificate resolver. Ini konfigurasi ACME (Let's Encrypt) yang terpasang pada entrypoint websecure untuk menerbitkan sertifikat secara otomatis. Kita akan membedahnya mendalam di episode 15, tapi kenali dulu keberadaannya di sini.

Alur Request Lengkap

Langkah demi Langkah

Ketika seorang klien membuka http://app.localhost, berikut yang terjadi:

  1. Koneksi tiba di entrypoint web (port 80).
  2. Traefik memeriksa semua router yang terikat pada entrypoint web.
  3. Rule Host(app.localhost) cocok, sehingga router app terpilih.
  4. Rantai middleware milik router dijalankan secara berurutan.
  5. Traefik memilih server dari service app menggunakan load balancing.
  6. Traefik membuka koneksi ke backend container nginx:alpine.
  7. Response dari backend melewati middleware sekali lagi sebelum dikirim ke klien.

Kenapa Middleware Dua Arah

Middlewares Traefik membungkus service, bukan sekadar request. Artinya response dari backend juga melewati middleware yang sama. Contoh paling jelas: middleware compress menandai response untuk dikompres, dan header Content-Encoding: gzip ditambahkan di jalur respons. Memahami sifat dua arah ini membantu kalian mendebug perilaku yang tidak terduga nanti.

Info

Router dihubungkan ke service bukan langsung, melainkan lewat referensi nama. Jika nama service tidak ada, router mengembalikan HTTP 503. Biasakan mengecek konsistensi nama router-service sejak awal.

Penutup

Inti yang harus dibawa pulang:

  • Lima komponen inti: entrypoint, router, middleware, service, provider.
  • Static configuration untuk pengaturan startup; dynamic configuration untuk routing.
  • Provider (Docker, Kubernetes, File) mengisi konfigurasi dinamis secara otomatis.
  • Rule menentukan pencocokan: Host, Path, Method, dan lainnya.
  • Alur request: entrypoint, router, middleware, service, backend, lalu kembali.
  • Middleware membungkus service dan berjalan dua arah.

Di episode 3 selanjutnya kita akan menginstall Traefik — mulai dari binary, cara paling umum dengan Docker container, setup Docker Compose yang rapi, sampai first run dan akses dashboard pertama kalian. Setelah itu semua konsep abstrak di episode ini akan terasa konkret.

Belajar Traefik - Traefik Architecture & Core Concepts | Belajar Traefik