Skip to content

A lightweight HTTP reverse proxy writ- ten in pure Go (standard library), implementing round-robin traffic distribution and interface-based server abstraction without third-party dependencies.

Notifications You must be signed in to change notification settings

HESleagacy/LoadBalancer_GO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Go Round Robin Load Balancer

A lightweight HTTP reverse proxy load balancer written in Go that distributes incoming requests across multiple backend servers using a round-robin algorithm.

This project is built using only Go’s standard library and is designed as a clean educational implementation of core load balancing concepts.


Overview

This load balancer listens on a local port and forwards incoming HTTP requests to a pool of backend servers. Each request is routed to the next server in sequence using round-robin selection.

It demonstrates:

  • Reverse proxying
  • Interface-based server abstraction
  • Round-robin scheduling
  • Basic request forwarding
  • Minimal, dependency-free design

Features

  • HTTP reverse proxy using net/http/httputil
  • Round-robin load distribution
  • Pluggable server interface
  • Simple and extensible architecture
  • Zero third-party dependencies

Architecture

Server Interface

Each backend server implements:

Screenshot from 2026-02-07 04-27-51 Screenshot from 2026-02-07 04-25-28 Screenshot from 2026-02-07 04-25-22 Screenshot from 2026-02-07 04-25-15 Screenshot from 2026-02-07 04-25-00
type Server interface {
    Address() string
    IsAlive() bool
    Serve(http.ResponseWriter, *http.Request)
}

About

A lightweight HTTP reverse proxy writ- ten in pure Go (standard library), implementing round-robin traffic distribution and interface-based server abstraction without third-party dependencies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages