O melhor caminho é totalmente subjetivo.
Para mim, a melhor maneira é, seja qual for de forma confiável e verificável, obter o arquivo do ServerA para o ServerB, usando as ferramentas com as quais estou mais familiarizado / posso dar suporte mais facilmente.
Como tal, eu enviaria o arquivo (no seu caso, provavelmente com rsync) e um arquivo hash associado (MD5, SHA1, etc) e, em seguida, o trabalho em sua tarefa ServerA para fazer isso automaticamente. Em seguida, eu iria trabalhá-lo em seu trabalho ServerB para verificar o arquivo de dados usando o arquivo de hash e continuar o processo.
Eu provavelmente também gostaria de garantir que o ServerB não comece a trabalhar em um arquivo parcialmente transferido, então eu provavelmente recorreria a copiar para um diretório 'staging' no ServerB, e então mover para um diretório 'ready' - escolhendo apenas para pesquisar ou inotificar o diretório "pronto".
Depois que isso acontecer, seu trabalho imediato estará concluído e você poderá continuar com os principais marcos de seu projeto e voltar a acelerar o transporte mais tarde.
O máximo que posso fazer nos estágios iniciais é estruturar os diretórios no ServerA, para que eu possa dizer o que está sendo gerado no ServerA e o que está sendo copiado para o ServerB; provavelmente com um diretório 'pendente' no qual o ServerA grava, um diretório 'copiando' para o qual o ServerA move o arquivo final e do qual os processos hashing / rsync pegam o arquivo, e um diretório 'archive' para o qual o ServerA move o arquivo é feito copiando para o ServerB. Dessa forma, posso ter uma idéia aproximada da latência / tamanho da fila, verificando o número de arquivos na pasta "copiar".
Se você achar que precisa melhorar os tempos de transferência, provavelmente descobrirá que otimizar sua pilha de rede será a melhor maneira de fazê-lo. Canais mais gordos entre os servidores estarão em ordem (por exemplo, atualizando 100Mb / s para 1Gb / s ou mesmo 10Gb / s). Você pode ser tentado a unir várias interfaces de rede, mas, se fizer isso, certifique-se de que seu algoritmo de ligação não esteja escolhendo a mesma interface sempre com base em endereços IP de origem e de destino (ou outros critérios que não mudem - mesmo A porta IP + para o destino IP + porta não oferecerá maior rendimento, a menos que você possa abrir várias conexões simultâneas a partir de diferentes portas de origem e paralelizar o processo de cópia).
Se você ainda achar o transporte um gargalo proibitivo, procure eliminá-lo no caminho de atualização. Tente refatorar para que os trabalhos no ServerA e no ServerB possam ser executados pelo ServerC mais novo e robusto. Se for que é importante para o gerenciamento que esses arquivos sejam processados rapidamente, será um tempo de revisão do projeto bastante fácil de vender.