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
+-----------+ +-----------+