Нет описания

Dan Frank 291ae4626e change to selectHost to (sort of) remove knowledge of h.dead from epsilon greedy 13 лет назад
.gitignore 9ee9de1a9a Initial commit 13 лет назад
.travis.yml 04638c1bf2 Initial migration from Bitly codebase, plus travis yml 13 лет назад
README.md caed515f02 docs and examples like a responsible author 13 лет назад
epsilon_greedy.go 291ae4626e change to selectHost to (sort of) remove knowledge of h.dead from epsilon greedy 13 лет назад
epsilon_value_calculators.go f168a71549 fix some value calculators and add docs 13 лет назад
example_test.go 5b6ec7b806 rm markSuccess and ilk from interface, bind response and hp types 13 лет назад
host_entry.go 6d43f34e8e split into multiple files 13 лет назад
hostpool.go 291ae4626e change to selectHost to (sort of) remove knowledge of h.dead from epsilon greedy 13 лет назад
hostpool_test.go 5b6ec7b806 rm markSuccess and ilk from interface, bind response and hp types 13 лет назад

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