/Blondin

A lightweight HTTP proxy that balances requests by rate-limiting those for expensive resources

Primary LanguageJavaOtherNOASSERTION

Blondin

Balance incoming requests to ensure good service by buffering requests for slow/expensive resources.

Blondin is a lightweight HTTP proxy that is capable of throttling requests to a configurable subset of proxied resources.

Blondin takes the form of a single executable jar, and may be started with the following command line:

java -jar blondin-main-0.0.1.jar myconfig.properties

Configuration is achieved with the use of a properties file:

# Blondin Core Configuration
port=9999
targetHost=localhost
targetPort=8080
throttleSize=16
expensiveResourcesUrl=http://some/expensive/resources/list

# Logging
logDirectory=/var/log/blondin

# StatsD Metrics
statsd.host=metrics
statsd.port=2013

Blondin utilises a handful of special HTTP requests to allow status inquiry:

GET   /info/version
GET   /info/stoppable
GET   /info/health
GET   /info/status

Colophon

Blondin is named after Charles Blondin, a famous tightrope walker, who was unarguably good at balancing.