Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rabbitmq/aten
An adaptive accrual node failure detection library for Elixir and Erlang
https://github.com/rabbitmq/aten
distributed-systems elixir erlang failure-detection
Last synced: 4 days ago
JSON representation
An adaptive accrual node failure detection library for Elixir and Erlang
- Host: GitHub
- URL: https://github.com/rabbitmq/aten
- Owner: rabbitmq
- License: other
- Created: 2018-01-31T13:51:46.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-01-03T14:18:09.000Z (about 1 year ago)
- Last Synced: 2025-01-14T13:12:27.492Z (11 days ago)
- Topics: distributed-systems, elixir, erlang, failure-detection
- Language: Erlang
- Homepage:
- Size: 192 KB
- Stars: 50
- Watchers: 20
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - rabbitmq/aten - An adaptive accrual node failure detection library for Elixir and Erlang (Erlang)
README
# Aten
This is an implementation of [A New Adaptive Accrual Failure Detector for Dependable Distributed Systems](https://dl.acm.org/citation.cfm?id=1244129)
for distributed Erlang.Aten is an essential dependency of [Ra](https://github.com/rabbitmq/ra).
## Project Maturity
`aten` is a reasonably mature project that has been used in production
for a few years. Breaking public API changes are unlikely.## Build Status
![Actions](https://github.com/rabbitmq/aten/actions/workflows/tests.yml/badge.svg)
## Use
``` erl
%% start the aten application if not part of a release
{ok, _Apps} = aten:start(),
%% register interest in status changes for a node
ok = aten:register(node1@host),
%% receive status change events
receive
{node_event, node1@host, down} -> ok;
{node_event, node1@host, up} -> ok
end%% deregister interest
ok = aten:deregister(node1@host),
```## Build
``` shell
gmake
```Or with Rebar 3
``` shell
rebar3 compile
```## License
`aten` is [dual-licensed](./LICENSE) under the Mozilla Public License 2.0
and the Apache Public License 2.0.(c) 2017-2024 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.