apisix VS apisix-docker

Compare apisix vs apisix-docker and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
apisix apisix-docker
63 11
13,560 647
1.9% 2.8%
9.6 7.4
5 days ago 7 days ago
Lua Dockerfile
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

apisix

Posts with mentions or reviews of apisix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-14.
  • Apache APISIX plugin priority, a leaky abstraction?
    2 projects | dev.to | 14 Dec 2023
    The main issue is that priority is documented in the config-default.yaml file, while the phase is buried in the code. Worse, some plugins run across different phases. For example, let's check the proxy proxy-rewrite plugin and, more precisely, the functions defined there:
  • A "Tiny" APISIX Plugin
    4 projects | dev.to | 27 Nov 2023
    // references: // https://github.com/tetratelabs/proxy-wasm-go-sdk/tree/main/examples // https://github.com/apache/apisix/blob/master/t/wasm/ package main import ( "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm" "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm/types" "github.com/valyala/fastjson" ) func main() { proxywasm.SetVMContext(&vmContext{}) } // each plugin has its own VMContext. // it is responsible for creating multiple PluginContexts for each route. type vmContext struct { types.DefaultVMContext } // each route has its own PluginContext. // it corresponds to one instance of the plugin. func (*vmContext) NewPluginContext(contextID uint32) types.PluginContext { return &pluginContext{} } type header struct { Name string Value string } type pluginContext struct { types.DefaultPluginContext Headers []header } func (ctx *pluginContext) OnPluginStart(pluginConfigurationSize int) types.OnPluginStartStatus { data, err := proxywasm.GetPluginConfiguration() if err != nil { proxywasm.LogErrorf("error reading plugin configuration: %v", err) return types.OnPluginStartStatusFailed } var p fastjson.Parser v, err := p.ParseBytes(data) if err != nil { proxywasm.LogErrorf("error decoding plugin configuration: %v", err) return types.OnPluginStartStatusFailed } headers := v.GetArray("headers") ctx.Headers = make([]header, len(headers)) for i, hdr := range headers { ctx.Headers[i] = header{ Name: string(hdr.GetStringBytes("name")), Value: string(hdr.GetStringBytes("value")), } } return types.OnPluginStartStatusOK } // each HTTP request to a route has its own HTTPContext func (ctx *pluginContext) NewHttpContext(contextID uint32) types.HttpContext { return &httpContext{parent: ctx} } type httpContext struct { types.DefaultHttpContext parent *pluginContext } func (ctx *httpContext) OnHttpResponseHeaders(numHeaders int, endOfStream bool) types.Action { plugin := ctx.parent for _, hdr := range plugin.Headers { proxywasm.ReplaceHttpResponseHeader(hdr.Name, hdr.Value) } return types.ActionContinue }
  • 10 Reasons for Choosing API7
    4 projects | dev.to | 20 Nov 2023
    API7 takes Apache APISIX as its robust foundation, which is open-source and has an active community with over 600 contributors all over the world. The nature of open source allows users to examine the source code, which promotes transparency. This transparency helps users understand how APISIX works, verify its security, and identify and fix any potential vulnerabilities or bugs.
  • How is Apache APISIX Fast?
    6 projects | dev.to | 13 Sep 2023
    But the best part is that the libraries mentioned here and Apache APISIX are entirely open source, meaning you can look under the hood and modify things yourself.
  • Custom Plugin Development For APISIX With Lua And ChatGPT
    5 projects | dev.to | 14 Jun 2023
    4. Plugin definition: It is a really important part of plugin implementation that we define as a table with properties for the version, priority, name, and schema. The name and schema are the plugin's name and schema defined earlier. The version and priority are used by APISIX to manage the plugin. The version typically refers to the version that is currently in use like API versioning. If you publish and update your plugin logic, it is going to be 1.1 (You can set any version you wish). But you need to be very careful in choosing priority. The priority field defines in which order and phase your plugin should be executed. For example, the 'ip-restriction' plugin, with a priority of 3000, will be executed before the 'example-plugin', which has a priority of 0. This is due to the higher priority value of the 'ip-restriction' plugin. If you're developing your own plugin, make sure that you followed the order of plugins not to mess up the order of existing plugins. You can check the order of existing plugins in the config-default.yaml file and open the Apache APISIX Plugin Development Guide to determine.
  • Your opinion on Kong
    4 projects | /r/devops | 22 Mar 2023
    Their use of etcd was a hard pass for me; I don't need more etcd in my life
  • The Ultimate Beginner’s Guide to Open Source Contribution
    12 projects | dev.to | 6 Dec 2022
    Apache APISIX Apache APISIX is an open source, dynamic, real-time, high-performance cloud native API gateway. APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more. Official website https://apisix.apache.org/ GitHub projects APISIX (the core): https://github.com/apache/apisix GitHub - apache/apisix: The Cloud-Native API Gateway GitHub - apache/apisix-dashboard: Dashboard for Apache APISIX GitHub - apache/apisix-website: Apache APISIX Website GitHub - apache/apisix-docker: the docker for Apache APISIX GitHub - apache/apisix-go-plugin-runner: Go Plugin Runner for APISIX GitHub - apache/apisix-java-plugin-runner: APISIX Plugin Runner in Java GitHub - apache/apisix-python-plugin-runner: Apache APISIX Python plugin runner GitHub - apache/apisix-helm-chart: Apache APISIX Helm Chart GitHub - apache/apisix-ingress-controller: ingress controller for K8s
  • A poor man's API
    9 projects | dev.to | 23 Nov 2022
    Grafana configuration. Most of it comes from the configuration provided by APISIX.
  • Apache Shenyu Project Graduates
    2 projects | news.ycombinator.com | 20 Sep 2022
  • Apache Apisix: Open-Source API Gateway and API Management Platform
    6 projects | news.ycombinator.com | 15 Sep 2022
    Indeed Many members in the Slack channel reported that they came to APISIX because its feature-rich, check its README, please: https://github.com/apache/apisix

apisix-docker

Posts with mentions or reviews of apisix-docker. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-26.
  • Implement Fallback with API Gateway
    2 projects | dev.to | 26 Nov 2023
    This project leverages existing the pre-defined Docker Compose configuration file to set up, deploy, and run APISIX, etcd, Prometheus, and other services with a single command. First, clone the apisix-docker repo on GitHub, open it in your favorite editor, navigate to the example folder, and start the project by simply running docker compose up command in a terminal from the project root folder.
  • Custom Plugin Development For APISIX With Lua And ChatGPT
    5 projects | dev.to | 14 Jun 2023
    We will leverage the existing file-proxy demo project on GitHub. It has a quite similar structure to the existing Apisix docker example repo, only we removed unnecessary files to keep the demo simple. The project has 3 folders, docker-compose.yml, and sample openapi.yaml files.
  • Apache APISIX Serverless Plugin for Event Hooks
    6 projects | dev.to | 21 Feb 2023
    git clone https://github.com/apache/apisix-docker.git
  • Powering AI Capabilities with Apache APISIX and OpenAI API
    6 projects | dev.to | 7 Feb 2023
    This first thing you clone the apisix-docker project repo from GitHub:
  • The Ultimate Beginner’s Guide to Open Source Contribution
    12 projects | dev.to | 6 Dec 2022
    Apache APISIX Apache APISIX is an open source, dynamic, real-time, high-performance cloud native API gateway. APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more. Official website https://apisix.apache.org/ GitHub projects APISIX (the core): https://github.com/apache/apisix GitHub - apache/apisix: The Cloud-Native API Gateway GitHub - apache/apisix-dashboard: Dashboard for Apache APISIX GitHub - apache/apisix-website: Apache APISIX Website GitHub - apache/apisix-docker: the docker for Apache APISIX GitHub - apache/apisix-go-plugin-runner: Go Plugin Runner for APISIX GitHub - apache/apisix-java-plugin-runner: APISIX Plugin Runner in Java GitHub - apache/apisix-python-plugin-runner: Apache APISIX Python plugin runner GitHub - apache/apisix-helm-chart: Apache APISIX Helm Chart GitHub - apache/apisix-ingress-controller: ingress controller for K8s
  • Manage .NET Microservices APIs with Apache APISIX API Gateway
    6 projects | dev.to | 4 Jul 2022
    We made use of Apache APISIX docker compose repo where we deployed several components in one run and we demonstrated how the API Gateway can be used to manage sample ASP.NET Core application to retrieve product data using Product microservice's API. Also, you learned how to enable limit-count plugin for the API endpoint. There are many other built-in plugins available in Apache APISIX, you can check them on Plugin Hub page. Basically, APISIX can be a lightweight middleware API Gateway regardless of which programming language, frameworks, tools, or platforms you are developing a microservice or application.
  • 3 ways to deploy Apache APISIX on AWS (Part 2: AWS EСS)
    4 projects | dev.to | 29 Jun 2022
    In this demo, we are using Apache APISIX Docker repo and it contains an example docker-compose.yaml file and with other config files that makes straightforward to start APISIX using docker compose. We try out this example:
  • 3 ways to deploy Apache APISIX on AWS (Part 1: AWS EC2)
    6 projects | dev.to | 27 Jun 2022
    APISIX uses etcd to save and synchronize configuration. Before installing APISIX, you need to install etcd on your machine. It would be installed automatically if you choose the Apache APISIX Docker compose mode, you will learn more about on the next blog post Use Docker Compose to deploy containerized APISIX to AWS ECS.
  • Secure Spring Boot REST API with Apache APISIX API Gateway
    5 projects | dev.to | 21 Jun 2022
    The apisix-security-java-spring project makes use of the similar example APISIX docker compose template.
  • Run Apache APISIX on Microsoft Azure Container Instance
    6 projects | dev.to | 14 Jun 2022
    ✔️ Create an Azure resource group. ✔️ Configure Azure Container Instances. ✔️ Create a Azure context for Docker to offload Apisix and etcd containers execution to ACI. ✔️ Get Apache APISIX example source code for Docker from GitHub. ✔️ Modify Docker compose file there. ✔️ Setup volumes in Azure Storage Account with Azure File Share. ✔️ Add APISIX config files to Azure File Share. ✔️ Bring up APISIX in Azure Container Instances. ✔️ Verify APISIX running. ✔️ Cleanup after you finish.

What are some alternatives?

When comparing apisix and apisix-docker you can also consider the following projects:

Kong - 🦍 The Cloud-Native API Gateway and AI Gateway.

haproxy-lua-http - Simple Lua HTTP helper && client for use with HAProxy.

emissary - open source Kubernetes-native API gateway for microservices built on the Envoy Proxy

envoy - Cloud-native high-performance edge/middle/service proxy

lua-resty-auto-ssl - On the fly (and free) SSL registration and renewal inside OpenResty/nginx with Let's Encrypt.

tyk-operator - Tyk Operator for Kubernetes

gloo - The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy

easegress - A Cloud Native traffic orchestration system

docker-jitsi-meet - Jitsi Meet on Docker

Docker Compose - Define and run multi-container applications with Docker

Tyk - Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols

NobleEngine - A li'l game engine for Playdate.