页面中的功能
参考:全新一代API网关,带可视化管理,文档贼友好!
官方参考文档:GET START
首先需要明白,API网关是以端口转发的方式进行处理,也就是说,APISIX监听到的端口会作为端口的统一入口,然后在中间做处理、代理和转发。
根据这个前提认识,我们再来谈谈APISIX的使用。
上游
上游代表实体应用,配置项包含目标节点的主机名和端口。
上游的配置从面向对象的角度来说,可以想象成,定义的实体对象。
例如,我这里定义了一个8081端口上的应用。
路由
路由里面配置的,就是针对对网关的某个路由的访问,它有什么样的行为。例如,我配置了一个对上述应用的转发,并且配置了一个插件,用来控制单位时间的访问速度。
设置路由信息
设置上游服务
插件配置
点击提交,就生效了。
效果就是,当我在60s内访问超过5次,就会被拦截并返回503。
服务
服务由路由中公共的插件配置、上游目标信息组合而成。服务与路由、上游关联,一个服务可对应一组上游节点、可被多条路由绑定。
我的理解是相当于是路由的集合,因为某几个路由可能组成了一个功能,而这里的服务就是指的这样一个功能。
消费者
消费者是路由的消费方,形式包括开发者、最终用户、API 调用等。创建消费者时,需绑定至少一个认证类插件。
创建一个使用jwt-auth的消费者。
再次创建一个路由,不管前面两项怎么处理,只需要在选择插件的时候打开jwt-auth即可,因为全局配置了,所以这里不需要再配置。
直接访问配置的路由(我配置的是/auth/*)
现在我们需要去找jwt token,访问
curl http://127.0.0.1:9080/apisix/plugin/jwt/sign?key=user-key -i
获取到的值为
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJ1c2VyLWtleSIsImV4cCI6MTY0NTIwMDczOH0.i3hJwQ1m9rpDAFT9P4MxKwq3A4H_3EAfi5gaAICRr6o
带上访问
虽然结果是404,但是至少是过去了的。
因为目前还没有深入使用,所以个人觉得消费者似乎是一种全局配置,专门用于认证相关的。而这个消费者这个词儿的定义似乎是对接口来说的,就是接口的消费者,所以要对接口的消费者进行鉴权处理。