openresty应用场景以及研发网关系统功能说明

openresty主要应用场景

Web应用

进行一些业务逻辑处理,甚至进行耗CPU的模板渲染,一般流程:mysql/redis/http获取数据、业务处理、产生JSON/XML/模板渲染内容,比如京东的列表页/商品详情页。

Web防火墙

可以进行IP/URL/UserAgent/Referer黑名单、限流等功能。

接入网关 

实现如数据校验前置、缓存前置、数据过滤、API请求聚合、认证管理、负载均衡、流量控制、灰度发布、降级、监控等功能。

以下是具体功能说明:

  • 鉴权:基于接入应用进行授权验证
  • 安全防护:只有授权的应用才能访问对应的api,ip黑贝名单机制。 扩展:可根据设备id,地理位置,敏感数据二次检验等...
  • 限流:防止外界系统对当前系统的过渡调用,导致服务超载,影响核心业务的使用
  • 动态配置更新:运行时变更API、分组、组件等配置,自动同步、及时生效。
  • 服务路由(rewrite):识别请求参数和路径转发上游API服务。
  • 高可用:支持集群化,避免单点故障。
  • 高性能:网关无状态,支持横向扩展,运行时弱依赖持久层,最大化提升网关整体性能。
  • 熔断(待定):后端服务出现调用超时或者异常,系统自动熔断该服务。
  • 健康检查(待定):针对已经被熔断的服务api,动态检测健康状态,若健康则修复已被熔断的api。目前初期版本为保证性能,采用手动恢复服务接口,后期根据需求逐步调整为自动恢复(扩展:服务检查)
  • 灰度发布:产品支持让指定部分客户端应用使用新版本API,其他应用继续使用以前的API,当新版本的API逐渐稳定后,所有用户能平滑过渡到新版本的API。使用灰度发布能够及早获得用户的意见反馈,完善产品功能,提升产品质量。让用户参与产品测试,加强与用户互动,降低产品升级所影响的用户范围。
  • 缓存:缓存api后端服务返回的数据,降低后端服务的压力。
  • 分布式缓存:当系统api缓存量大时  可使用redis等集群提高系统响应
  • 日志记录:以指定的维度存入日志系统,方便自定义审计和统计。
  • 超时控制:通过API配置访问超时时间,超时后立即返回,避免工作线程长时间等等。
  • 服务编排:将多个后端服务聚合成一个API暴露,减小客户端开发复杂度,快速生产新的API。
  • 管理中心:API网关后台管理中心简洁明了,方便API网关管理员对API进行管理,数据面板方便了解系统运行情况。
  • 监控中心:监控中心对API运行情况一目了然,通过分析API异常告警辅助系统运维。

猜你喜欢

转载自www.cnblogs.com/phpworld/p/10969401.html