Event-driven architecture (EDA) started becoming a staple in our backend design language. With Kafka and other message brokers gaining traction, we revisited how services communicated and scaled.
Key lessons:
- Always define clear event contracts — event versioning is essential
- Avoid over-publishing — not every change needs to be an event
- Think in terms of eventual consistency, not immediate sync
We began treating the event log as a first-class citizen — it helped with traceability, debugging, and building reactive systems.
Bonus: tools like Kafka Connect simplified pipelines to Elasticsearch and Hadoop.