Loading

API网关一般提供什么功能?

网关这种东西,是伴随着微服务风生水起的,微服务可以没有api网关,但是最好有,也并不是绝对的。因为有这个东西是合理的,没有的话,你的微服务会很难受。

  • 首先网关最基础的作用就是对外包括ios、android、webapp、website、h5、微信小程序甚至是第三方提供一个统一服务接入入口。聚合内网众多微服务,为端上提供统一的api入口。对外统一使-用http协议,网关屏蔽了后端协议的差异性,后端可以专注于提供服务,无需考虑协议的转换。

  • 其次,网关应该具备API防刷以及限流的功能。防刷可以保护你的API不会被恶意调用,限流可以保护你的后端不会被冲垮。网关应该还具备权鉴功能,是否具备对某个api的访问功能,应该做在api网关层会好很多。保护后端服务,提供完善的流控、服务降级、ACL、鉴权机制。

  • 提供API管理平台,包括API的配置、沙箱测试、发布、修改、下线。

  • 提供API层面的监控与报表,做到对业务自身的掌控,以及对用户行为等进行分析。为开放平台的持续完善提供基础服务。

那么常见的网关实施方案有哪些呢?实际上,思路不要被局限了。

1、Kong就是一个著名的API网关轮子,可以直接使用Kong来构建自己的API gateway系统
2、Openstry也是一个著名的API网关轮子
3、实际上,除了上面现成的轮子,你也完全可以自己动手写一个网关。其实,网关本身也是web软件而已,并不是特别高深的东西。即便是你基于传统的nginx+fpm都可以照样按照网关该具备的功能来写出一个api gateway来,这都是无妨的

 

转:https://t.ti-node.com/

posted @ 2018-10-10 14:16  王召波  阅读(6689)  评论(1编辑  收藏  举报