I have searched for similar questions, but they are related to older versions of ChirpStack.
In order to scaling and making ChirpStack HA, we must make HA all its components.
Regarding the main fundamental components:
chirpstack: it is not clear if this component can be replicated safely, since it interacts with postgeres, redis, etc.
chirpstack-gateway-bridge: this seems to interact with the MQTT broker and the gateways, so maybe it can be scaled by putting it behind a load balancer w.r.t. the gateways. Not sure regarding the the broker
chirpstack-rest-api: not clear if it is completely stateless
other components: out of scope! It is not a ChirpStack issue to make the broker or the DB HA
So, can someone clarify if there is a reliable way to deploy ChirpStack in HA?
Deploy multiple chirpstack instances without any issue, as long as they point to the same databases (PostgreSQL + Redis).
You may be able to deploy multiple chirpstack-gateway-bridge instances but be careful how the UDP data is routed by your loadbalancer. In case of UDP data from a single gateway should always go to the same GW Bridge instance (because the GW Bridge keeps a state to know which gateways it is serving)
The chirpstack-rest-api is completely stateless, so you can also deploy multiple instances
thank you for the reply.
Unfortunately I do not see any simple way to ensure the routing for the UDP data of chirpstack-gateway-bridge to always go to the same instance. So this is the only weak point. Maybe this could be a feature for the future releases.
The other components are stateless or with the state stored on external DB’s, so they can be easily scaled: good news