Řešeno: zdroj události

Určitě vám vystavím rozsáhlý článek týkající se zdroje událostí pomocí Pythonu.

Event Sourcing (ES) je výkonný architektonický vzor, ​​který zaznamenává všechny změny provedené ve stavu aplikace jako sled událostí. Místo pouhého ukládání aktuálního stavu dat do databáze ukládá Event Sourcing také sekvenci akcí nebo změn, které vedly k aktuálnímu stavu.

Event Sourcing představuje radikální posun od tradičních metod, trestající implementace CRUD ve prospěch více „příčina-následek“ přístupu, který může pomoci s auditováním, laděním a komplexními obchodními procesy.

Náprava problému: Proč Event Sourcing?

Aplikace vytvořené pomocí přístupů CRUD se často setkávají s problémy při dotazování na historická data. Informace se ztratí při každé aktualizaci stavu. Event Sourcing zajišťuje, že všechny přechody stavů jsou uloženy jako samostatné záznamy událostí. Tyto záznamy jsou plně sledovatelné a umožňují analýzu minulých stavů, toho, jak systém dospěl k aktuálnímu stavu, a dokonce i předpovídání budoucích stavů.

class Event:
    def __init__(self, name):
        self.name = name

class State:
    def __init__(self, event_sequence):
        self.sequence = event_sequence

Výše uvedený úryvek kódu Pythonu představuje základní strukturu ukazující, jak by mohly být události a stav reprezentovány.

Cesta přes kód

Evoluci Event Sourcingu lze rozdělit do tří hlavních procedurálních kroků: 1. Příkaz 2. Událost 3. Obsluha události.

Příkaz odpovídá přijetí akce, která má být provedena, následovaná Událostí; záznam o provedené akci. Poslední krok, Event Handler, aktualizuje stav v souladu se změnami systému.

class Command:
    def __init__(self, type, payload):
        self.type = type
        self.payload = payload

class EventHandler:
    def __init__(self, state):
        self.state = state

    def handle_event(self, event):
        self.state.sequence.append(event)

Výše uvedený kód Pythonu ilustruje třídy Command a EventHandler. Příkaz je inicializován typem a nákladem, kde EventHandler přijímá stav a má metodu pro zpracování nových událostí.

Kopání do Pythonových knihoven: Event Sourcing

V Pythonu je knihovna Eventsourcing vynikajícím nástrojem pro aplikaci ES ve vašich aplikacích. Poskytuje jednoduchý, ale robustní prostředek pro ukládání a načítání sekvence událostí prostřednictvím média Python.

from eventsourcing.application import Application

class EventSourcingApplication(Application):
    def __init__(self):
        super().__init__()

app = EventSourcingApplication()

Tento fragment ukazuje použití knihovny k vytvoření základního nastavení aplikace pro systém ES.

Všestrannost a síla Event-Sourcingu z něj činí nezbytnou implementaci pro moderní architektury, kde záleží na datech a historii. Díky jednoduchosti Pythonu a použití úžasných knihoven, jako je Eventsourcing, se nastavení systému ES stává dosažitelnějším cílem.

Související příspěvky:

Zanechat komentář