这是我想要实现的目标:
我有一个 Web 服务 A,我希望它能够与 A 类型的其他 Web 服务(不同版本)并排部署。现在我假设 2 个实例并排。我需要它,因为该服务有一个预热阶段,这需要一些时间来从数据库构建东西,只有在它准备好之后它才能开始服务请求......
我正在考虑部署到Tomcat6上下文路径,例如:“/ServiceA-1.0”, “/ServiceA -2.0” ,然后有一个“虚拟”上下文,如“/ServiceA”,它将指向所需的物理服务,例如“/ServiceA- 1.0" . 所以外部世界会知道 ServiceA,但在内部,我的 ServiceA 相关堆栈会知道版本化的 ServiceA url(涉及更多组件,但只有 ServiceA 服务于外部世界)。当新服务准备就绪时,我只需重新配置“虚拟”上下文以指向新服务。
到目前为止,我无法找到如何使用 Tomcat 执行此操作,并且开始 tkink 这是不可能的。我找到了将 Apache Server 放在 Tomcat 前面并在那里进行路由的建议,但除非必要,否则我不想注册另一个软件。
我的问题是:
- 这种“虚拟”上下文和路由是否可以与 Tomcat6 一起使用?
- 任何其他选择、智慧和经验教训如何实现这种服务交换场景?
最好的,
约瑟夫