Replicante attempts to limit the number of required dependencies to avoid management overhead. On the other hand it is unwise to re-implement complex systems (such as databases) if there is no need.
In order to run, replicante requires the following:
Used to persist the information collected from agents, generated metadata, and any other permanent data that is required by replicante to implement its features.
Replcante supports high availability, machine failure tolerance, and horizontal scaling.
To achieve this Replicante runs multiple instances of the same process on different machines (or VMs).
A distributed coordinator is a system (itself also highly available) that allows the coordination of work across all processes as well as the re-distribution of work assigned to failed processes.
Events generated by Replicante are emitted onto a streaming platform. This provides two advantages:
Some features may rely on additional runtime dependencies. To keep the set of required dependencies to a minimum these features must be enabled explicitly.
The needed systems and configuration details are documented within the features that need them.