Pergunta

Temos um sistema existente que se conecta ao back -end via HTTP (Apache/SSL) e pesquisou o servidor para novas mensagens, escusado será dizer que temos problemas de escalabilidade.

Estou pesquisando sobre a remoção desta pesquisa e encontrei o BOSH/XMPP, mas não tenho certeza de como devemos pegar a técnica do BOSH (usando a conexão HTTP de longa duração).

Vi que existem poucas bibliotecas disponíveis, mas a coisa toda parece inchada, pois não precisamos de listas de amigos etc. e simplesmente queremos notificar os clientes das mensagens disponíveis.

O cliente está escrito em C/C ++ e funciona na maioria dos sistemas operacionais, por isso é um fator importante. O servidor está em Java.

O BOSH resulta em um grande número de processos HTTPD? Como precisa manter todos os clientes conectados, qual seria o limite nisso. Também estamos planejando mudar para 64 bits JVM/Apache, qual seria o limite máximo dos clientes nesse caso.

Alguma dica?

Foi útil?

Solução

Eu notaria que Bosh é separado do XMPP, então não há "listas de amigos" envolvidas. XMPP-Over-Bosh é o que você está pensando lá.

Dar uma olhada em collecta.com e posts associados do blog (provavelmente por Jack Moffitt) sobre como eles usam o BOSH (e também o XMPP) para fornecer informações em tempo real a um grande número de usuários.

Quanto aos problemas de escala com o Apache, não sei - presumivelmente cada conexão está usando poucos recursos, para que você possa aumentar o número de conexões por processo do Apache. Mas você também pode conferir algumas das tecnologias do Connection Manager (como o Punjab) mencionadas na página do Bosh acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top