Unicorn es un servidor HTTP en rack para servir aplicaciones web Ruby en un entorno UNIX. Está optimizado para usarse con nginx . Se basa en Mongrel 1.1.5, ahora obsoleto, de 2008.
Unicorn utiliza una arquitectura maestro/trabajador, donde un proceso maestro bifurca los procesos trabajadores y los controla. La aplicación se ejecuta en un único hilo. [2]
Unicorn fue considerado como “uno de los servidores más populares para Rails ”. [3] [2]
Twitter comenzó a probar Unicorn en 2010. [4]
Este servidor se entrega con Discourse . Su administrador de sistema, Sam Saffron, señaló que Unicorn era confiable, ya que genera trabajadores que no responden. [5]
Unicorn inspiró otros proyectos como Gunicorn , una bifurcación para ejecutar aplicaciones Python.
A partir de 2018, los proyectos tienden a favorecer a Puma . [6] El proveedor de alojamiento Heroku recomienda desde 2015 migrar de Unicorn a Puma. [7] Deliveroo publicó un benchmark que compara los dos servidores y concluyó que “Puma tiene un mejor rendimiento que Unicorn en todas las pruebas que estaban muy ligadas a IO o que intercalaban trabajo de CPU y IO”, pero que Unicorn todavía tenía un rendimiento ligeramente mejor en situaciones de CPU pura. [8] GitLab cambió de Unicorn a Puma en 2020. [9]