Event-Driven Architecture
A software design pattern where services communicate by producing and consuming events asynchronously, enabling loose coupling, real-time reactivity, and scalable data processing.
Event-driven architecture decouples services by replacing direct API calls with asynchronous events. When a user signs up, the auth service publishes a "user.created" event. The email service, analytics service, and onboarding service each consume this event independently, without the auth service knowing about them.
This pattern offers several advantages. Services can be added or removed without changing the event producer. Events create a natural audit log of everything that happened in the system. Processing can be parallelized across consumers, and spikes in load are absorbed by the event queue rather than overwhelming downstream services.
Common implementations use message brokers like Apache Kafka, RabbitMQ, or cloud-native services like AWS EventBridge. For AI systems, event-driven architecture is particularly powerful: user behavior events feed into real-time feature pipelines, model prediction events trigger downstream personalization, and data change events kick off retraining workflows automatically.
Related Terms
A/B Testing
A controlled experiment comparing two or more variants to determine which performs better on a defined metric, using statistical methods to ensure reliable results.
Feature Flag
A software mechanism that enables or disables features at runtime without deploying new code, used for gradual rollouts, A/B testing, and targeting specific user segments.
MLOps
The set of practices combining machine learning, DevOps, and data engineering to reliably deploy, monitor, and maintain ML models in production.
Model Serving
The infrastructure and systems that host trained ML models and handle inference requests in production, optimizing for latency, throughput, and cost.
Semantic Search
Search that understands the meaning and intent behind a query rather than just matching keywords, typically powered by embedding-based similarity comparison.
CI/CD (Continuous Integration / Continuous Deployment)
An automated software practice where code changes are continuously integrated into a shared repository, tested, and deployed to production, reducing manual intervention and accelerating delivery cycles.