https://github.com/bitly/go-hostpool
Intelligently and flexibly pool among multiple hosts from your Go application
https://github.com/bitly/go-hostpool
hostpool loadbalancing
Last synced: 7 months ago
JSON representation
Intelligently and flexibly pool among multiple hosts from your Go application
- Host: GitHub
- URL: https://github.com/bitly/go-hostpool
- Owner: bitly
- License: mit
- Created: 2012-11-14T19:17:47.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2020-12-16T15:39:34.000Z (over 4 years ago)
- Last Synced: 2024-06-18T12:37:31.458Z (12 months ago)
- Topics: hostpool, loadbalancing
- Language: Go
- Size: 40 KB
- Stars: 376
- Watchers: 30
- Forks: 53
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
go-hostpool
===========[](http://travis-ci.org/bitly/go-hostpool) [](https://godoc.org/github.com/bitly/go-hostpool) [](https://github.com/bitly/go-hostpool/releases/latest)
A Go package to intelligently and flexibly pool among multiple hosts from your Go application.
Host selection can operate in round robin or epsilon greedy mode, and unresponsive hosts are
avoided.
Usage example:```go
hp := hostpool.NewEpsilonGreedy([]string{"a", "b"}, 0, &hostpool.LinearEpsilonValueCalculator{})
hostResponse := hp.Get()
hostname := hostResponse.Host()
err := _ // (make a request with hostname)
hostResponse.Mark(err)
```View more detailed documentation on [godoc.org](http://godoc.org/github.com/bitly/go-hostpool)