2010-08-17 8 views
19

El único lugar donde encontré información en el servidor web G-WAN fue el project web site y se parecía mucho a la publicidad.¿Alguien tiene experiencia de primera mano con el servidor web G-WAN?

Lo que realmente sabría es, para alguien que sea competente con C, si es tan fácil de usar y amplía esas otras arquitecturas. Por ahora, me centraría principalmente en las habilidades de scripting.

¿Son fáciles de escribir las secuencias de comandos C en GWAN? ¿Se puede actualizar y cargar fácilmente nuevas secuencias de comandos C en el servidor (digamos tan fácilmente que algunas páginas de PHP o Java en otras arquitecturas)? ¿Tienes que reiniciar el servidor cuando lo haces? ¿Se puede ampliar fácilmente con bibliotecas C de terceros o existentes?

Cualquier otro comentario de bienvenida.

Respuesta

16

Bueno, ahora G-WAN está disponible bajo Linux, lo estoy usando por más de 6 meses.

Los scripts C son totalmente compatibles con ANSI C, por lo que no hay diferencia para cualquier programador C gastado.

Para actualizarlos en el servidor, puede editarlos directamente en la carpeta/csp (de forma remota mediante SSH) o localmente en una máquina de prueba (y cópielos más tarde): G-WAN recarga scripts sobre la marcha cuando se han cambiado en el disco (no se requiere detener el servidor).

Los scripts de G-WAN C pueden usar cualquier biblioteca existente (comenzando con todas aquellas en/usr/lib) sin ninguna configuración o interfaz: solo tiene que escribir un 'enlace #pragma' seguido del nombre de la biblioteca en la parte superior de tu script

Lo que encontré realmente útil es la capacidad de editar scripts C y actualizar la vista en el navegador de Internet para ver cómo funciona mi código.

Si hay un error de compilación, entonces G-WAN genera la línea en el código fuente (como cualquier otro compilador de C).

Pero donde entra en el área extraordinaria, es cuando se produce un error de script C: aquí también te da EL NÚMERO DE LÍNEA EN EL CÓDIGO DE ORIGEN (con la llamada defectuosa y la traza inversa).

Tipo de black-magic cuando está acostumbrado a los módulos de Apache.

12

Mi experiencia con G-WAN y sus secuencias de comandos de C son:

  • La comunidad G-WAN es muy pequeño. Las preguntas que tienes son en su mayoría respondidas por su único desarrollador.
  • Considero que la API no está madura: no es tan "limpia" como las API de Java.
  • La limitación, pero al mismo tiempo el poder, de C: es un lenguaje de programación de sistemas. Así que escribir la lógica de la aplicación en él debe hacerse con cuidado.
  • por lo general necesita ser un desarrollador buena para conseguir buenos resultados: si haces algo mal, el servidor se bloquea (al estilo Unix) rápido y duro.

He escrito algunas secuencias de comandos ahora, para probar G-WAN. En general, ha sido muy "productivo": no hay muchos errores y funciona si sigues las directrices y no quieres hacer demasiadas cosas funky que esperas tener, como servidores web maduros. Sin embargo, tengo la sensación de que estoy reinventando la rueda muchas veces.

5

G-WAN también admite scripts escritos en otros lenguajes de programación (C++, Objective-C, Java, etc.) para que se beneficie de las bibliotecas nativas que implementa cada idioma.

Para las secuencias de comandos C, el directorio /usr/lib enumera más de 1.500 bibliotecas que G-WAN puede volver a utilizar con un simple #pragma link "library".

¡Me pareció estupendo poder escribir una aplicación web con una parte en C, otra en C++ y una tercera en Java!

2

El punto de referencia muestra cómo a G-wan le va mal en el manejo de estas pruebas.

http://joshitech.blogspot.sg/2012/04/performance-nginx-netty-cppcms.html

+2

Apperently @ Proyb2 no leyó las críticas de esta prueba. De los comentarios: –

+0

@Anonymus usuario: nginx es un servidor de subproceso único. GWan es un servidor multiproceso. Entonces, usar ApacheBench (single-threaded) para probar GWan es idiota:. . . Los servidores de un solo subproceso son para CPU de un solo núcleo. El último se hizo en el año 2004. –

+0

@Otro usuario anónimo: Algo debe estar mal con sus pruebas, ¿sabe lo que puede ser? –

0

he utilizado G-wan para algunas pruebas preliminares y lo hace así referencia. He encontrado algunos puntos de preocupación que hacen que no sea probable que lo use para ninguno de mis proyectos. He descubierto que parece almacenar respuestas en caché durante aproximadamente 0,5 segundos para acelerar las respuestas por segundo y no puedo permitir que solo algunas de las respuestas lleguen al código de la aplicación. Además, el almacén de claves/valores es ideal para la memoria caché y el almacenamiento de datos temporales, pero no estoy seguro de qué tan bien funcionará como un método de almacenamiento real de back-end.

+1

La vida útil del microcaché es de 0.2 segundos, y esta es una característica opcional REPOSO: http://gwan.com/faq#cache – Gil

1

He estado usando G-Wan durante aproximadamente dos años. Lo considero altamente estable y listo para producción para archivos estáticos. Tengo una cantidad de sitios estáticos que se ejecutan durante más de un año sin problemas.

He creado algunos sitios dinámicos de pequeña escala en C como demos/proyectos de prueba. Un rastreador de bittorrent y una plataforma de análisis en tiempo real que usan KV Store para el respaldo de datos.

En mi opinión, la creación de sitios dinámicos a gran escala en G-Wan es posible, pero solo con una importante inversión en desarrollo y soporte. G-Wan es más adecuado para crear aplicaciones robustas y altamente escalables de "nivel empresarial" que lanzar algo juntos durante un fin de semana.

Cuestiones relacionadas