Fórum Alta demanda de clientes via SOCKETS #456691
25/09/2013
0
Olá Pessoal, boa noite
Estou recentemente trabalhando em um projeto, usando Java, e preciso criar um servidor que suporte um alto número de informações enviadas via socket, por muitos clientes diferentes (em torno de 1 milhão de clientes ativos)
Estes clientes enviam uma informação simples a cada 5 minutos para o servidor, estas informações devem ter um processo de "Parse", devem ser associadas a um cliente, e então persistidas no banco.
Pesquisando sobre o assunto,e analisando tecnologias a serem utilizadas, pensei na seguinte solução:
- Criar um Servidor usando Netty (acionado por um Singleton EJB), responsável apenas por obter a informação do socket.
- em seguida usando outra classe (Worker/ EJB ?) faço o Parse, associo ao cliente, criando um Objeto desejado e coloco em uma fila JMS.
- outros EJBs retiram as informações da fila persistem no banco.
Esta solução não parece ter uma boa performance, mas me pareceu ser boa em evitar gargalos, devido a alta demanda, no pior caso o tempo de persistência no banco irá demorar, mas o Sistema não será impactado.
Vou utilizar MySQL para o projeto.
Alguma sugestão?
Estou recentemente trabalhando em um projeto, usando Java, e preciso criar um servidor que suporte um alto número de informações enviadas via socket, por muitos clientes diferentes (em torno de 1 milhão de clientes ativos)
Estes clientes enviam uma informação simples a cada 5 minutos para o servidor, estas informações devem ter um processo de "Parse", devem ser associadas a um cliente, e então persistidas no banco.
Pesquisando sobre o assunto,e analisando tecnologias a serem utilizadas, pensei na seguinte solução:
- Criar um Servidor usando Netty (acionado por um Singleton EJB), responsável apenas por obter a informação do socket.
- em seguida usando outra classe (Worker/ EJB ?) faço o Parse, associo ao cliente, criando um Objeto desejado e coloco em uma fila JMS.
- outros EJBs retiram as informações da fila persistem no banco.
Esta solução não parece ter uma boa performance, mas me pareceu ser boa em evitar gargalos, devido a alta demanda, no pior caso o tempo de persistência no banco irá demorar, mas o Sistema não será impactado.
Vou utilizar MySQL para o projeto.
Alguma sugestão?
Mario Giolo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)