Multiplos Sockets abertos (+ de 1000)

Java

09/08/2010


  Pessoal, 
preciso desenvolver uma aplicação Web que seja um servidor, onde múltiplos equipamentos eletrônicos irão se conectar, no mínimo 1000 simultaneamente!!! Há clientes que tem projeto de usar mais 4000 equipamentos
Esse equipamentos conectam-se via internet e tem que ficar conectados 24 horas por dia, enviando uma mensagem de Keep Alive a cada 5 minutos +-

O servidor deve receber esses dados, muitas vezes eventos de arme e desarme de um alarme eletrônico e guardar em um banco de dados (Esses eventos são coletados posteriormente por outro software). 

Ou seja, o sistema tem que ser escalável, de alta disponibilidade e com balanceamento de carga.

Desenvolvi um sistema assim, mas não com a mesma dimensão e nem em Java.

Gostaria de migrar e peço orientação sobre quais tecnologias e ferramentas devo estudar e usar e como montar essa aplicação.
 Alguém me ajudaria ?

 Obrigado !!!
Aloisio Pinto

Aloisio Pinto

Curtidas 0

Respostas

Dyego Carmo

Dyego Carmo

09/08/2010

Fuja para as colinas !!!!

Não utilize a abordagem tradicional:

1 Socket = 1 Conexão...

Você terá sérios problemas de performance.... e de alocação de recursos...

Utilize a abordagem oferecida pela biblioteca NIO/NIO2 , ou se possivel utilizar servlets asincronas...

Lá com um pequeno numero de sockets voce atende MILHARES de requisicoes por segundo.


Valeu !
GOSTEI 0
POSTAR