Home | Documentation (v4) | Documentation (v3) | Community forum

Architecture

A typical ChirpStack deployment has the following architecture. Note that in this diagram, the ChirpStack Gateway Bridge is both installed on one of the gateways as on the server to highlight both connectivity options. This is not a requirement.

Gcluster_0Cloud / server / VMcluster_1LoRa® Gatewaycluster_2LoRa® Gatewaycluster_3LoRa® Gatewaycluster_5IntegrationschirpstackChirpStackpub-subMQTT brokerchirpstack->pub-subMQTThttp-intHTTPchirpstack->http-intmqtt-intMQTTchirpstack->mqtt-intother-intEtc ...chirpstack->other-intchirpstack-gateway-bridge-cloudChirpStack Gateway Bridgechirpstack-gateway-bridge-cloud->pub-subMQTTchirpstack-gateway-bridge-gwUDP Packet Forwarder +ChirpStack Gateway Bridgechirpstack-gateway-bridge-gw->pub-subMQTTpacket-forwarder-gw2UDP Packet Forwarderpacket-forwarder-gw2->chirpstack-gateway-bridge-cloudUDPpacket-forwarder-gw3Basics Stationpacket-forwarder-gw3->chirpstack-gateway-bridge-cloudWebsocketsas-api-clientAPI clientas-api-client->chirpstackgRPC

Multi-region example 1

This example displays a multi-region ChirpStack installation (EU868 and US915) using a single MQTT broker. Please note the MQTT prefix. In this case for US915 the prefix us915_0 is used, indicating that this region uses the first 8 channels of the US915 region (the prefix is user-configurable). To keep the diagram simple, some elements of the previous diagram have been left out.

Gcluster_0Cloud / server / VMcluster_1LoRa® Gateway (EU868)cluster_2LoRa® Gateway (EU868)cluster_3LoRa® Gateway (US915)cluster_4LoRa® Gateway (US915)chirpstackChirpStackpub-subMQTT brokerchirpstack->pub-subMQTTchirpstack-gateway-bridge-cloud-eu868ChirpStack Gateway Bridge (EU868)chirpstack-gateway-bridge-cloud-eu868->pub-subMQTTeu868/gateway/...chirpstack-gateway-bridge-cloud-us915ChirpStack Gateway Bridge (US915)chirpstack-gateway-bridge-cloud-us915->pub-subMQTTus915_0/gateway/...chirpstack-gateway-bridge-gw-eu868UDP Packet Forwarder +ChirpStack Gateway Bridgechirpstack-gateway-bridge-gw-eu868->pub-subMQTTeu868/gateway/...packet-forwarder-gw2-eu868UDP Packet Forwarderpacket-forwarder-gw2-eu868->chirpstack-gateway-bridge-cloud-eu868UDPchirpstack-gateway-bridge-gw-us915UDP Packet Forwarder +ChirpStack Gateway Bridgechirpstack-gateway-bridge-gw-us915->pub-subMQTTus915_0/gateway/...packet-forwarder-gw2-us915UDP Packet Forwarderpacket-forwarder-gw2-us915->chirpstack-gateway-bridge-cloud-us915UDP

Multi-region example 2

As an alternative to the previous diagram, it is also possible to setup a separate MQTT broker per region. In this it is no longer a requirement to use the region prefix in the MQTT topic.

Gcluster_0Cloud / server / VMcluster_1LoRa® Gateway (EU868)cluster_2LoRa® Gateway (EU868)cluster_3LoRa® Gateway (US915)cluster_4LoRa® Gateway (US915)chirpstackChirpStackpub-sub-eu868MQTT broker EU868chirpstack->pub-sub-eu868MQTTpub-sub-us915MQTT broker US915chirpstack->pub-sub-us915MQTTchirpstack-gateway-bridge-cloud-eu868ChirpStack Gateway Bridge (EU868)chirpstack-gateway-bridge-cloud-eu868->pub-sub-eu868MQTTchirpstack-gateway-bridge-cloud-us915ChirpStack Gateway Bridge (US915)chirpstack-gateway-bridge-cloud-us915->pub-sub-us915MQTTchirpstack-gateway-bridge-gw-eu868UDP Packet Forwarder +ChirpStack Gateway Bridgechirpstack-gateway-bridge-gw-eu868->pub-sub-eu868MQTTpacket-forwarder-gw2-eu868UDP Packet Forwarderpacket-forwarder-gw2-eu868->chirpstack-gateway-bridge-cloud-eu868UDPchirpstack-gateway-bridge-gw-us915UDP Packet Forwarder +ChirpStack Gateway Bridgechirpstack-gateway-bridge-gw-us915->pub-sub-us915MQTTpacket-forwarder-gw2-us915UDP Packet Forwarderpacket-forwarder-gw2-us915->chirpstack-gateway-bridge-cloud-us915UDP