0
点赞
收藏
分享

微信扫一扫

企业级API网关学习总结

司马吹风 2022-03-24 阅读 56
java

网关的产生背景

微服务架构演变

单体架构

所有服务集中在单个项目中,每次部署需要部署整个项目
好处:
弊端:新人上手难;扩缩容困难;业务规模扩大后,
在这里插入图片描述

分布式架构

将系统进行垂直和横向拆分后分别部署在服务器上

  • 纵向拆分:根据业务分类进行拆分
  • 横向拆分:将拆分后的业务横向部署多个节点,保证服务高可用性
    在这里插入图片描述

SOA架构

面向服务即将共用的服务抽取出来做为一个服务供所有系统使用,每个系统不再各自实现
在这里插入图片描述
ESB:是一个集中式的服务总线。通过ESB,可以实现集成业务处理,监控系统间消息流动,管理系统间交互的业务服务。ESB的关注点是集成,核心概念是服务和消息,主要方式是协议适配和中介处理。

微服务

在这里插入图片描述

微服务架构产生的原因

微服务架构基于SOA架构演变过来的,在传统的WebService架构中有如下问题:

  • 依赖中心化服务发现机制
  • 使用Soap通讯协议,通常使用XML格式来序列化通讯数据,xml格式非常喜欢重,比较占宽带传输。
  • 服务化管理和治理设施不完善

API网关

capi:对接三方合作平台
iapi:对接内部流量
bapi:对接商家
oapi:对接外部流量

云原生架构

企业级微服务网关

什么是网关

1、流量入口
能聚合所有请求到微服务的流量
2、请求路由
接收进来的请求经过网关策略拦截后,通过负载均衡转发后端服务
3、请求拦截过滤器
在网关进行横切功能:权限校验,限流,监控

为什么需要API网关

在这里插入图片描述

1、采用微服务架构后,一个项目中微服务节点很多
2、在网关层处理所有非业务功能:如负载均衡,鉴权认证,Session处理,安全检查,日志处理,熔断限流等。如果每个服务自己实现,逻辑冗余,难以维护

网管技术选型

KongZuul2SpringCloud GateWayApisix
调度
可维护性
限流
性能
成熟度

网关解决哪些问题

  • 路由转发:客户端和服务消费方,无需我知道请求到下游那台机器
  • 请求安全:请求签名,Oauth2,鉴权,令牌鉴权
  • 高可用请求:下游服务的高可用依托网关进行负载
  • 资源隔离:
  • 流量灰度:

网关管理平台

功能:
灰度管理:网关灰度 服务灰度
路由管理 令牌分发 服务编排 认证授权 黑白名单 健康检测 指纹证书

为什么需要网关管理平台

痛点

  • 随着业务规模扩大,API接口数据不断增加
  • Apollo配置中心容易出错,可视化效果差
  • 多站点,多环境,多业务场景,网关数量成倍增加

优势

  • 整个生命周期,全部通过配置化,流程化的方式全自助管理,易上手极大的提升研发效率
  • 所有API都可以集中一起管理,通过切换站点,集群就可以相应操作,方便问题定位查询
  • 路由发布支持网关节点选择性发布,Apollo支持较弱
  • 对网关做Mock测试,方便功能点扩展

未来规划

举报

相关推荐

0 条评论