网关

网关的职责:网关 = 路由器(基础职能) + 过滤器(可选职能)

对于路由:如果需要对流量的特征进行分析,那必须是要在七层操作,否则直接在四层直接进行流量转发就可以了

不同的网关采用的网络IO模型不同 性能表现也不同

网关的可用性考虑:

  1. 网关应该轻量 达到功能性与可用性的平衡 职责过多是很危险的
  2. 选择成熟的网关产品
  3. 在网关之间加上负载均衡器或者路由器 以便让网关也能进行扩展

流量网关

  • 全局性流控
  • 日志统计
  • 防止 SQL 注入
  • 防止 Web 攻击
  • 屏蔽工具扫描
  • 黑白名单控制

业务网关

  • 请求接入:作为所有 API 接口服务请求的接入点,管理所有的接入请求;
  • 业务聚合:作为所有后端业务服务的聚合点,所有的业务服务都可以在这里被调用;
  • 中介策略:实现安全、验证、路由、过滤、流控,缓存等策略,进行一些必要的中介处理;
  • 统一管理:提供配置管理工具,对所有 API 服务的调用生命周期和相应的中介策略进行统一管理。

BFF( Backend for frontend)网关

20201119152838

一些网关

网关 限流 鉴权 监控 易用性 可维护性 成熟度
Spring Cloud Gateway 可以通过IP,用户,集群限流,提供了相应的接口进行扩展 普通鉴权、auth2.0 Gateway Metrics Filter 简单易用 spring系列可扩展强,易配置 可维护性好 spring社区成熟,但gateway资源较少
Zuul2 可以通过配置文件配置集群限流和单服务器限流亦可通过filter实现限流扩展 filter中实现 filter中实现 参考资料较少 可维护性较差 开源不久,资料少
OpenResty 需要lua开发 需要lua开发 需要开发 简单易用,但是需要进行的lua开发很多 可维护性较差,将来需要维护大量lua脚本 很成熟资料很多
Kong 根据秒,分,时,天,月,年,根据用户进行限流。可在原码的基础上进行开发 普通鉴权,Key Auth鉴权,HMAC,auth2.0 可上报datadog,记录请求数量,请求数据量,应答数据量,接收于发送的时间间隔,状态码数量,kong内运行时间 简单易用,api转发通过管理员接口配置,开发需要lua脚本 "可维护性较差,将来需要维护大量lua库 相对成熟,用户问题汇总,社区,插件开源

results matching " "

No results matching " "

results matching " "

No results matching " "