Bound everything!

This is an old unpublished post. Published now.

Bounds are important. Unbounded or only partially bounded resources and operations pose a risk to latency and availability of your service.

  • Bound resource usage (e.g. limit thread pool size)
  • Bound queries (e.g. put a where condition limiting the date range, don’t make it open on one side or worse both sides; if it makes sense use the”limit” features in queries)
  • Bound time spent waiting on a dependency

On a similar vein, ensure you validate user input against limits before working on them or passing them on to dependencies.

View the discussion thread

Originally published at https://www.floatingpoint.ca on May 13, 2018.

--

--

Aishwar Muthuraman

Adventuring through life. Stories of software development, engineering, fun, and reflection.