Skip to content

网关的基础概念

519字约2分钟

2024-09-26

网关在做什么

当一个单体应用被拆分成许许多多的微服务应用后,也带来了一些问题。一些与 业务非强相关 的功能,比如

  • 权限控制
  • 日志输出
  • 数据加密
  • 熔断限流
  • ...

每个微服务应用都需要,因此存在着大量重复的代码实现。而且由于系统的迭代、人员的更替,各个微服务中这些功能的实现细节出现了较大的差异,导致维护成本变高。

另一方面,原先单体应用下非常容易做的接口管理,在服务拆分后没有了一个集中管理的地方,无法统计已存在哪些接口、接口定义是什么、运行状态如何。

网关就是为了解决上述问题。

网关基础说明

作为微服务体系中的 核心基础设施 ,一般需要具备

  • 接口管理
  • 协议适配
  • 熔断限流
  • 安全防护等功能

各种开源的网关产品(比如 zuul)都提供了优秀高可扩展性的架构、可以很方便的实现我们需要的一些功能、比如鉴权、日志监控、熔断限流等。 业务网关更靠近我们的业务,也就是与服务器应用层打交道,那么有很多应用层需要考虑的事情就可以依托业务网关,例如在线程模型、协议适配、熔断限流,服务编排等。下面看看业务网关体系结构: 业务网关

总结

具有如下特征的行为功能适合在应用网关来实现:

  • 业务弱相关, 但是各种微服务系统都要使用到的基础能力
  • 微服务管理与审计
  • 对外对内的桥接类功能:如协议适配
  • 基础的访问安全能力
  • 基础的数据安全能力