
Make your service more resilient with Kanaloa – an Akka based lib - kailuowang
http://tech.iheart.com/post/135251779569/kanaloa-make-your-reactive-service-more
======
kailuowang
Author here, will answer any questions.

Kanaloa is a set of work dispatchers implemented using Akka actors. These
dispatchers sit in front of your service and dispatch received work to them.
They make your service more resilient through the following means:

Auto scaling - it dynamically figures out the optimal number of concurrent
requests your service can handle, and make sure that at any given time your
service handles no more than that number of concurrent requests. This
algorithm was also ported and contributed to Akka as Optimal Size Exploring
Resizer (although with some caveats).

Back pressure control - this control is Little’s law inspired. It rejects
requests when estimated wait time of which exceeds a certain threshold.

Circuit breaker - when error rate from your service goes above a certain
threshold, kanaloa dispatcher stops all requests for a short period of time to
give your service a chance to “cool down”.

Real-time monitoring - a built-in statsD reporter allows you to monitor a set
of critical metrics (throughput, failure rate, queue length, expected wait
time, service process time, number of concurrent requests, etc) in real time.
It also provides real-time insights into how kanaloa dispatchers are working.

