Outra questão de arquitetura de alto nível. Uau 2 em um dia. Me sinto especial.
Seja o que for que você faz, tem que ser rápido e leve.
Eu provavelmente teria uma brincadeira com um servidor controlado por eventos. Node.js parece que pode ser um bom candidato para isso.
Não se preocupe muito com o número de conexões simultâneas ou com a taxa de transferência de dados.
A linguagem certa a usar é a que você conhece melhor, mas uma com algumas bibliotecas HTTP decentes também seria legal.
Sim. Provavelmente deveria haver multithreading, certamente se o design exigir isso. Veja .. Você precisa projetar o software primeiro e depois pensar nos sistemas abaixo.
Talvez comece com uma folha grande de papel e um lápis e anote tudo o que você quer, até que você a) fique sem coisas, ou b) fique sem lápis.
Depois, pesquise como fazer todas essas coisas.
Em seguida, contrate pessoas que saibam o que estão fazendo. Parece que você está tentando fazer tudo de uma vez só.