Skip to content

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.


« HomeInstalling and Configuring »