Geralmente, o balanceamento de carga por meio de réplicas é utilizado apenas quando clientes estão armazenando dados em cache que estão sendo alterados sempre ou quando os clientes estão utilizando bloqueio pessimista.
O eXtreme Scale, a menos que configurado de outra forma, envia todos os pedidos de leitura e gravação para o servidor primário para um determinado grupo de replicação. O primário deve atender todos os pedidos de clientes. É possível permitir que pedidos de leitura sejam enviados para réplicas do primário. Enviar pedidos de leitura para as réplicas permite que o carregamento dos pedidos de leitura seja compartilhado por várias Java Virtual Machines (JVM). No entanto, utilizar réplicas para pedidos de leitura pode resultar em respostas inconsistentes.
Geralmente, o balanceamento de carga por meio de réplicas é utilizado apenas quando clientes estão armazenando dados em cache que estão sendo alterados sempre ou quando os clientes estão utilizando bloqueio pessimista.
Se os dados estiverem sendo alterados continuamente e sendo invalidados no cliente, caches locais e o primário deverão ver uma taxa relativamente alta de pedidos get de clientes como resultado. Da mesma forma, no modo de bloqueio pessimista, não existe cache local, portanto, todos os pedidos são enviados para o primário.
Se os dados forem relativamente estáticos ou o modo pessimista não for utilizado, o envio de pedidos de leitura de réplicas não terá um grande impacto no desempenho. A frequência de pedidos get dos clientes com caches ativos não será alta.
Quando um cliente é iniciado pela primeira vez, seu near cache está vazio. Os pedidos de cache para esse cache vazio são redirecionados para o primário. O cache cliente obtém dados com o tempo, causando a eliminação deste carregamento de pedido. Se houver um grande número de clientes iniciados simultaneamente, este carregamento poderá ser significativo e a leitura de réplicas poderá ser uma opção de desempenho apropriada.