We want to make our Chirpstack setup a little more robust given an incident a while ago, where the server we were running Chirpstack on failed and our server provider had to roll the server back to an earlier snapshot. So we are trying to figure out how to create a High Availability solution for our Chirpstack setup.
I’ve read this post: https://forum.chirpstack.io/t/can-a-gateway-report-to-more-than-one-network-server/10888 and it seems a gateway can send data to multiple Chirpstack instances. That seems like what we want to achieve.
Edit: Here is a drawing of what I want to try:
The idea is to have two or more independent Chirpstack installations on separate servers. The gateway will send data to each server. If one server goes down, data will still be sent to the others. We have Apache NiFi for fetching data from the chirpstack_as_events database… if it can’t access the DB on server one, it will just get the data from the DB on server 2, etc. It does so in 1 minute intervals.
However, what about things like fcounters, device setup with appkeys and such, and so on? Doesn’t there need to be a “one point of truth”, that syncs the gateway with Chirpstack?
How would one go about setting up a resilient server setup, that can handle one or more server failures?