本文概述
- 什么是API网关?
- API网关的优势
- 缺点
- API网关的工作
API网关是一台服务器。它是系统的单个入口点。 API Gateway封装了内部系统架构。它提供了针对每个客户端量身定制的API。它还具有其他职责, 例如身份验证, 监视, 负载平衡, 缓存, 请求整形和管理以及静态响应处理。
API网关还负责请求路由, 组合和协议转换。客户端发出的所有请求都通过API网关。之后, API网关会将请求路由到适当的微服务。
API网关通过以下两种方式之一处理请求:
- 它将请求路由或代理到适当的服务。
- 将请求散布(传播)到多个服务。
例子
【Spring Cloud API网关简介】API网关的流行示例是Netflix API网关。 Netflix流媒体服务可在数百种设备上使用, 例如电视, 机顶盒, 智能手机, 平板电脑等。它试图为其流媒体服务提供一种千篇一律的API。
文章图片
API网关包括:
- 安全
- 快取
- API的组成和处理
- 管理访问配额
- API健康监控
- 版本控制
- 路由
- API Gateway的最重要优点是它封装了应用程序的内部结构。
- 客户端不调用特定服务, 而是直接与API网关对话。
- 它减少了客户端与应用程序之间的往返次数。
- 它简化了客户端代码。
- 它减少了编码工作, 使应用程序更高效, 同时减少了所有错误。
- 它为每种客户端提供特定的API。
- 它需要路由规则。
- 有可能出现单点故障。
- 由于所有API规则导致的复杂性风险集中在一个地方。
考虑一种情况, 在这种情况下, 我们不希望特定客户端调用微服务超过五次。我们可以将其作为API网关限制的一部分。我们可以在API网关中跨微服务实现通用功能。 Zuul API网关是一种流行的API网关实现。
我们必须在所有微服务中实现以下功能:
- 服务聚合
- 认证, 授权和安全性
- 速率限制
- 容错能力
与其允许微服务直接相互调用, 不如通过API网关进行所有调用。 API网关将处理诸如身份验证, 容错等常见功能。它还为所有微服务提供聚合服务, 因为所有调用都通过API网关进行路由。
推荐阅读
- 安装RabbitMQ服务器详细步骤图解
- Spring Cloud实现Zuul日志过滤器
- Url Scheme实现APP间通信分享
- Android 冷兵器 之 tools
- Reading SBAR SDN flow-Based monitoring and Application Recognition
- android ndk cmake Invalid Android ABI
- Android第二课 开发联机调试
- Android第一课 资源帮助
- Android第三课 联调华为手机