title: Apache APISIX

Build Status License

Apache APISIX es un portal API en tiempo real, dinámico y de alto rendimiento.

APISIX proporciona variadas opciones de manejo de tráfico tales como balanceo de cargas, upstream dinámico, comprobación tipo despliegue de canarios (canary release), interrupción de circuitos, autenticación, observabilidad y más.

Usted puede usar Apache APISIX para manejar el tráfico tradicional norte-sur, así como tráfico este-oeste entre servicios. También puede usarse como k8s ingress controller (control de ingreso).

La arquitectura técnica de Apache APISIX:

La arquitectura técnica de Apache APISIX

Communidad

Características

Usted puede usar Apache APISIX como un acceso de tráfico para procesar todos los datos del negocio, incluyendo direccionamiento dinámico (dynamic routing), upstream dinámico, certificados dinámicos, ensayos A/B, ensayos de despliegue de canarios (canary release), despliegue azul-verde (blue-green), límite de tasa, defensa contra ataques maliciosos, métrica, monitoreo de alarmas, visibilidad de servicios, gobernabilidad de servicios, etc.

Comenzando

Configuración e Instalación

APISIX ha sido instalado y probado en los siguientes sistemas:

CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, ARM64 Ubuntu 18.04

Hay varias maneras de instalar la versión publicada Apache de APISIX:

  1. Compilación de código fuente (aplicable a todos los sistemas)

    • Instalación de dependencias en tiempo de ejecución: OpenResty y etcd, y dependencias de compilación: luarocks. Consultar install dependencies documentation

    • Bajar el paquete de publicación más reciente de código fuente:

      $ mkdir apisix-2.5
      $ wget https://downloads.apache.org/apisix/2.5/apache-apisix-2.5-src.tgz
      $ tar zxvf apache-apisix-2.5-src.tgz -C apisix-2.5
      
    • Instalar las dependencias:

      $ make deps
      
    • Chequear la versión de APISIX:

      $ ./bin/apisix version
      
    • Iniciar APISIX:

      $ ./bin/apisix start
      
  2. Imagen del contenedor Docker (aplicable a todos los sistemas)

    Por defecto, el paquete de Apache de más reciente publicación será descargado:

    $ docker pull apache/apisix
    

    La imagen del contenedor Docker no incluye etcd, usted puede consultar docker compose example para iniciar un grupo de ensayos.

  3. Paquete RPM(sólo para CentOS 7)

    $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.5/apisix-2.5-0.x86_64.rpm
    
    • Chequear versión de APISIX:

      $ apisix version
      
    • Iniciar APISIX:

      $ apisix start
      

Nota: Apache APISIX no soportaría más el protocolo v2 de etcd desde APISIX v2.0, y la mínima versión soportada de etcd es v3.4.0. Favor actualizar etcd cuando sea necesario. Si usted necesita migrar sus datos desde etcd v2 a la v3, por favor siga los pasos indicados en etcd migration guide.

Para desarrolladores

  1. Para desarrolladores, usted puede usar la más reciente rama maestra (master branch) para experimentar más prestaciones

    • Construir a partir del código fuente
    $ git clone git@github.com:apache/apisix.git
    $ cd apisix
    $ make deps
    
    • Imagen del contenedor Docker
    $ git clone https://github.com/apache/apisix-docker.git
    $ cd apisix-docker
    $ sudo docker build -f alpine-dev/Dockerfile .
    
  2. Comenzando

    La Guía para Comenzar es una excelente manera de aprender los fundamentos de APISIX, basta seguir los pasos en Getting Started.

    Más aún, usted puede seguir la documentación para ensayar más plugins.

  3. Admin API

    Apache APISIX brinda REST Admin API para controlar de forma dinámica el grupo (cluster) Apache APISIX.

  4. Desarrollo de Plugin

    Usted puede consultar la guía plugin development guide, y la documentación e implementación de código sample plugin echo.

    Por favor note que los plugins de Apache APISIX added, updated, deleted, etc. no son cargados sin reiniciar el servicio.

Para más documentación, por favor visitar Apache APISIX Document Index

Evaluación comparativa (Benchmark)

Al usar el servidor de 8 núcleos de AWS, los QPS de APISIX alcanzan 140,000 con una latencia de solamente 0.2 ms.

Resultados de la evaluación (Benchmark script), método de ensayo y proceso han sido fuente abierta, usted es bienvenido a intentarlo y contribuir.

Apache APISIX vs Kong

Ambos han sido cubiertos en cuanto a prestaciones del núcleo del portal (gateway) API

PrestacionesApache APISIXKONG
Upstream dinámico
Router dinámico
Chequeo del sistema
SSL dinámico
Proxy L4 y L7
Rastreo abierto
Plugin personalizado
REST API
CLI

Las ventajas de Apache APISIX

PrestacionesApache APISIXKong
Le pertenece aApache Software FoundationKong Inc.
Arquitectura de la tecnologíaNginx + etcdNginx + postgres
Canales de comunicaciónLista de correos, grupo Wechat, grupo QQ, GitHub, Slack, meetupGitHub, freenode, foro
CPU de un solo núcleo, QPS (activa limit-count y plugins prometheus)180001700
Latencia0.2 ms2 ms
DubboNo
Retroceso-deshacer de configurationNo
Ruta con TTLNo
Plug-in carga en calienteNo
LB y ruta personalizadosNo
REST API <--> transcodificación gRPCNo
TengineNo
MQTTNo
Tiempo efectivo de ConfiguraciónDeterminado por los eventos, < 1msRecabando datos, 5 seg
TableroNo
IdPNo
Centro de configuración HANo
Límite de velocidad para una ventana específica de tiempoNo
Soporta cualquier variable Nginx como condición de enrutamientoNo

Ensayo de comparación de desempeño datos detallados

Contribuciones a través del tiempo

contributor-over-time

Videos y Artículos

Historias de Usuarios

¿Quién usa APISIX?

Una gran variedad de compañías y organizacioes usan APISIX para investigación, producción y productos comerciales, incluyendo:

Se alienta a los usuarios a sumarse a la página Powered By.

Landscape (panorama)

Logos

Reconocimientos

Inspirado por Kong y Orange.

Licencia

Licencia Apache 2.0