-
Notifications
You must be signed in to change notification settings - Fork 10
When to Use
Rob Hruska edited this page Apr 28, 2017
·
14 revisions
Mjolnir works best with I/O dependencies. Things like:
- Network calls between microservices.
- Interaction with dependent systems like caches, queues, and search indexes.
- HTTP calls to third-party systems like analytics services, cloud APIs, and payment processors.
- Operations that use files or interact with disk.
To isolate these dependencies, you wrap them in a Mjolnir Command and invoke it. Commands operate with a fail-fast mentality. They apply timeouts, track and react to errors using Circuit Breakers, and avoid resource exhaustion by using Bulkheads.
Mjolnir isn't optimized for dependencies that are potentially CPU-bound. While it might help, it simply doesn't isolate them as well. Hudl's architecture has a different set of systems that handle CPU-bound work.