OpenResty & Node.js 开发GateWay
- 2. ⽬录
· Patchouli 简介
· 系统层级
· 拓扑与数据流
· Patchouli-Core
· 初始化 upstream 信息
· 被动获取 upstream 信息
· 主动更新 upstream 中节点信息
· cookie 隔离与透传
· Patchouli-Soul
· 规则维护
· 规则解析
- 3. Patchouli 简介
Patchouli 是专注于请求分发、服务分级的 API ⽹关系统,为企业更好地整合
各后端服务的资源。既继承了 Nginx 对于 Web 服务请求的⾼性能,也结合了
Node.js 对于并发逻辑处理的优势。
Patchouli 由四个⼦系统组成
· Patchouli-Core(帕秋莉核⼼科技)(Nginx + Lua 请求分发)
· Patchouli-Soul(帕秋莉之魂)(Node.js 规则解析)
· Patchouli-Heart(帕秋莉之⼼)(Nginx + Lua ⼼跳检测)
· Patchouli-Mirror(帕秋莉之镜)(Node.js 管理界⾯)
- 9. namespace
配置 namespace 为 tangeche
请求解析为
/tangeche/cars/:id => /api/cars/:id
path
存在参数的通配规则
/tangeche/car_brands => /api/car_brands
/cars/:id => /api/carInfo.json
/car_brands => /api/carBrands.json
没有参数的绝对匹配规则
path 匹配优先级⾼与 namespace,将 path 根据是否存在参数分为通配规则与
绝对匹配规则。维护的规则即分为三个集合,namespace、绝对 path、通配
path。
规则分为 namespace 与 path 两种。
Patchouli-Soul 规则维护