博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
API网关常见架构
阅读量:6582 次
发布时间:2019-06-24

本文共 1291 字,大约阅读时间需要 4 分钟。

hot3.png

一、简介

类似api市场

sc-api-gateway api核心路由服务sc-api-admin   api管理平台sc-api-monitor api监控服务

二、整体架构图

输入图片说明

三、api核心路由服务 【sc-api-gateway】

3.1 涉及功能:

  • 超时熔断
  • 流量控制
  • 用户鉴权
  • 智能路由
  • 数据加密
  • 负载均衡
  • 数据缓存
  • 协议转换
  • 服务编排

3.2 涉及技术:

  • hystrix - 熔断

    • 超时控制
    • 熔断
  • oauth2 - 认证鉴权

    • 认证

      • Baisc认证 参考
      • 基于Token认证
      • 根据IP/域名认证
      • 微信小程序Token认证
    • 鉴权

      • 基于接入应用进行授权
  • zuul - 路由管理

    • 动态刷新路由配置
    • 过滤器加载组件
  • 流量管理 - 每秒、每分、每小时、每天等的请求次数限制

    • 基于IP
    • 基于API
  • redis - 数据缓存

    • 缓存经常访问的API
  • 数据安全

    • 公私钥加密传输
    • 授权应用访问
    • 单应用访问量限制
    • 访问白名单、黑名单
    • 防止访问攻击
  • 协议转换

    • webservice 转 rest
  • 服务编排

    • 自定义服务
  • 负载均衡

    • 基于consul的zuul本身的负载

3.3 可参考博客

《Spring cloud 多版本控制及灰度发布》

《Spring Cloud限流详解》

《使用zuul及oauth2构建api网关实践之路》

《spring-cloud中zuul的两种隔离机制实验》

10ms以内的系统 使用 信号量隔离10ms以上的系统 使用 线程池隔离

四、api管理平台 【sc-api-admin】

4.1 系统管理

  • 角色管理
  • 用户管理
  • 权限管理
  • 黑名单设置

4.2 API管理

  • api分组管理 - 设置全局变量
  • api管理
    • api基本信息设置
    • 在线文档
    • 支持mock自动化测试
    • api监控信息
    • 历史版本
    • 授权应用
    • 组件配置

4.3 应用管理

  • 应用管理
    • 应用ID - UUID自动生成
    • 应用密码 - 手动设置
    • 应用来源ip - 多个

4.4 运维模块

  • 网关节点
  • 注册中心节点
  • redis节点
  • rabbitmq节点
  • 监控服务节点

4.5 平台组件

  • 组件管理

五、api监控中心 【sc-api-monitor】

5.1 api监控台

  • 今日API调用次数走势 - 所有API
  • 今日API调用次数走势 - 分组
  • 今日API访问排行 - 访问前十API
  • 今日API访问排行 - 访问前十分组

5.2 api日志

  • api调用明细
  • api错误汇总
  • 系统异常记录
    • api名称
    • 来源ip
    • 请求路径
    • 请求方法
    • 创建时间
    • 错误内容
    • 状态码
    • 响应时间

5.3 api告警规则

  • 颗粒度到api级(可以绑定多个api)
  • 告警级别
  • 规则类型 - 一定时间内满足一下条件的数量
    • 平均响应时间
    • 错误次数
    • 总请求次数
  • 告警间隔时长
  • 连续几次超过阈值报警
  • 生效时间区间
  • 通知对象与通知方式
    • 手机
    • 邮箱
    • 手机 + 邮箱
  • 通知标题

5.4 第三方监控

  • spring boot admin(包含turbine页面)
  • sleuth

转载于:https://my.oschina.net/gmarshal/blog/1798097

你可能感兴趣的文章
SNMP AGENT函数介绍
查看>>
[Usaco2005 Open]Disease Manangement 疾病管理 BZOJ1688
查看>>
【Android视图效果】分组列表实现吸顶效果
查看>>
多文件上传示例源码(默认支持各种类型,包括图片)
查看>>
PHP 时间操作 / 跳转问题
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
LAMP,安装脚本
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>
建属于自己的网站
查看>>
boost库之智能指针
查看>>
我的友情链接
查看>>
自定义View Client 登录方式(一)
查看>>
我的友情链接
查看>>
我来自CSDN
查看>>
在mysql表中插入大量测试数据
查看>>
怎么给电脑设置IP地址和DNS地址,各系统设置IP/DNS几种方法
查看>>
必 备 习 题 集 (一)
查看>>
转:模态对话框的支持 (IE,Firefox,Chrome)
查看>>