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:
- 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
- ¿Cómo puede un principiante configurar un servidor?
- ¿Cuáles son las ventajas de usar Cascade Server, un sistema de gestión de contenido web de Hannon Hill?
- Las reglas de presupuesto dicen que solo puedo comprar servidores locales y no servicio / almacenamiento en la nube, ¿qué servidor (es) debo solicitar? ¿Nuestras principales necesidades son el intercambio de archivos dentro de nuestro grupo de trabajo (~ 50 GB) y el almacenamiento de la base de datos (~ 100 GB, 1B de E / S por mes)?
- ¿Qué necesito para una gran red social? ¿Qué hay detrás del código?
- ¿Cómo funciona una transacción de servidor a servidor entre dos bancos?
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.