SOA dans Factorio : Architecture orientée services vs monolithe en benchmarks
L'architecture orientée services (SOA) décompose un monolithe en services indépendants connectés via un bus de services d'entreprise (ESB). Dans Factorio, cela se modélise avec un bus convoyeur central bidirectionnel qui distribue les ressources vers des branches de production spécialisées. Par rapport à un monolithe, elle augmente la complexité dès le départ, mais débloque un potentiel d'évolutivité massif.
Le bus gère tout le routage : il reçoit les demandes des services, redirige les ressources et livre les résultats. Les services ne communiquent jamais directement — seulement via le bus, imitant des protocoles standardisés. La centrale électrique se branche au début du bus, aspirant le carburant directement. Les liquides circulent par tuyaux, les matières premières via convoyeurs dans les deux sens.
Plan de mise en œuvre et défis initiaux
Disposition initiale : le bus s'étend vers la droite et le haut, les branches de production descendent. L'évolutivité verticale est un jeu d'enfant — dupliquez les zones sans mélanger les logiques.
Adaptations clés au jeu :
- Les convoyeurs servent de sockets pour les nœuds locaux.
- Les trains réservés aux utilisateurs entrants (réseaux).
- Branches dédiées par produit (circuits verts, engrenages).
- Bus bidirectionnel pour les flux inverses (carburant nucléaire vers l'énergie).
Défis :
- L'entretien du bus bouffe des heures de travail.
- Limites spatiales dues à la largeur du bus.
- La croissance verticale est facile si vous réservez l'espace dès le départ.
Démarrez avec un mini-monolithe aux mines pour les matériaux de construction — style MVP, inévitable quelle que soit l'approche.
Phase pilote : Construction et mise à l'échelle
Après la configuration de base (convoyeurs, assembleurs, inserteurs), on branche la fusion et l'énergie. Les zones engrenages et circuits rouges s'étendent vers le bas, le bus vers la droite. Les ceintures jaunes couvrent la demande sans pénurie, contrairement au monolithe.
Obstacles précoces :
- Les mines de départ s'épuisent avant les trains — chemins temporaires de ceintures comme test alpha avec charges légères.
- La défense contre les bugs prime (murs, tourelles, grenades noires), grignotant les délais produits.
- Étallement du bus hors écran — radars pour l'aperçu.
- Canaux sous-chargés : flux larges avec filet d'objets fins.
- Lacs sur le passage — remblayer.
Le bus exige des tonnes de temps pour la pose et l'entretien, soulignant les inconvénients réels de la SOA : complexité de l'ESB à mesure de la croissance. Les communications service-bus (branche-bus) reflètent les réunions de coordination d'équipe.
Métriques mi-partie : SOA vs monolithe
La SOA excelle en débit : production jaune alimente le bus et l'usine. Le monolithe connaît des pénuries. L'évolutivité est plus simple — ajoutez des zones au bus, sans reconstructions.
Mais le démarrage est plus lent : jours en jeu pour le pilote sans onboarding complet des utilisateurs. Bugs et ressources détournent du cœur logique, comme les pressions budgétaires.
Duplication verticale des branches (mise à l'échelle des services) fonctionne super — l'espacement entre ramifications est clé.
Enseignements clés
- Le bus est le goulot d'étranglement : la logique de routage explose avec les services, risquant les pannes.
- Services indépendants facilitent les mises à jour mais exigent des standards stricts.
- Dans Factorio, la SOA l'emporte sur le débit, perd sur l'espace et le temps de construction.
- Début mini-monolithe est le MVP pour toute architecture.
- Flux bidirectionnels essentiels pour le réalisme (boucles carburant).
— Editorial Team
Aucun commentaire pour le moment.