Repolode
apache

apache/shenyu

API-шлюз на Java для проксирования сервисов, преобразования протоколов и управления API с цепочкой плагинов и центральной консолью Admin.

Open source альтернатива:KongAWS API Gateway

Звёзды
8,912
Форки
3,111
Открытые issues
353
Последний коммит
23 часа назад

Что это?

Apache ShenYu — API-шлюз, написанный на Java. Запросы проходят через упорядоченную цепочку плагинов, а ShenYu Admin хранит плагины, селекторы, правила и метаданные и отправляет конфигурацию репликам шлюза. Консоль Admin отвечает за централизованную настройку, а экземпляры шлюза применяют обновления в локальных кэшах.

Шлюз проксирует HTTP-сервисы и сервисы Spring Cloud, соединения WebSocket, а также бэкенды Apache Dubbo и gRPC. В него входят инструменты управления трафиком — балансировка нагрузки, ограничение частоты запросов и отказоустойчивость на базе Resilience4j и Sentinel, — а также WAF, подпись запросов, аутентификация, кэширование и переписывание URL. В последних обновлениях добавлены проксирование AI-сервисов, ограничения на количество токенов и плагин MCP-сервера.

Клиенты сервисов регистрируют адреса и метаданные API в Admin, а дополнительный Kubernetes-контроллер согласует ресурсы Ingress и Endpoints. По умолчанию конфигурация синхронизируется через WebSocket; также доступны HTTP long polling, ZooKeeper, Nacos и etcd. Для быстрого запуска доступны Docker-образы.

Ключевые возможности

  • 01Упорядоченная цепочка плагинов с поддержкой пользовательских плагинов на Java и API плагинов WASM
  • 02Проксирование HTTP-, Spring Cloud-, Dubbo-, gRPC- и WebSocket-бэкендов
  • 03Балансировка нагрузки, ограничение частоты запросов и отказоустойчивость на базе Resilience4j и Sentinel
  • 04Центральная консоль Admin для синхронизации конфигурации с репликами шлюза
  • 05Плагины метрик и логирования с поддержкой Kafka и Elasticsearch в качестве получателей данных

Сценарии использования

  • Создание единой точки входа перед микросервисами, использующими HTTP, Dubbo и gRPC
  • Применение аутентификации, правил WAF и ограничений частоты запросов к публичным API
  • Проксирование и управление вызовами к провайдерам LLM с ограничением количества токенов и фильтрацией контента
  • Запуск шлюза в Kubernetes с согласованием ресурсов Ingress

Быстрый старт

  1. 1

    Создать сеть Docker

    docker network create shenyu
  2. 2

    Сгенерировать секреты и запустить контейнеры Admin, demo и gateway, как указано в README

  3. 3

    Настроить пример маршрута на gateway, как указано в README

  4. 4

    Проверить маршрут через gateway

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

Что важно знать

  • В быстром запуске Docker по умолчанию используется база данных H2 в памяти, поэтому для сохранения маршрутов нужна постоянная база данных.
  • SOFA и Tars больше не входят в комплект и требуют отдельных стартеров plugin-store.
  • Apollo и Hystrix устарели, поэтому их не следует использовать в новых проектах.

В подборках

Темы

Частые вопросы

Что такое shenyu?
API-шлюз на Java для проксирования сервисов, преобразования протоколов и управления API с цепочкой плагинов и центральной консолью Admin. Apache ShenYu — API-шлюз, написанный на Java. Запросы проходят через упорядоченную цепочку плагинов, а ShenYu Admin хранит плагины, селекторы, правила и метаданные и отправляет конфигурацию репликам шлюза. Консоль Admin отвечает за централизованную настройку, а экземпляры шлюза применяют обновления в локальных кэшах.
shenyu можно использовать бесплатно? Какая у него лицензия?
shenyu распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
shenyu всё ещё поддерживается?
Активно поддерживается. Последний коммит в shenyu — 6 нояб. 2026 г..
Для чего можно использовать shenyu?
Создание единой точки входа перед микросервисами, использующими HTTP, Dubbo и gRPC Применение аутентификации, правил WAF и ограничений частоты запросов к публичным API Проксирование и управление вызовами к провайдерам LLM с ограничением количества токенов и фильтрацией контента Запуск шлюза в Kubernetes с согласованием ресурсов Ingress
Как установить shenyu?
Создать сеть Docker: docker network create shenyu Сгенерировать секреты и запустить контейнеры Admin, demo и gateway, как указано в README Настроить пример маршрута на gateway, как указано в README Проверить маршрут через gateway: curl -i http://localhost:9195/index.html
Где скачать shenyu?
Исходный код и инструкции по установке — на GitHub: https://github.com/apache/shenyu

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Динамичный высокопроизводительный API-шлюз на базе NGINX и etcd с плагинами для маршрутизации, аутентификации, ограничения трафика и работы с AI/LLM.

17,3 тыс.+26 за неделю3 тыс.LuaApache-2.0Активно поддерживаетсяОбновлён вчера

Платформа с открытым исходным кодом для динамического обнаружения сервисов, управления конфигурацией и метаданными сервисов в облачных и микросервисных системах.

33,5 тыс.+9 за неделю13,3 тыс.JavaApache-2.0Обновлён позавчера