ebdb6378ad1152ded4866a3e806aec99f3c957c5
sie-snest-gw\350\256\276\350\256\241\344\270\216\345\256\236\347\216\260.md
| ... | ... | @@ -32,6 +32,15 @@ |
| 32 | 32 | |
| 33 | 33 | - 接口app使用可扩展路由实例。接口app在获取业务配置的第三方路由时,将其写入到redis hashmap中,gw在处理请求时会先判断请求的path是否符合iidp平台标准请求,如果不是则获取redis中的路由信息,如果存在路由信息则使用该路由信息进行转发,否则使用退回到默认的路由处理逻辑。 |
| 34 | 34 | |
| 35 | +#### 2.4.1 saas 可扩展路由 |
|
| 36 | + |
|
| 37 | +saas 是一种全新的执行模式,在该模式下的路由策略与之前不同,功能开关由引擎配置文件 `application-dev.properties` 中 的 `iidp.saas.enable` 来控制,默认值为 false。 |
|
| 38 | + |
|
| 39 | +当 `iidp.saas.enable=true` 时,表示启用 saas 模式,此时 gw 会优先从 redis 中获取路由信息进行转发。 |
|
| 40 | + |
|
| 41 | +saas对于app的划分关系是这样的:tenantID -> appGroup -> appName -> svc |
|
| 42 | + |
|
| 43 | +所以期待的路由是这样的: `tenantID + appName --> appGroup`, 即根据前端请求中的 tenantID 和 appName 来获取对应的 appGroup,然后将请求转发到对应 appGroup 下的 svc。由于在安装的时候,tenantID 和 appGroup 已经被写入到svc的注解中,是唯一对应一个 svc 的,所以 gw 只需要根据 tenantID 和 appName 来获取对应的 appGroup,然后通过 appGroup 来获取对应的 svc 即可。最终将请求路由到正确的 svc 上。 |
|
| 35 | 44 | |
| 36 | 45 | ### 2.5 方案架构图 |
| 37 | 46 |