首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >架构-亿级API网关之道

架构-亿级API网关之道

作者头像
凹谷
发布2020-04-11 10:38:36
7530
发布2020-04-11 10:38:36
举报

你的收入水平很大程度上取决于你能做哪些别人不能做的事情。

一、API网关包括的基本功能:统一接入、协议适配、流量管控与容错以及安全防护。

二、API的常用工具:RAML、Swagger

三、API的生命周期:Design(设计)、Build(构建)、Test(测试)、Document(文档)、Share(发布)、run(运行)、DownLine(下线)。

四、网关系统的七种武器:降级、限流、熔断、配置热更新、异步、线程池隔离、管道技术

五、导致传统网关性能的瓶颈:

1、CPU

CPU利用率:显示的是程序在运行期间实时占用的CPU百分比

CPU负载:显示一段时间内正在使用和等待使用CPU的平均任务数,可以使用uptime或top命令来查看系统的负载情况,eg:uptime命令,显示load averages:1.74 1.58 1.60 ,三个数字分别表示1分钟、5分钟、15分钟内系统的负载平均值。

注意:CPU负载高并不意味CPU的利用率高,两者没有联系,可以比作负载是排队,利用率是医生看病,不能说排队长,医生看病的速度就快。

2、内存

缓冲、缓存及内存计算,内存越大计算速度就越快,使用free、top、vmstat等命令都能显示系统内存使用率的输出

3、磁盘

磁盘使用率:磁盘空间使用情况

磁盘负载百分比:磁盘频繁执行I/O请求数量,使用iostat -x 1 10 命令,显示%util接近100%说明产生的I/O请求太多,I/O已经满负荷,该磁盘可能存在瓶颈。

4、网络

网络的质量好坏,直接影响用户的响应时间,如果网络变慢,请求数量过大就会导致请求任务数排队挤压,将所有CPU资源耗尽。

六、其它提升性能方式

1、脱库与多级缓存

对网关的访问不建议直接使用传统数据库(eg:mysql),而是建议利用缓存。

缓存分级,1级缓存(JVM缓存)、2级缓存(Redis)、3级缓存(Redis持久化)

2、热更新

不需要重启服务器就能够让程序的属性值进行改变的行为;

常见的热更新的方法有MQ方式、RPC方式和ZooKeeper方式,MQ方式是将需要更新的数据发送到MQ队列,消费端收到数据后更新对象的属性值,RPC方式的直接连接到对应的服务器,服务端收到RPC请求之后更新数据,Zookeeper的方式是接收更新从而触发本地对象数据,这些方式都不需要重启服务器。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档