modulepackage
0.0.0-20160125115350-e80d13ce29ed
Repository: https://github.com/hailocab/go-hostpool.git
Documentation: pkg.go.dev
# README
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
# Functions
Construct a basic HostPool using the hostnames provided.
Construct an Epsilon Greedy HostPool
Epsilon Greedy is an algorithm that allows HostPool not only to track failure state, but also to learn about "better" options in terms of speed, and to pick from available hosts based on how well they perform.
Returns current version.
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
# Interfaces
Structs implementing this interface are used to convert the average response time for a host into a score that can be used to weight hosts in the epsilon greedy hostpool.
This is the main HostPool interface.
This interface represents the response from HostPool.