Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tanken är att bygga lastbalanseringslösning för att kunna skala ut till många cache-maskiner vid behov. Vi kommer använda BGP med ECMP-routing för att dela ut trafik till flera maskiner. Ett klassiskt problem i samband med detta är att ECMP-routingen kastas om helt när man plockar i eller ur maskiner för maintenance. Detta är ett mindre problem vid enkelt fråga→svar protokoll som DNS, men i fallet HTTP så kan det vara tråkigt att skicka RST-paket till alla klienter oavsett om de råkade prata med den specifika noden man tog ur drift eller inte.

För att lösa detta vill vi bygga en multi-tier lösning, vilket betyder att det finns ett främre lager maskiner som terminerar BGP, men som sedan har som uppgift att se till att oavsett vem av dem som får ett IP-paket adresserat till en viss adress, så ska alla skicka denna vidare till samma bakomliggande server. I fallet att man plockar ur en sådan maskin ur BPG så ska det alltså inte spela roll att all trafik kastas om, för kvarvarande maskiner kommer se till att det är samma bakomliggande server som tar emot dem. En illustrativ beskrivning av detta koncept finns här: https://vincent.bernat.ch/en/blog/2018-multi-tier-loadbalancer

...

Första tanken var att använda Caddy och dess inbyggda clusterstöd för att sköta certinhämtning från Lets Encrypt och sedan förmedla dessa mellan sig. Detta fungerar bra så länge man håller sig på en site, men eftersom detta projekt förväntas vara multi-site så uppstår problem med storagelösningen när vi vill ha oberoende siter. Den enklaste lösningen skulle vara att ha flera siter som oberoende av varandra hämtar cert för samma namn från Lets Encrypt, men detta springer in i begränsningar som Duplicate Certificate Limit.

För att ha en lösning som minimerar risken att springa in i sådant är rimligtvis rätt väg att gå att det bara finns en aktiv certförnyare, och att certen sen får spridas från denna till webserver-noderna. Skulle en site försvinna kommer det förmodligen vara ett manuellt handgrepp att ändra vilken site som står för inhämtandet av cert. Med övervakning ska vi kunna uppmärksamma problem i god tid innan certen går ut.

...