Embora seja mais fácil dividir solicitações em vários clusters quando você usa subdomínios, bons proxies reversos como haproxy e verniz são mais do que capazes de inspecionar a URL e decidir para onde enviar as solicitações. Além disso, você considerou não especializar servidores na camada de serviço da Web e permitir que todas as máquinas do servidor da Web manipulassem qualquer solicitação que recebesse? Isso evita o embaraçoso problema de julgar erroneamente sua distribuição de capacidade e ter que entrar em pânico em alguns servidores de um cluster para outro quando a carga muda de repente.
Você ainda pode se especializar em seu back-end se quiser - os bancos de dados de cluster são muito mais difíceis do que os servidores de cluster, afinal de contas - mas você tem a inteligência do seu aplicativo da Web à sua disposição para decidir onde faça os pedidos de back-end para.