Building Resilient Systems with Event-Driven Architecture