We are using helm to deploy neo4j on a kubernetes cluster starting with this repo:
And i wonder if the applications/drivers need 'direct' access to read replicas (to distribute reads) or only core servers that then use read replicas to process and return queries to apps ?
because they do not seems to be accessible from apps outside of the namespace, when advertising: "bolt://neo4j-replica-3562563584-sckr8:7687"in the routing table.
Thanks for your help,
Typically you want apps to be able to talk to read replicas so that bolt+routing can route a read query to a replica if need be. There are special cases where this isn't desirable though. Read-only workloads for example which use a lot of CPU and memory you might want to never hit the core nodes and only go to the read replicas.
There are special considerations for bolt+routing in kubernetes though, make sure to have a look:
So, read replicas should advertised a fqdn in the k8s cluster, like:
bolt://neo4j-replica-3562563584-sckr8.neo4j-replicas.neo4j.svc.cluster.local:7687, like the cores do, right ? (to be available for apps outside of the neo4j namespace), not just: