In a cluster environment, we could speed up reading if the cache(s) broadcast data to other instances. This would avoid bottlenecks at the storage layer (MongoDB, RDBMs).
The configuration metadata (IP addresses and ports of where to send data to, a unique identifier of the repository and the cluster nodes, possibly encryption key) rarely changes and can be stored in the same place as we store cluster metadata (cluster info collection). That way, in many cases no manual configuration is needed. We could use TCP/IP and / or UDP.