41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
|
## ADR #0008: Heartbeat monitors are used to monitor availability
|
||
|
|
||
|
1. **What did you decide?**
|
||
|
|
||
|
An Heartbeat monitor shall be used to monitor availability of the engine components of SmartHut.
|
||
|
|
||
|
2. **What was the context for your decision?**
|
||
|
|
||
|
Given the existent of three different engine components, the availability monitor strategy shall
|
||
|
minimize network traffic so at not to overload the network between the three components. The chosen
|
||
|
strategy shall also be able to effectively give a reasonable indication of availability of each engine
|
||
|
component of SmartHut, so that the health of the SaaS deployment (and even of the user-controlled
|
||
|
deployments) may be checked by a dashboard page.
|
||
|
|
||
|
3. **What is the problem you are trying to solve?**
|
||
|
|
||
|
Which is the most effective and network-concious technique to monitor availability of engine components of SmartHut?
|
||
|
|
||
|
4. **Which alternative options did you consider?**
|
||
|
|
||
|
- Watchdog monitor
|
||
|
- Heartbeat monitor
|
||
|
|
||
|
5. **Which one did you choose?**
|
||
|
|
||
|
- Heartbeat monitor
|
||
|
|
||
|
6. **What is the main reason for that?**
|
||
|
|
||
|
An heartbeat monitor implementation requires half the amount of messages between the monitoring component and
|
||
|
the component to check. With an appropriate clock, a heartbeat monitor can be as effective as a watchdog monitor
|
||
|
to check availability of engine components.
|
||
|
|
||
|
Pros:
|
||
|
- Less network traffic
|
||
|
- Easier to implement
|
||
|
|
||
|
Cons:
|
||
|
- Implementation of services is "active" (i.e. aware of the need to signal availability)
|
||
|
- Power users with a personal deployment who do not wish to deploy an availability monitor are subjected to additional
|
||
|
network traffic
|