Apache Apisix 基于云原生的微服务网关节点实现

程序名称:Apache Apisix

授权协议: Apache-2.0

操作系统: Linux

开发语言: Lua

Apache Apisix 介绍

APISIX 是一个基于云原生、高速可扩展的开源微服务网关节点实现,其自身主要优势是高性能和强大的扩展性。

APISIX 从 etcd 中订阅获取所需的配置并以热更新的方式来更改自身行为,更改 etcd 中的配置即可完成对 APISIX
网关节点的控制,比如:动态上游、请求限速等。

设计文档

快速上手

  1. 启动 APISIX

    sudo apisix start

  2. 测试限流插件

为了方便测试,下面的示例中设置的是 60 秒最多只能有 2 个请求,如果超过就返回 503:

curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -X PUT -d value='
{
    "methods": ["GET"],
    "uri": "/index.html",
    "id": 1,
    "plugin_config": {
        "limit-count": {
            "count": 2,
            "time_window": 60,
            "rejected_code": 503,
            "key": "remote_addr"
        }
    },
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "39.97.63.215:80": 1
        }
    }
}'


$ curl -i http://127.0.0.1:9080/index.html
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 13175
Connection: keep-alive
X-RateLimit-Limit: 2
X-RateLimit-Remaining: 1
Server: APISIX web server
Date: Mon, 03 Jun 2019 09:38:32 GMT
Last-Modified: Wed, 24 Apr 2019 00:14:17 GMT
ETag: "5cbfaa59-3377"
Accept-Ranges: bytes

...

Apache Apisix 官网

https://gitee.com/iresty/apisix

相关编程语言

Cyclone是一个打造容器工作流的云原生持续集成持续发...
Kui Shell 为构建云原生应用程序提供了新的开发经验...
Eclipse MicroProfile 是一个 Java 微服务开发的基础...
Kabanero 构建在 Knative、Istio 与 Tekton 之上,提...
Antrea 是一个 Kubernetes 网络解决方案,旨在实现 ...
Linkerd 是一个提供弹性云端原生应用服务网格(serv...