API网关
API网关作为HTTP请求的统一调用入口,用来屏蔽和隔离内部服务实现细节,保护、增强和控制对微服务的访问,实现了服务之间调用关系的松散耦合,增强了服务的可重用性。此外,还可以将安全、灰度、熔断等公共组件和切面功能放置到网关节点,实现系统的关注点分离。
产品功能
服务路由
API网关需要根据客户端请求的路由信息,将请求转发到相应的后端服务。服务路由需要支持多种协议和传输方式,同时还需要支持动态路由和静态路由等多种路由策略。
服务注册和发现
API网关需要支持服务注册和发现功能,以便动态地发现可用的后端服务,同时还需要支持服务故障转移和负载均衡等功能。
熔断限流
API网关需要对客户端请求进行限流和速率限制,以防止后端服务过载或滥用,同时还需要支持动态限流和速率限制等功能。
安全性和认证
API网关需要对客户端请求进行安全性和认证控制,包括身份验证、访问控制、加密等措施,以确保API网关服务的安全性和可靠性。
监控和管理
API网关需要对服务进行监控和管理,包括日志收集、性能监控、错误处理等,以便及时发现和解决问题。
多租户管理
API网关需要支持扩展插件机制,以便根据业务需求自定义插件,例如数据加密、解密、签名等插件。
产品架构
产品特征
高性能
01
对于高性能而言,网关不应该也不能成为性能的瓶颈。网关对后端的请求,以及对前端的请求的服务一定要使用异步非阻塞的 I/O 来确保后端延迟不会导致应用程序中出现性能问题。
高可用
02
所有的流量或调用都要经过网关,所以网关必须成为一个高可用的组件,它的稳定直接关系到了所有服务的稳定,不能出现单点故障。
高扩展
03
网关要承接所有的业务流量和请求,需要对不同系统或流量提供不同服务。因此一个好的网关还需要是可以通过插件的形式进行扩展,并能进行二次开发。
数据安全
04
API网关需要考虑数据的安全性,包括数据的加密、解密、授权等。这可以通过一些数据安全技术实现,如SSL/TLS加密、数字签名、访问控制等,这些技术可以保护数据的安全性和完整性。
应用场景
提供标准API服务
通过API网关提供标准的API服务,让其他开发者将不同API服务组合整合到自己的应用中,衍生出新的服务,促进企业建立商业生态、跨界创新。
建立企业API生态
企业发展需要可靠的合作伙伴,企业与合作伙伴以API的形式进行服务、能力和数据的交互,系统与系统直接对接,达成深度合作,建立牢固的合作关系。
多端兼容
随着移动、物联网的普及,API需要支持更多的终端设备,以扩充业务规模,但同时也带来系统复杂性的提升,通过API网关可以使API适配多端,企业只需要在API网关调整API定义,无需做额外工作。
系统兼容
企业发展唯快不破,通过API网关能够动态即时调整网关路由策略,操作更加灵活便捷。