is readily responsive to a stimulus
Current solution is callbacks, but they have a problems:
How To Do Better: use fundamental constructions from functional programming to get composable event abstractions.
Systems are composed from loosely coupled event handlers.
An application is scalable if it is able to be expanded according to its
usage.
Important for scalability: Minimize shared mutable state.
Important for scale out: Location transparency, resilience.
An application is resilient if it can recover quickly from failures.
Failures can be:
Typically, resilience cannot be added as an afterthought; it needs to be
part of the design from the beginning.
Needed:
An application is responsive if it provides rich, real-time interaction with
its users even under load and in the presence of failures.
Responsive applications can be built on an event-driven, scalable, and
resilient architecture. Still need careful attention to algorithms, system design, back-pressure, and many other details.