Skip to content

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

License

Notifications You must be signed in to change notification settings

tim-group/Blondin

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages