tim-group / Blondin

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

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

License:Other


Languages

Language:Java 98.5%Language:Ruby 1.0%Language:Shell 0.5%