gobetween – nowoczesny i minimalistyczny load balancer oraz reverse proxy

W projektach, w których istnieje potrzeba zastosowania jakiegoś load balancer czy reverse proxy, często wybiera się takie rozwiązania jak nginx, czy haproxy. Oprócz nich istnieje jednak inne, bardzo elastyczne i nowoczesne narzędzie jakim jest gobetween. Co go wyróżnia spośród dostępnych rozwiązań ? Poniżej przedstawię kilka z jego najbardziej istotnych cech.

Przedstawiona poniżej analiza możliwości, zalet i wad gobetween została wykonana na podstawie oficjalnej dokumentacji. Więcej informacji na temat gobetween można również znaleźć na GitHub, gdzie dostępny jest kod źródłowy wraz z opisem narzędzia.

Protokoły

Najczęściej stosowanym protokołem w aplikacjach webowych jest oczywiście HTTP wykorzystujący do transportu protokół TCP, ale co ciekawe gobetween oprócz TCP wspiera protokoły UDP oraz TLS.

Algorytmy balansowania 

Ruch do serwerów docelowych może być balansowany na podstawie:

  • określonych wag dla każdego z serwerów
  • hash z adresu IP klienta
  • liczby aktualnych połączeń do poszczególnych serwerów
  • round robin
  • ilości ruchu do poszczególnych serwerów (sumy bajtów przesłanych i odebranych)

Integracja

Wykrywanie serwisów w sieci może być zrealizowane po stronie gobetween na podstawie statycznej konfiguracji lub poprzez współpracę z innymi serwisami takimi jak:

  • Docker Swarm
  • Consul
  • narzędzi zewnętrznych takich jak curl 

API 

API gobetween umożliwia:

  • pobranie informacji o gobetween
  • pobranie konfiguracji gobetween
  • pobranie listy serwerów
  • dodanie serwera do listy
  • usunięcie serwera z listy
  • sprawdzenie statusu każdego z serwerów (tzw. health check)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload CAPTCHA.