Powrót do strony głównej

SOA w Factorio: porównanie z monolitem

Artykuł analizuje implementację SOA w Factorio poprzez centralną szynę-taśmociąg i specjalistyczne serwisy. Porównywane są metryki z monolitem: czas budowy, zasoby, skalowanie. Wyodrębniono wady ESB i zalety niezależności.

Factorio SOA: szyna i serwisy przeciwko monoliście
Advertisement 728x90

SOA w Factorio: testy wydajności architektury usługowej kontra monolit

Architektura usługowa (SOA) rozbija monolit na niezależne serwisy połączone magistralą usług Enterprise Service Bus (ESB). W Factorio modelujemy to centralną dwukierunkową taśmą transportową, po której rozprowadzane są zasoby między wyspecjalizowanymi gałęziami produkcji. Porównanie z monolitem pokazuje wzrost złożoności na starcie, ale potencjał skalowania.

Magistrala przejmuje routing: przyjmuje zapytania od serwisów, przekierowuje zasoby i zwraca wyniki. Serwisy nie komunikują się bezpośrednio — tylko przez magistralę, co naśladuje standaryzowany protokół wymiany. Elektrownia integruje się jako serwis na początku magistrali, pobierając paliwo z niej. Płyny idą rurami, surowce taśmami w obie strony.

Plan realizacji i pierwsze wyzwania

Wstępny schemat: magistrala rozrasta się w prawo i w górę, gałęzie produkcji — w dół. Skalowanie pionowe uproszczone: duplikowanie stref bez mieszania logiki.

Google AdInline article slot

Kluczowe aspekty adaptacji do gry:

  • Taśmy jako sockety dla lokalnego węzła.
  • Transport kolejowy tylko dla przychodzących użytkowników (sieci).
  • Oddzielne gałęzie na produkt (zielone płytki, koła zębate).
  • Magistrala dwukierunkowa dla strumieni zwrotnych (paliwo jądrowe do elektrowni).

Wyzwania:

  • Utrzymanie magistrali pochłania mnóstwo roboczogodzin.
  • Ograniczenia przestrzenne przez szerokość magistrali.
  • Łatwość wzrostu pionowego przy rezerwacji miejsca.

Start z mini-monolitem przy kopalniach na materiały budowlane — podejście MVP, nieuniknione dla wszystkich stylów.

Google AdInline article slot

Pilotażowy rozruch: budowa i skalowanie

Po bazowej produkcji (taśmy, assemblery, insertery) podłączono przetapianie i elektrownię. Strefy kół zębatych, flakonów rozszerzają się w dół, magistrala — w prawo. Żółte taśmy pokrywają potrzeby bez deficytów, w przeciwieństwie do monolitu.

Problemy na wczesnym etapie:

  • Wyczerpanie startowych kopalni przed JD — tymczasowe ścieżki taśmowe jako alfa-test z ograniczonym obciążeniem.
  • Podejście do bugów — priorytet na obronę (mury, wieżyczki, czarne flakony), co pochłania czas na biznesowe deadliny.
  • Rozrastanie magistrali poza ekran — radary do podglądu.
  • Niskie obciążenie kanałów: szerokie strumienie z cienkimi strumyczkami przedmiotów.
  • Jeziora na drodze — zasypywanie landfillami.

Magistrala pochłania dużo czasu na układanie i serwisowanie, potwierdzając realne wady SOA: złożoność ESB przy wzroście. Komunikacja między serwisami (gałęziami) a magistralą imituje uzgodnienia zespołowe.

Google AdInline article slot

Porównanie z monolitem na pośrednich metrykach

SOA zwraca się w taśmach: produkcja żółtych pokrywa magistralę i fabrykę. Monolit cierpiał na niedobory. Skalowanie prostsze — nowe strefy przy magistrali bez przebudowy.

Jednak start wolniejszy: igrowe dni na pilotaż bez pełnego wdrożenia użytkowników. Bugi i zasoby odciągają od logiki produktowej, modelując presję budżetową.

Pionowe duplikowanie gałęzi (skalowanie serwisów) działa: przestrzeń między odgałęzieniami kluczowa.

Co najważniejsze

  • Magistrala to wąskie gardło: logika routingu rośnie z serwisami, grożąc awariami.
  • Niezależny rozwój serwisów ułatwia aktualizacje, ale wymaga standardów.
  • W Factorio SOA wygrywa w taśmach, przegrywa w przestrzeni i czasie budowy.
  • Mini-monolit na starcie — MVP dla każdej architektury.
  • Dwukierunkowe strumienie niezbędne dla realizmu (paliwo zwrotne).

— Editorial Team

Advertisement 728x90

Czytaj dalej