High availability for StreamingFast Firehose components
A Relayer connected to multiple Readers will deduplicate the incoming stream and push the first block downstream.
Highly available systems usually connect to the Relayer component to receive real-time blocks. Merged blocked files are used when Relayer components can't provide the requested data or satisfy a range.
Firehose can be scaled horizontally to provide a highly available system.
The network speed and data throughput between consumers and Firehose deployments will dictate the speed of data availability.
When the Firehose gRPC Server component is connected to all available Relayer components the probability that all forks will be viewed increases. Inbound requests made by consumers will be fulfilled with in-memory fork data.
Understanding how data flows through Firehose is beneficial for harnessing its full power.