Entiendo el propósito de FastCGI en términos de rendimiento sobre otras interfaces de puerta de enlace. Pero si las bibliotecas que implementan FastCGI ya tienen que pasar por las medidas meticulosas de implementar un servicio TCP seguro y eficiente, ¿por qué no simplemente escribir aplicaciones como un servidor web? ¿Es menos eficiente para un servidor web front-end implementar un proxy inverso que para FCGI? ¿O la especificación para FCGI es mucho más simple que la de HTTP?¿Por qué implementar una aplicación web como FastCGI en lugar de un nuevo servidor web?
Respuesta
Tenía un programa de servidor web que reemplacé con un programa FCGI. Parte de la razón por la que lo hice fue debido a los requisitos del programa. Tenía que ejecutarse bajo el servidor web existente, ya que hacerlo no requeriría ninguna configuración adicional.
Otro requisito era que podría rastrear algunos valores de estado que pueden cambiar con frecuencia. El programa existente no era muy eficiente, rastreando estos valores de estado externamente y haciendo una carga nueva de ellos para cada solicitud. Una ventaja de un programa FCGI es que es persistente, por lo que podría sondear esos valores de estado y estarían disponibles y listos para cada solicitud.
No tenía aplicado ninguna de las especificaciones FCGI, acabo de utilizar una biblioteca FCGI existente y se maneja toda la comunicación con el servidor web para mí. En comparación con otras aplicaciones que he escrito que tienen un servidor web incorporado, la implementación de una con la biblioteca FCGI fue relativamente simple.
Otra ventaja de FCGI es que una aplicación FCGI no necesita residir realmente en un disco accesible para el servidor web. Puede configurar el servidor para establecer una conexión TCP a una instancia de su aplicación FCGI en otro servidor. Si se encuentra en una situación en la que no puede acceder directamente al servidor web, esto puede ser muy útil. Lograr lo mismo con otros métodos puede ser engorroso, pero una aplicación FCGI ni siquiera necesita modificarse. Simplemente configure el servidor, inicie su aplicación bajo el host FCGI, y estará listo.
Otra ventaja de FCGI es que puede configurar el servidor web para distribuir solicitudes entre un número preestablecido de instancias de su aplicación. Si su aplicación web funciona mejor al manejar cada solicitud sincrónicamente, FCGI es ideal porque puede canalizar cada solicitud en una sola instancia, y esa instancia puede manejar cada solicitud en un solo ciclo. Si desea como máximo 2, 3 o n instancias, todo lo que necesita hacer es cambiar el valor en el servidor y puede lograrlo.
Por lo tanto, FCGI no es el mejor para cada situación. Es el momento en que te enfrentas a requisitos inusuales que FCGI es más atractivo.
- 1. ¿Por qué los frameworks web sirven a través de FastCGI/SCGI, en lugar de HTTP?
- 2. Implementar la aplicación web como un ejecutable independiente
- 3. implementar una aplicación Web utilizando Microsoft.Web.Deployment
- 4. ¿Cómo implementar REST en una aplicación web?
- 5. ¿Cómo funciona FastCGI en un servidor web (por ejemplo, Apache 2.2+)?
- 6. Implementar el servicio web java sin usar el servidor web
- 7. ¿Cómo hacer un servidor web REST con Delphi como back-end para una gran aplicación web?
- 8. dispositivos IOS como servidor web
- 9. ¿Por qué FastCGI es rápido?
- 10. Un servidor web pequeño
- 11. Implementar aplicación web Java simple en Appfog
- 12. servicios web, aplicación web
- 13. ¿Cómo debo implementar mi ACL en una aplicación web?
- 14. ¿Aplicación web y servidor Python?
- 15. ¿Incrustar un servidor web liviano en una aplicación .net (node.js)?
- 16. implementar varias aplicaciones web en un mismo servidor
- 17. ¿Cómo implementar una aplicación web python con dependencias usando virtualenv?
- 18. ¿Qué es un ORM en una aplicación web?
- 19. Uso de aplicaciones FastCGI desde una aplicación C#
- 20. Aplicación web Java: ¿cómo implementar técnicas de almacenamiento en caché?
- 21. ¿Qué significa WEB-INF en una aplicación web Java EE?
- 22. ¿Es posible implementar una aplicación ASP.NET como aplicación de escritorio (con componente de servidor)
- 23. Ejecutar un servidor web Python como un servicio en Windows
- 24. Cómo implementar automáticamente la aplicación web
- 25. ¿Por qué actualizar el tiempo es tan importante para un servidor web como nginx?
- 26. Recursos web semánticos para un nuevo sitio web?
- 27. ¿Cómo implementar la aplicación web openId java?
- 28. ¿Qué utilizas para implementar tus aplicaciones web?
- 29. ¿IntelliJ tiene un servidor web interno para servir contenido estático de una aplicación web?
- 30. ¿Qué hace que una aplicación web sea una aplicación amigable?
Alguien votó para cerrar esta pregunta. Me gustaría saber el motivo. – andyortlieb
Hrm esta es una gran pregunta, siempre me he preguntado esto también. Votos votados con la esperanza de que alguien de ellos tenga una opinión. – HurnsMobile
Estoy interesado en saber también. FCGI es más simple que HTTP, pero no es necesario implementar la especificación HTTP completa para ser un servidor. Supongo que también FCGI es menos propenso a la configuración incorrecta que podría causar que el servidor de fondo maneje la carga completa. – voidvector