读后点评《一个你掌控的api网关服务》
原文 《A Node.js API Gateway that you control》。 本文介绍了作为微服务架构中的重要一环,网关服务。
一、什么是API网关服务
大多数微服务的应用都会提供一个API网关服务作为服务的入口。API网关的职责包括提供路由、协议转换、组合请求等。它给客户端提供API服务,当后台服务宕机时可以返回缓存的结果或者默认结果。
二、API网关服务的职责
- 整合内部服务、分发微服务应用的请求。通常会减少配置需求。
- 在网关级别处理非功能性需求和跨域问题,使服务功能的实现尽可能的简单、轻量。这层服务常常提供的功能:
- SSL终端
- 日志服务
- 服务指标数据
- 均衡负载
- 授权
- 内容整合
- 缓存
- 内容压缩
- 请求频率限制
- 其它…
- 简化客户端和微服务的交互,聚合的请求减少了网络传输的次数。
三、Node.js开原生态
node.js的npm开源生态很活跃,有许多优秀的REST的开源服务框架。但是作为API网关服务的框架就只有Express Gateway、Moleculer API Gateway。
四、介绍k-fastify-gateway
作者发布了一款基于fastify网关服务框架 k-fastify-gateway 有兴趣的可以了解一下。