Os caches tradicionalmente passam na frente do balanceador de carga, pois o balanceador de carga existe para mitigar os servidores de aplicativos lentos e o cache procura atenuar a execução do servidor de aplicativos. A desvantagem é que um cluster do tipo Raspi pode não ter muitos recursos para manter caches grandes.
O tempo em que você quer colocar o Varnish para trás do balanceador de carga é quando você precisa distribuir um cache em várias máquinas, seja para tolerância a falhas ou para reduzir os requisitos de armazenamento. Por exemplo, um balanceador de carga configurado para hash com base na URL de solicitação é capaz de garantir que todas as solicitações de "cat" vão para a máquina A, enquanto as solicitações de "dog" vão para a máquina B, caso você queira contar com um cache grande, mas não cabe tudo em um dos pequenos dispositivos ARM.