Apisix使用教程

本文详细介绍了如何使用Apisix作为微服务网关,包括安装Docker,部署Apisix,配置upstream、route和服务,以及集成Nacos和Dubbo。还深入探讨了多种插件的使用,如basic-auth、key-auth、jwt-auth和限流策略,展示了如何实现认证、故障注入、限流和日志记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装

推荐直接使用Docker来安装启动Apisix

安装docker

首先下载并安装docker:https://www.docker.com/
image.png

下载之后,直接运行安装,安装后打开Docker Desktop,
image.png

等它启动完,启动完之后:
image.png

此时就是可以在cmd中执行docker等命令了

下载apisix docker仓库

进入某个文件夹,然后执行:

git clone https://github.com/apache/apisix-docker.git
cd apisix-docker/example

启动运行

然后执行:

docker-compose -p docker-apisix up -d

启动一段时间后,看到如下日志就表示启动成功
image.png

在启动过程中,apisix默认会占用9080、9443 和 2379 端口

启动之后,可以通过访问http://localhost:9000/来访问apisix dashboard,默认管理员用户密码为admin/admin
image.png

后续,我们就可以使用这个Dashboard来对apisix进行各种配置了。

upstream

upstream表示apisix的上游,也就是apisix代理的后端服务,比如SpringBoot微服务,所以直接启动两个SpringBoot应用:

@RestController
public class ZhouyuController {
   
   

    @Value("${server.port}")
    private String port;

    @GetMapping("/demo")
    public String test() {
   
   
        return "zhouyu:" + port;
    }

}

运行时,通过-Dserver.port来指定端口,运行起来之后,会都apisix的dashboard来配置upstream

image.png

简单情况下,只要配置名称和目标节点就行了。

特别注意主机名,不要写成localhost,而是host.docker.internal,因为我们是用的docker,host.docker.internal才表示宿主机。

route

创建完upstream之后,我们就可以来创建route了,也就是路由,路由就是用来进行url映射的。

先设置路由信息,简单情况下只需要填写:
image.png

然后再设置上游服务,可以手动设置,也可以选择已有的upstream:
image.png

然后可以配置一些plugins,后面再说,直接完成创建。

现在在浏览器上访问http://localhost:9080/demo,就可以访问到刚刚的两个SpringBoot服务了,并且会使用轮询的负载均衡策略(因为我们在创建upstream时,默认使用的就是轮询)。

service

apisix中的服务的作用时,可以把多个路由中公共上游抽象成为服务,所以在创建一个服务时,可以选择服务对应的上游服务与插件,服务创建好了之后,再创建路由时,可以给路由绑定一个服务:
image.png

这样就不用再配置路由的上游了:
image.png

插件

我们可以在apisix网关上利用插件来做认证、限流等功能。

basic-auth

这是一个基本的用户认证,当访问某个路由时,如果该路由绑定了basic-auth插件,那么此插件会对请求进行认证。

image.png
image.png
启动该插件并提交,这样当前路由就绑定了一个basic-auth插件。

image.png
此时进行访问就需要填写用户和密码,但是我们并没有设置权限,此时,我们就需要利用消费者来设置权限:
image.png
image.png

这样,再访问http://localhost:9080/demo时,就可以输入image.png
从而正常访问。

key-auth

配置方式和basic-auth差不多,如果basic-auth和key-auth都开启了,那么两个使用到。

在consumer中可以这么配置:
image.png

然后访问的话,得在请求头中添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值