No Description

Daniel Cannon e80d13ce29 Merge pull request #3 from hailocab/upstream-merge 10 years ago
.gitignore 9ee9de1a9a Initial commit 13 years ago
.travis.yml 04638c1bf2 Initial migration from Bitly codebase, plus travis yml 13 years ago
LICENSE 0637eae892 Added license 10 years ago
README.md caed515f02 docs and examples like a responsible author 12 years ago
epsilon_greedy.go e80d13ce29 Merge pull request #3 from hailocab/upstream-merge 10 years ago
epsilon_value_calculators.go f168a71549 fix some value calculators and add docs 12 years ago
example_test.go e86055f813 last try at examples 12 years ago
host_entry.go 6d43f34e8e split into multiple files 12 years ago
hostpool.go e80d13ce29 Merge pull request #3 from hailocab/upstream-merge 10 years ago
hostpool_test.go ee3c7112b8 Gofmt. 11 years ago

README.md

go-hostpool

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:

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