Estoy considerando construir un sitio usando php, pero hay varios aspectos que funcionarían mucho, mucho mejor si se hicieran en node.js. Al mismo tiempo, grandes porciones del sitio deben permanecer en PHP. Esto se debe a que ya se desarrolló una gran cantidad de funcionalidades en PHP, y la reurbanización, las pruebas, etc. serían demasiado grandes y, francamente, esas partes del sitio funcionan perfectamente bien en PHP.Usando php + gearman + node.js
Estoy considerando reconstruir las secciones en node.js que se beneficiarían al ejecutar la mayoría en node.js, luego hacer que PHP pase la solicitud a node.js usando Gearman. De esta manera, escaneo escalar lanzando más trabajadores y tener gearman manejar la distribución de carga.
Nuestro sitio recibe mucho tráfico, y me preocupa si Gearman puede manejar esta carga. Me wa para mantener esta pregunta productiva, así que vamos a centrarnos en gran medida en los siguientes puntos direccionables:
- Puede Gearman manejar toda nuestra carga esperada asumiendo que tenemos la memoria (potencialmente alrededor de 3000+ trabajos en cola en en el tiempo, con varios miles procesados por segundo)?
- ¿Funcionaría mejor si acabo de pasar las solicitudes a node.js usando CURL, y si es así, node.js proporciona alguna forma de distribuir la carga en varias instancias de un script determinado?
- ¿Se puede configurar Gearman de una manera que no haya un solo punto de falla?
- ¿Cuáles son algunos de los problemas que ustedes pueden ver surgir tanto en términos de desarrollo y escala?
Me refiero a esta amplia gama de puntos por lo que cualquier persona que vea esta publicación puede recopilar una amplia gama de información en un solo lugar sobre asuntos que se afectan mutuamente.
Por supuesto que probaré todo esto, pero quiero recopilar la mayor cantidad de información posible antes de emprender algo como esto.
Editar: Una gran razón por la que estoy usando gearman no es debido a su estructura no bloqueante, sino a su gran velocidad.
_Can gearman maneja toda nuestra carga esperada? _ Esa es una pregunta de cómo-largo-es-una-pieza-de-cadena, y depende de cuántos servidores de trabajo tiene disponibles, qué tan rápido se llenan sus colas, y cómo mucho esfuerzo lleva cada elemento a procesar. Si puedes hacer varios miles por segundo en un servidor, y no los estás haciendo a una tasa constante más alta, creo que estarás bien. Gearman puede usarse en modos de bloqueo y no bloqueo por cierto, y definitivamente vale la pena ir. – halfer