In this final lecture we discuss the means and tradeoffs involved in achieving the responsiveness that is required of our systems. In particular, we cover:

  • exploiting parallelism to reduce response latency, potentially at the cost of more resource usage
  • installing circuit breakers between Actors or services in order to protect the client from service outages as well as protecting the service from being overloaded
  • bulk-heading different parts of the system by assigning separate resources, for example different thread pools
  • the tradeoffs between detecting failures and maintaining very low response latencies

In summary, we reach the conclusion that message-driven systems can be scaled vertically and horizontally, and that responsiveness requires both resilience and elasticity.

Hosting of the video
sponsored by