El servidor (s) que acepta las solicitudes de API no puede ser sincrónico en el procesamiento de solicitudes, ya que solo puede atender de unos cientos a un par de miles de solicitudes por segundo con dicha arquitectura. (Incluso si sus servidores API están al frente de un equilibrador de carga, el rendimiento de la solicitud por servidor todavía sufre con un procesamiento sincrónico). Por lo tanto, debe buscar alguna forma de arquitectura asincrónica. Esto es especialmente importante para los casos en que su servidor actúa como un cliente, ya que no desea esperar la solicitud hasta que obtenga los datos de los servicios posteriores. Según su descripción, parece que Node.js es una plataforma ideal para basar su arquitectura. Sin embargo, todavía está en desarrollo temprano, por lo que hay algún riesgo involucrado. He usado Jetty con soporte de continuación anteriormente (servlets asíncronos) con una concurrencia mucho más alta que la implementación del mismo (bueno, no el mismo conjunto de servlets; entiendes la idea) en Tomcat. Entonces, si estás en Java, esto es ciertamente algo que debes considerar. Jetty es bastante estable y funciona con Google App Engine (aunque, como muchos otros, Google lo habría modificado para satisfacer sus necesidades, pero la arquitectura básica es bastante buena), por lo que está listo para la producción. No he usado Tornado, pero si estás en Python, deberías evaluar eso. Es uno de los llamados servidores C10K (http://en.wikipedia.org/wiki/C10…), por lo que debería ser bueno. Personalmente evaluaría node.js y haría una evaluación de riesgos antes de embarcarme en cualquier otro debido a su elegancia arquitectónica.
También debe considerar que sus servidores no tienen estado. Por lo tanto, cualquier solicitud de API puede ser manejada por cualquier servidor disponible sin ninguna afinidad. Por lo general, las sesiones de usuario se anclan a un servidor para que pueda almacenarse en caché y así sucesivamente, pero eso funcionaría negativamente cuando necesite admitir una gran cantidad de sesiones simultáneas.
- ¿Qué tipo de aplicaciones web simples y completas pueden construir un principiante en PHP para mejorar sus habilidades?
- ¿Qué posibilidades hay de que los bots reemplacen sitios web y aplicaciones?
- ¿Cuál es el marco más útil para usar para aplicaciones del lado del cliente con una API de reposo de nodo?
- ¿Es posible iniciar sesión en un sitio a través de una aplicación web, incluso si ese sitio no tiene una API?
- ¿Cuál es la diferencia entre desarrollo web y diseño web?