provides isolated thread pools
caches microservices to avoid cascading failure
how does that work