Description
In the Aeron cluster, I want to send some messages outside the cluster (e.g., messages after order matching succeeds) and ensure external services can replay previously missed messages after a restart.
In this question, I learned that a separate channel is needed to send messages, such as aeron:udp?control-mode=dynamic|control=MDC_HOST:MDC_CONTROL_PORT
.
To allow external services to replay messages, I need to use an archive to record messages on this channel (as suggested in the answer to this question). However, each node in the cluster has its own archive. Therefore, my cluster client must connect to most of the archives in the cluster and perform a ReplayMerge (if only subscribing to one node's archive, replay would fail if that node crashes, even if the cluster as a whole remains available).
Is this approach correct? Must I deal with such complexity?