Marcos de aplicaciones web: ¿es posible ejecutar Cakephp y Tornado en el mismo servidor de fondo?

En primer lugar, le aconsejo que cree API en el lado de Cake de tal manera que Tornado pueda usarlo para CRUD. Dado que Tornado es un marco asincrónico, a menudo de un solo subproceso, se bloqueará al hacer llamadas para bloquear E / S como MySQL. Al mismo tiempo, dijo que Cake es responsable de mantener los servicios web (REST API).

Sí, por supuesto, es posible mantener Cake y Tornado en un solo hardware (servidor). Hay al menos tres opciones que veo:

  1. Cake en el puerto 80 y procesos Tornado en otros puertos (8081, 8082)

Pros: compatible con proxies
Contras: a) Problemas entre dominios ya que CORS no es compatible con todos los navegadores. b) posibilidad de ser bloqueado por tecnologías de seguridad de red como firewalls
2. Cake en el dominio principal (yoursite.com) y Tornado en el subdominio (subdomain.yoursite.com)
Pros: Posible distribuir su backend en diferentes servidores físicos.
Contras: problemas de secuencias de comandos entre dominios (consulte Uso compartido de recursos de origen cruzado)
3. Finalmente, puede usar el enrutamiento basado en URL para distinguir entre ambos
Pros: a) todo parece coherente; b) no hay problemas CORS
Contras: no compatible. con algunos proxies http

En todos estos casos, los problemas de CORS son un problema para usted si su servidor Tornado es un servidor en tiempo real (cometa). En todos los demás casos, no es un problema.