Future Plan: Event-Driven Architecture with NATS
Published: 2026-02-20 | Section: Architecture & Platform | Author: Amirreza Rezaie
I am thinking about the future architecture of Goalixa.
I want to adopt an Event-Driven Architecture (EDA) because it can help me model time-based actions more naturally.
Why EDA for Goalixa
In Goalixa, time is a core domain concept.
Examples of events:
time.starttime.end- Other time-related lifecycle events
With an event-driven model, these events can be reused by multiple services and workflows without tight coupling.
Why NATS
I want to use NATS as the event broker because:
- It is lightweight and fast
- It is a good fit for asynchronous communication
- It helps me learn and implement EDA in a practical way
- It gives a clean path to scale event-based features over time
What I Want Next
- Define a first version of event contracts
- Publish core time events from app flows
- Add consumers for useful downstream actions
- Observe reliability and message flow behavior
This is an important step toward a more modular and scalable architecture.