reaktiv arkitektur

En softwarearkitektur, der fokuserer på at opbygge systemer, der er responsive, robuste, elastiske og meddelelsesdrevne, især anvendt i AI-systemer til realtidsinferens.

Kort fortalt

Kort fortalt: en måde at designe systemer på, så de reagerer hurtigt på hændelser og forbliver stabile under pres, fx når en AI-model skal svare på mange forespørgsler på én gang.

Kategori
arkitektur
Niveau
øvet

Betydninger

1
  1. 1

    En arkitekturstil, hvor systemer er designet til at reagere på hændelser (events) og ændringer i tilstand, kendetegnet ved asynkron meddelelsespassering, backpressure og ikke-blokerende I/O, ofte anvendt i distributionssystemer og AI-realtidsapplikationer.

    • For at håndtere tusindvis af samtidige forespørgsler på sprogmodellen implementerede vi en reaktiv arkitektur med Akka-rammen.Eksempel fra praksis
    • Reaktiv arkitektur muliggør, at inferenspipelinen automatisk skaleres op ved spidsbelastning uden at miste responsivitet.Eksempel fra praksis

Hvornår bruges det

Reaktiv arkitektur bruges i AI-systemer, der kræver høj tilgængelighed og lav latenstid, som f.eks. chatbots, anbefalingssystemer og IoT-enheder med edge intelligence. Mønstret understøtter asynkron kommunikation og backpressure, så modellen ikke overvældes.

Kodeeksempel

import asyncio

async def handle_request(model, request):
    # simulate inference
    await asyncio.sleep(0.1)
    return model.predict(request)

async def main():
    model = load_model()
    tasks = [handle_request(model, req) for req in requests]
    results = await asyncio.gather(*tasks)
    # process results

Eksempel på reaktiv håndtering af inferensforespørgsler med asyncio. Hver anmodning behandles asynkront, så systemet kan håndtere mange samtidige kald uden at blokere.

Oprindelse

Begrebet stammer fra reaktiv programmering og er formaliseret i 'Reactive Manifesto' (2013) af Jonas Bonér m.fl., der definerer fire principper: responsive, resilient, elastic, message-driven.

Afledte ord

2

Kilder

2