Hardware can fail at any time, and a Gateway is a piece critical enough to have redundancy of the service. Having a cluster of machines operating the service assures high availability.
KrakenD nodes are stateless and they don’t store data or application state to a persistent storage. Instead, any configuration data and application state exist within the configuration file. Nodes are expendable and replaceable at any time, as they do not hold anything.
Running the cluster
Running a cluster of machines is a straightforward process that only requires two conditions:
- Having a balancer in front of the machines (e.g., ELB, Haproxy)
- Run two or more KrakenD services
If you are in the cloud, something like an ELB or equivalent does the job. On-premises users can use HAProxy. When you have your load balancer in place, register all the KrakenD instances so they can start receiving traffic.
When all the desired nodes of KrakenD run, every instance honors its config and reports the traces and metrics to the services of your choice.
For best practices deploying KrakenD, see Deploying KrakenD