November 21, 2024

Pengenalan

Pada tutorial ini, kita akan belajar bagaimana mengkonfigurasi load balancer menggunakan HaProxy untuk tiga web server berbasis Go-Lang pada infrastruktur Docker Compose.

Tujuan

  • Memahami konsep load balancing dan manfaatnya.
  • Mempelajari cara kerja HaProxy.
  • Mengkonfigurasi HaProxy sebagai load balancer untuk tiga web server Go-Lang.
  • Melakukan uji coba dan verifikasi load balancing.

Prasyarat

  • Docker sudah terinstal dan berjalan.
  • Docker Compose sudah terinstal.
  • Pengetahuan dasar tentang Go-Lang.

Langkah-langkah

1. Membangun Web Server Go-Lang

Buatlah tiga project Go-Lang yang berbeda, masing-masing dengan kode berikut:

Go

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello from Web Server %d!\n", r.Host)
    })

    http.ListenAndServe(":8080", nil)
}

Use code with caution.content_copy

Ubah nama project dan port web server pada setiap project.

2. Menulis File Docker Compose

Buatlah file docker-compose.yml dengan konfigurasi berikut:

YAML

version: '3.8'

services:
  webserver1:
    build: ./webserver1
    ports:
      - "8081:8080"
  webserver2:
    build: ./webserver2
    ports:
      - "8082:8080"
  webserver3:
    build: ./webserver3
    ports:
      - "8083:8080"
  haproxy:
    image: "haproxy:2.4.2"
    ports:
      - "80:80"
    volumes:
      - "./haproxy.cfg:/etc/haproxy/haproxy.cfg"

Use code with caution.content_copy

3. Menulis Konfigurasi HaProxy

Buatlah file haproxy.cfg dengan konfigurasi berikut:

Code snippet

global
    log /dev/log local0 notice
    maxconn 2000

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http
    bind *:80
    default_backend servers

backend servers
    server webserver1 127.0.0.1:8081 check
    server webserver2 127.0.0.1:8082 check
    server webserver3 127.0.0.1:8083 check

Use code with caution.content_copy

4. Menjalankan Load Balancer dan Web Server

Jalankan perintah berikut untuk membangun dan menjalankan semua container:

docker-compose up -d

5. Pengujian dan Verifikasi

Buka browser web dan akses alamat http://localhost. Anda akan melihat pesan “Hello from Web Server” secara bergantian dari ketiga web server.

Kesimpulan

Pada tutorial ini, kita telah belajar bagaimana mengkonfigurasi load balancer HaProxy untuk tiga web server Go-Lang menggunakan Docker Compose.

Sumber Daya

  • Dokumentasi Docker Compose: https://docs.docker.com/compose/
  • Dokumentasi HaProxy: [URL yang tidak valid dihapus]
  • Tutorial Load Balancing dengan HaProxy dan Docker: [URL yang tidak valid dihapus]

Tambahan

  • Anda dapat menambahkan lebih banyak web server ke konfigurasi load balancer.
  • Anda dapat menggunakan health check untuk memastikan web server berjalan dengan baik.
  • Anda dapat menggunakan konfigurasi HaProxy yang lebih canggih untuk meningkatkan performa load balancing.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *