koupleless 笔记

195 阅读1分钟

单host模式和多host模式

以 spring boot 的 web 项目为例,使用 Tomcat 作为 web 服务器。

先看下 Tomcat 的架构图:

image.png

如果在一个 JVM 中,有多个 Tomcat server 那么叫多 host 模式。 如果在一个 JVM 中,多个 Tomcat server 同享,叫单 host 模式。 下面是一个多 host 模式的架构图:

image.png

多Host模式的问题首先在于重复创建了tomcat相关的资源,造成资源的浪费;其次是每个Biz有自己的端口,不利于整个Ark包应用整体对外提供服务。因此SOFAArk提供了类似独立tomcat部署多webapp的方式。所有Biz共用同一个Server及Host,每个Biz只创建自己的Context,通过Context中的contextPath将自身接口与其它Biz接口做区分。

这种方式由于一个Jvm进程中共用一个Server及其Host,因此被称为单Host(多Context)模式。

单 host 模式是 koupleless 重点支持的功能。