Repolode
apache

apache/shenyu

Gateway de API baseado em Java para proxy de serviços, conversão de protocolos e governança de APIs, com uma cadeia de plugins e um console central do Admin.

Alternativa open source a:KongAWS API Gateway

Estrelas
8,912
Forks
3,111
Issues abertas
353
Último commit
há 17 horas

O que é?

O Apache ShenYu é um gateway de API escrito em Java. As requisições passam por uma cadeia ordenada de plugins, e o ShenYu Admin armazena plugins, seletores, regras e metadados, além de enviar configurações às réplicas do gateway. O console do Admin gerencia a configuração centralizada, enquanto as instâncias do gateway aplicam as atualizações em seus caches locais.

O gateway faz proxy de serviços HTTP e Spring Cloud, conexões WebSocket e backends Apache Dubbo e gRPC. Inclui recursos de controle de tráfego, como balanceamento de carga, limitação de taxa e tolerância a falhas com Resilience4j e Sentinel, além de WAF, assinatura, autenticação, cache e reescrita de URL. As adições mais recentes incluem proxy para IA, limites de tokens e um plugin de servidor MCP.

Os clientes de serviço registram endereços e metadados de API no Admin, e um controller opcional do Kubernetes reconcilia recursos Ingress e Endpoints. A sincronização de configuração usa WebSocket por padrão, com opções de long polling via HTTP, ZooKeeper, Nacos e etcd. Há imagens Docker disponíveis para inicialização rápida.

Recursos principais

  • 01Cadeia ordenada de plugins, com plugins Java personalizados e APIs de plugins WASM
  • 02Faz proxy de upstreams HTTP, Spring Cloud, Dubbo, gRPC e WebSocket
  • 03Balanceamento de carga, limitação de taxa e tolerância a falhas com Resilience4j e Sentinel
  • 04Console central do Admin que sincroniza configurações com as réplicas do gateway
  • 05Plugins de métricas e logs com destinos Kafka e Elasticsearch

Casos de uso

  • Criar um ponto de entrada único para microsserviços que combinam HTTP, Dubbo e gRPC
  • Aplicar autenticação, regras de WAF e limites de taxa a APIs públicas
  • Fazer proxy e governar chamadas a provedores de LLM com limites de tokens e filtragem de conteúdo
  • Executar um gateway no Kubernetes que reconcilia recursos Ingress

Início rápido

  1. 1

    Criar a rede do Docker

    docker network create shenyu
  2. 2

    Gerar os segredos e iniciar os contêineres Admin, demo e gateway conforme mostrado no README

  3. 3

    Configurar a rota de exemplo no gateway conforme mostrado no README

  4. 4

    Verificar a rota pelo gateway

    curl -i http://localhost:9195/index.html

Antes de usar

  • O início rápido do Docker usa um banco de dados H2 em memória por padrão; portanto, é necessário um banco de dados persistente para manter as rotas.
  • SOFA e Tars não são mais incluídos e precisam de starters de plugin-store separados.
  • Apollo está obsoleto, assim como Hystrix; portanto, ambos devem ser evitados em novos projetos.

Em coleções

Tópicos

Perguntas frequentes

O que é shenyu?
Gateway de API baseado em Java para proxy de serviços, conversão de protocolos e governança de APIs, com uma cadeia de plugins e um console central do Admin. O Apache ShenYu é um gateway de API escrito em Java. As requisições passam por uma cadeia ordenada de plugins, e o ShenYu Admin armazena plugins, seletores, regras e metadados, além de enviar configurações às réplicas do gateway. O console do Admin gerencia a configuração centralizada, enquanto as instâncias do gateway aplicam as atualizações em seus caches locais.
shenyu é gratuito? Qual é a licença?
shenyu é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
shenyu ainda é mantido?
Manutenção ativa. O último commit de shenyu foi em 6 de nov. de 2026.
Para que posso usar shenyu?
Criar um ponto de entrada único para microsserviços que combinam HTTP, Dubbo e gRPC Aplicar autenticação, regras de WAF e limites de taxa a APIs públicas Fazer proxy e governar chamadas a provedores de LLM com limites de tokens e filtragem de conteúdo Executar um gateway no Kubernetes que reconcilia recursos Ingress
Como instalar shenyu?
Criar a rede do Docker: docker network create shenyu Gerar os segredos e iniciar os contêineres Admin, demo e gateway conforme mostrado no README Configurar a rota de exemplo no gateway conforme mostrado no README Verificar a rota pelo gateway: curl -i http://localhost:9195/index.html
Onde consigo shenyu?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apache/shenyu

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados