7536ca7b1fdd2764846f751ca5131c3995751fff
sie-snest-gw\350\256\276\350\256\241\344\270\216\345\256\236\347\216\260.md
... | ... | @@ -24,7 +24,16 @@ |
24 | 24 | - **边车模式**:采用边车(sidecar)模式,编写 sie-snest-gw 的边车服务,与Nginx共同运行,共享同一个pod。 |
25 | 25 | - **Unix Domain Socket通信**:由于它们共享网络,边车服务与Nginx通过Unix Domain Socket进行通信,提升通信性能,相比于传统的网络socket具有更好的性能。 |
26 | 26 | |
27 | -### 2.4 方案架构图 |
|
27 | +### 2.4 可扩展路由 |
|
28 | + |
|
29 | +- gw提供了一种机制,由业务方提供路由的扩展,在执行非iidp平台的请求时,可以通过获取扩展的路由信息来实现业务需要的路由分发机制。在redis中固定定义一个hashmap,key为```iidp:gw:route```,value为kv格式的路由信息,gw本身不对此路由信息做任何的假设,只需要通过路由信息的field来获取对应的appName,然后转发到对应的app所在pod即可。路由格式如下图: |
|
30 | + |
|
31 | +[[http://iidp.chinasie.com:9999/iidpminio/sie-snest-gw/gw_route_ex.png]] |
|
32 | + |
|
33 | +- 接口app使用可扩展路由实例。接口app在获取业务配置的第三方路由时,将其写入到redis hashmap中,gw在处理请求时会先判断请求的path是否符合iidp平台标准请求,如果不是则获取redis中的路由信息,如果存在路由信息则使用该路由信息进行转发,否则使用退回到默认的路由处理逻辑。 |
|
34 | + |
|
35 | + |
|
36 | +### 2.5 方案架构图 |
|
28 | 37 | |
29 | 38 | ``` |
30 | 39 | +-----------+ +-----------+ |