Skip to content

Intelligently and flexibly pool among multiple hosts from your Go application

License

Notifications You must be signed in to change notification settings

monzo/go-hostpool

This branch is 32 commits ahead of hailocab/go-hostpool:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

03b46a5 · Apr 22, 2024

History

58 Commits
Apr 19, 2021
Nov 14, 2012
Mar 1, 2021
Nov 17, 2015
Apr 19, 2013
Jan 27, 2023
Apr 17, 2013
Jul 22, 2020
Jul 24, 2020
Apr 19, 2021
Apr 19, 2021
Mar 1, 2021
Mar 1, 2021
Jul 24, 2020
Mar 1, 2021
Jan 27, 2023
Jan 27, 2023
Jul 24, 2020
Jul 24, 2020
Apr 22, 2024

Repository files navigation

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

About

Intelligently and flexibly pool among multiple hosts from your Go application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%