La mayoría depende de los requisitos específicos del proyecto. La escalabilidad en términos de cantidad de nodos es uno si ellos y parece que desea realizar un sistema centralizado, por lo que la lógica del cliente solo presentará datos. En este escenario, sugeriré el protocolo AMQP, una de sus implementaciones es RabbitMQ. AMQP o JMS están destinados a ser utilizados en middleware empresarial y resuelven muchos problemas que puede enfrentar en este escenario, por lo que para una conversación simple, la dificultad y el enfoque inicial pueden generar una gran sobrecarga en términos de trabajo. Si el único enfoque es la escalabilidad de la red, el enfoque básico podría ser una biblioteca como Netty, está desarrollada por JBoss, está escrita en Java y permite a los desarrolladores implementar servidores escalables simples con API única utilizando muchos protocolos. El protocolo utilizado es aproximadamente transparente para el desarrollador. Por ejemplo, desarrollé con algunas líneas de código y con una arquitectura robusta y mantenible un servidor de chat multiprotocolo con protocolos de socket estándar Websocket y TCP, en este caso el cliente puede ser de cualquier tipo.
Quiero construir un sistema de chat que pueda servir a miles de personas en el mismo canal mientras que aloje varios canales que también puedan albergar la misma cantidad. Conozco los conceptos básicos de la programación del servidor en Java, pero no estoy seguro de qué técnica debo usar para permitir tantas conexiones.
Related Content
Recuerdo un componente del proyecto que utilizamos para transmitir resultados deportivos a cualquier número de clientes conectados. Utilizó la API del servicio de mensajería Java.
En general, esa transmisión de datos fue solo el uso creativo de un servidor de chat distribuido que utiliza JMS, por lo que también debería ser capaz de comunicarse de dos maneras con cualquier número de clientes específicos. Solo para notar que no escribí esta aplicación, sino que simplemente la usé como un componente para nuestros propios fines.
Multihilo y tomas de corriente.
Prueba esos.
Además, esto parece una quinteesencia del servidor web. Solo revise algún código fuente de JBoss o Resin.
Aprende Erlang
Prueba Erlang o Golang. Los dos idiomas son muy fáciles de manejar conceptos de tipo multiproceso.
More Interesting
Necesito crear una página web propia. ¿Cuál es la mejor manera de hacerlo?
En MailChimp, ¿cómo centras el botón de enviar?
¿Podría una sola persona hacer su propio navegador web si tuviera un título en Informática?
Quiero que mi blog sea profesional y limpio, ¿cuál es mi mejor opción en la creación de sitios web?