failured
adaptive accrual failure detector for distributed systems
About failured
Adaptive Accrual Failure Detector
There is NO perfect failure detector.
It's a trade-off between completeness and accuracy.
Failure detection is not a binary value.
This is an implementation of a failure detector that uses an adaptive accrual algorithm. The theory of this failure detector is taken from the paper A New Adaptive Accrual Failure Detector for Dependable Distributed Systems.
This failure detector is useful for detecting connections failures between nodes in distributed systems.
for documentation, view the API reference
Install
go get github.com/andy2046/failured
Usage
package main
import (
"time"
"github.com/andy2046/failured"
)
func main() {
fd := failured.New()
closer := make(chan struct{})
// call RegisterHeartbeat every second
go func() {
for {
select {
case <-closer:
return
default:
}
time.Sleep(time.Second)
fd.RegisterHeartbeat()
}
}()
time.Sleep(3 * time.Second)
close(closer)
// check FailureProbability
p := fd.FailureProbability()
println("failure probability is", p)
}
Frequently Asked Questions
What is failured?
failured is a Distributed Systems library for the Go programming language. adaptive accrual failure detector for distributed systems
How do I install failured?
Install failured with the Go module system using `go get andy2046/failured`. Check the repository for the current installation instructions.
What category does failured belong to?
failured is listed under Distributed Systems, specifically Distributed Systems.