Resin es un servidor web y un servidor de aplicaciones Java desarrollado por Caucho Technology . Actualmente, solo hay dos versiones disponibles: Resin ( GPL ), que es gratuita para uso en producción, y Resin Pro, diseñada para entornos empresariales y de producción con una tarifa de licencia. Resin es compatible con el estándar Java EE y cuenta con un motor similar a mod_php/ PHP llamado Quercus.
Resin (GPL) ofrece funcionalidades esenciales para el servicio web y de aplicaciones, mientras que Resin Pro incluye optimizaciones adicionales, como:
- Almacenamiento en caché integrado: Resin Pro incorpora mecanismos de almacenamiento en caché integrados para mejorar el rendimiento.
- Agrupamiento: Resin Pro admite agrupamiento público, privado o híbrido, lo que mejora la escalabilidad y la redundancia.
- Sistema Avanzado de Administración y Salud: Proporciona un sistema avanzado de administración y monitoreo de salud para una gestión eficiente del servidor.
- Replicación de sesión HTTP: garantiza una alta disponibilidad al replicar sesiones HTTP en múltiples instancias de servidor.
- Replicación de caché distribuida: mejora el rendimiento de la aplicación al replicar datos almacenados en caché en un entorno distribuido.
- Informes de diagnóstico y recuperación automática: Resin Pro ofrece mecanismos de recuperación automática e informes de diagnóstico detallados para ayudar a solucionar problemas .
Aunque Resin se basa principalmente en Java, los componentes críticos de su infraestructura de red están escritos en C optimizado, lo que proporciona un equilibrio entre características y rendimiento. Lanzado en 1999, Resin tiene una larga trayectoria, lo que lo convierte en uno de los servidores de aplicaciones y servidores web más maduros y consolidados.
Características del producto
Resin Pro ha sido diseñado para incluir:
- Agrupamiento dinámico: el bloqueo se reemplazó con operaciones atómicas sin bloqueo, eliminando cuellos de botella de contención, mejorando el rendimiento async/epoll y reduciendo la sobrecarga de subprocesos para manejar 100 000 solicitudes por segundo.
- Compatibilidad con la nube: un solo comando puede agregar o eliminar miembros del clúster elástico. La topología del clúster, el equilibrio de carga, el almacenamiento en caché, la mensajería y la administración se adaptan automáticamente a los servidores dinámicos.
- PHP compilado en la JVM: mejora el rendimiento, la escalabilidad y la seguridad de las aplicaciones PHP al permitir que el código PHP llame a objetos Java directamente.
- Seguridad a través de la integración de OpenSSL: un marco de seguridad integral para la autenticación de aplicaciones, autorización y seguridad basada en SSL a nivel de transporte;
- Balanceador de carga de software inteligente: la carga de la aplicación se comparte entre los recursos automáticamente para equilibrarlos.
- Caché de proxy: el almacenamiento en caché de Java puede mejorar el rendimiento de la aplicación al guardar los resultados de cálculos largos y reducir la carga de la base de datos y el tiempo de respuesta de la aplicación.
Escalabilidad
- Compatibilidad con clústeres elásticos y nube [2]
- Agrupamiento de tercera generación optimizado para implementaciones de Virtualization 2.0, EC2 y OpenStack [3]
- Replicación de sesión
- Equilibrio de carga
- Caché distribuido
Desarrollo
- Recopilación de clases
- Análisis de montón y creación de perfiles JIT
- No requiere GUI
- Compatibilidad con JUnit
- Administrador web
- Soporte de DevOps a través de CLI y control REST de Resin
- Integración de Apache Ant / Maven / Ivy
- Integración IDE
- Gestión flexible de proyectos
- Explotación florestal
Listo para producción
- Fiabilidad
- Monitoreo de servidores
- Implementación / Implementación en la nube
- Implementación con versiones
- Fusionar rutas
- Ayudas para la resolución de problemas
- Informes de estado del servidor, elaboración de líneas de base e informes post mortem [5]
- Estrangulamiento
Servidor de aplicaciones
- Certificado con perfil web Java EE, [6] [7]
- Interfaz Java CDI [8]
- Soporte de transacciones
Servidor web [9]
- Archivos estáticos/ JSP / Servlet / JSF
- Registro de acceso extensible
- Reescritura de URL
- Almacenamiento en caché de proxy (similar a Squid)
- Compresión Gzip
- SSL
- Anfitriones virtuales
- Cometa / Servidor push
- WebSocket
- Soporte tipo mod-php a través de Quercus
- CGI rápido
Uso
La cuota de mercado de Resin es pequeña en el gran esquema de servidores de aplicaciones Java, pero algunos sitios de alto tráfico lo utilizan, como la Bolsa de Valores de Toronto, Salesforce.com, Condé Nast (empresa matriz de Wired, Vogue, GQ) y CNET. [10] La encuesta de febrero de 2012 de NetCraft afirmó que Resin creció a 4.700.000 sitios; Resin fue el único servidor web basado en Java mencionado. [11]
Una página de 2012 en un sitio wiki de Caucho describe un procedimiento de prueba, cuyos resultados muestran que Resin probó archivos de 0k (página HTML vacía), 1K, 8K y 64K bytes. En todos los niveles, Resin igualó o superó el rendimiento del servidor web Nginx . [12]
Quercus
Quercus es una implementación basada en Java del lenguaje PHP incluido en Resin. Según una presentación de diapositivas presentada por Emil Ong (de Caucho) en un grupo de Java Meetup de San Francisco en abril de 2008 en relación con Resin 3.1, una diferencia esencial en el funcionamiento de Quercus entre las ediciones Resin Open Source y Resin Professional es que en Resin Professional, el PHP se compila en bytecode de Java . Por el contrario, en la versión de código abierto, PHP se ejecuta mediante un intérprete . [13]
Caucho afirmó en 2007 que Quercus era más rápido que PHP 5 estándar (PHP 8 con JIT es mucho más rápido que versiones anteriores de PHP; PHP 5 ya no tiene soporte), [14] [15] aunque esto solo es cierto para la versión compilada con JIT en Resin Professional. [16] Quercus se entrega con Resin.
Licencias
Una licencia cubre todos los componentes de la arquitectura de Resin.
Resin se proporciona tanto con licencia GPL de código abierto como en una versión Pro con mejoras para empresas.
Véase también
Referencias
- ^ "Archivo de descargas de Resin Pro | Caucho".
- ^ "Paul Cowan analiza el servidor de aplicaciones Resin y la nube". Infoq.com. Archivado desde el original el 19 de octubre de 2012. Consultado el 25 de octubre de 2012 .
- ^ "Caucho: Compatibilidad con Resin Cloud: agrupación en clústeres de tercera generación para escalamiento de nube elástica" (PDF) . s3.amazonaws.com. Archivado (PDF) del original el 4 de abril de 2015 . Consultado el 25 de octubre de 2012 .
- ^ "La resina ahora puede actuar como un reemplazo directo para la solución Memcached". Infoq.com. Archivado desde el original el 20 de noviembre de 2012. Consultado el 25 de octubre de 2012 .
- ^ "Caucho Technology » Blog Archive » Resin Pro Health System ahora y en el futuro". Blog.caucho.com. 2011-08-26. Archivado desde el original el 2012-10-25 . Consultado el 2012-10-25 .
- ^ "La resina Caucho está oficialmente certificada según el perfil web de Java EE 6". Infoq.com. Archivado desde el original el 22 de agosto de 2012. Consultado el 25 de octubre de 2012 .
- ^ "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java EE Web Profile and beyond". Caucho.com. Archivado desde el original el 2012-10-01 . Consultado el 2012-10-25 .
- ^ "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java CDI | Candi". Caucho.com. Archivado desde el original el 2012-10-24 . Consultado el 2012-10-25 .
- ^ "Caucho Resin | Servidor de aplicaciones Java | Servidor web | Certificado Java EE | Preparado para PaaS/Cloud » Servidor web Resin". Caucho.com. 2012-02-07. Archivado desde el original el 2012-10-31 . Consultado el 2012-10-25 .
- ^ "Clientes de Resina | Caucho". Archivado desde el original el 2014-11-01 . Consultado el 2014-11-01 .
- ^ "Encuesta sobre servidores web de febrero de 2012 | Netcraft". News.netcraft.com. 7 de febrero de 2012. Archivado desde el original el 31 de octubre de 2012. Consultado el 25 de octubre de 2012 .
- ^ "Pruebas de rendimiento de NginX 1.2.0 frente a Resin 4.0.29". Caucho.com. Archivado desde el original el 25 de agosto de 2012. Consultado el 1 de abril de 2012 .
- ^ Emil Ong (9 de abril de 2008), Introducción a Quercus (PDF) , Caucho Technology, archivado desde el original (PDF) el 8 de julio de 2011 , consultado el 19 de agosto de 2009(Entrada de blog de Caucho adjunta Archivado el 16 de julio de 2012 en archive.today ,copia adicional en PDF Archivado el 14 de julio de 2011 en Wayback Machine )
- ^ "PHP en Java: ¿Lo mejor de ambos mundos?". Infoq.com. Archivado desde el original el 29 de septiembre de 2012. Consultado el 25 de octubre de 2012 .
- ^ "Desarrollado por Google Docs" (PDF) . Archivado (PDF) del original el 5 de octubre de 2013. Consultado el 25 de octubre de 2012 .
- ^ Nuevo boletín mensual de Caucho, Caucho Technology, 2008-02-26, archivado desde el original el 2013-05-12 , recuperado 2013-02-27 ,
Creo que finalmente estamos llegando al punto en el que imitamos la otra implementación de PHP con bastante precisión (excepto que tenemos sesiones distribuidas, somos más rápidos en modo compilado, etc. :-)).
Enlaces externos
- Características de la resina