Динамичный высокопроизводительный API-шлюз на базе NGINX и etcd с плагинами для маршрутизации, аутентификации, ограничения трафика и работы с AI/LLM.
apache/shenyu
API-шлюз на Java для проксирования сервисов, преобразования протоколов и управления API с цепочкой плагинов и центральной консолью Admin.
Open source альтернатива:Kong
AWS 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
Создать сеть Docker
docker network create shenyu - 2
Сгенерировать секреты и запустить контейнеры Admin, demo и gateway, как указано в README
- 3
Настроить пример маршрута на gateway, как указано в README
- 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 обновляется ежедневно.
Похожие проекты
RPC-фреймворк на Go для микросервисов с подключаемым обнаружением сервисов, разными транспортами и кодеками, а также доступом из других языков через HTTP.
API-шлюз на Spring Framework и Spring Boot для маршрутизации и фильтрации HTTP-запросов в микросервисных системах.
Высокопроизводительный декларативный API Gateway без состояния на Go для маршрутизации, агрегации и защиты запросов к бэкенд-микросервисам.
Kong — облачный, платформонезависимый API-, LLM- и MCP-шлюз с поддержкой плагинов для маршрутизации и защиты трафика сервисов.
Платформа с открытым исходным кодом для динамического обнаружения сервисов, управления конфигурацией и метаданными сервисов в облачных и микросервисных системах.