Esa es una pregunta que solo tú puedes responder.
¿Cuál es la separación que esperas más tarde? ¿Tiene diferentes aplicaciones de Tomcat, por ejemplo, que usan URL distintas para dirigirlas, pero que aún se ejecutan bajo una instancia de Tomcat? Si sus aplicaciones siempre serán Tomcat / Java, entonces podría ser razonable hacerlo en la aplicación.
Pero si algún día desea utilizar una tecnología diferente para proporcionar parte de su contenido, es posible que Tomcat no pueda servirlo. Quizás haya un servidor de aplicaciones diferente, quizás múltiples.
- ¿Cuál es el significado de NAT?
- ¿Por qué Bing tiene solo 1 servidor de nombres a diferencia de Google y Yahoo?
- ¿Las políticas de control de flujo son las mismas para la capa de enlace de datos y la capa de transporte?
- ¿El reenvío de puertos acelera los paquetes (frente a la velocidad de los paquetes sin reenvío de puertos) a una determinada aplicación que vive en una computadora en esa red inalámbrica? ¿Porque y como?
- ¿Cuál es el mecanismo para la transferencia de datos a través de cables?
Usando un equilibrador de carga, podría (en algún momento futuro) interceptar la solicitud, como parece saber, y usar el contenido de la solicitud para decidir dónde encaminarla. La ventaja de un equilibrador de carga está en la gran flexibilidad; envíelo a un puerto diferente en la misma máquina (s), envíelo a diferentes máquinas, envíelo a Amsterdam … lo que funcione para sus necesidades. Manejar cosas en la capa de la aplicación puede ser restrictivo, pero puede ser una solución suficiente para la puesta en marcha, y aún puede funcionar fácilmente detrás de un equilibrador de carga, algún día.
EDITAR: para el caso, algunas rutas pueden realizarse en el equilibrador de carga, y aún más en la capa de la aplicación. 😉