consul/vendor/github.com/hailocab/go-hostpool
Jeff Mitchell 28c84845bf
Update vendoring from go mod. (#5566)
2019-03-26 17:50:42 -04:00
..
.gitignore Update vendoring from go mod. (#5566) 2019-03-26 17:50:42 -04:00
.travis.yml Update vendoring from go mod. (#5566) 2019-03-26 17:50:42 -04:00
LICENSE Vendor the vault api 2018-06-25 12:26:10 -07:00
README.md Vendor the vault api 2018-06-25 12:26:10 -07:00
epsilon_greedy.go Vendor the vault api 2018-06-25 12:26:10 -07:00
epsilon_value_calculators.go Vendor the vault api 2018-06-25 12:26:10 -07:00
host_entry.go Vendor the vault api 2018-06-25 12:26:10 -07:00
hostpool.go Vendor the vault api 2018-06-25 12:26:10 -07:00

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