Distribuir la carga de trabajo (entre servidores) de su aplicación PHP con Gearm
Resumen: Conoce la labor del sistema de Distribución Gearman, y así distribuir la carga de trabajo de las aplicaciones escritas en PHP, C, Ruby, o cualquier otro lenguaje soportado.
Aunque el grueso de una aplicación web podría ser la presentación, su principal valor y ventaja competitiva pudieran ser un puñado de servicios propios, o los algoritmos. Si dicho tratamiento es complejo o prolongado, a veces es mejor realizarlos de forma asincrónica, para que el servidor Web no deje de responder a las peticiones entrantes. De hecho, una función especialmente compleja debería hacer cálculos intensos o especializados, mejor en una máquina separada, en servidores dedicados.
Acrónimos de uso frecuente
* API: interfaz de programación de aplicaciones
* HTTP: Hypertext Transfer Protocol
* LAMP: Linux, Apache, MySQL y PHP
La biblioteca Gearman para PHP distribuye el trabajo entre una colección de máquinas. Las colas de Gearman preparan el trabajo y reparten las tareas, la distribución de tareas onerosas se realizarían en servidores dedicados. La biblioteca está disponible para Perl, Ruby, C, Python, y para los desarrolladores de PHP. Además funciona en cualquier tipo de plataformas UNIX ®, incluyendo Mac OS X, Linux ®, y Sun Solaris.
Agregar Gearman a una aplicación PHP es fácil. Suponiendo que aloja sus aplicaciones PHP en una configuración típica LAMP, Gearman requiere un demonio adicional y una extensión de PHP. En noviembre de 2009, la última versión del demonio Gearman es de 0.10, y existen dos extensiones PHP: uno que contiene la biblioteca de C de Gearman con PHP y uno que está escrita en PHP puro. Esta sugerencia utiliza el primero. Su última versión es 0.6.0, y su código fuente está disponible en PECL o Github (consulte recursos).