Об этом проекте

Apache APISIX — это динамический, работающий в реальном времени высокопроизводительный API-шлюз, построенный на основе NGINX и etcd. Он предоставляет богатые возможности управления трафиком, включая балансировку нагрузки, динамический апстрим, канареечный релиз, размыкание цепи, аутентификацию и наблюдаемость. Он обрабатывает как северо-южный, так и восточно-западный трафик и может использоваться в качестве Kubernetes ingress-контроллера. Ключевые возможности включают: - **Поддержка множества протоколов**: TCP/UDP-прокси, Dubbo-прокси, MQTT-прокси, gRPC-прокси, gRPC Web-прокси, gRPC-транскодирование, WebSocket-прокси, HTTP(S) forward-прокси, SSL и HTTP/3 с QUIC. - **Полностью динамическая конфигурация**: горячие обновления и горячие плагины без перезапусков, переписывание прокси, переписывание ответов, динамическая балансировка нагрузки (round-robin и на основе хэша), проверки здоровья, размыкатель цепи, зеркалирование прокси и разделение трафика. - **Тонкая маршрутизация**: сопоставление по полному пути и префиксу, встроенные переменные Nginx как условия маршрутизации, различные операторы, пользовательские функции сопоставления маршрутов, поддержка IPv6, TTL, приоритет, пакетные HTTP-запросы и фильтрация атрибутов GraphQL. - **Безопасность**: множество методов аутентификации (key-auth, JWT, basic-auth, wolf-rbac, casbin, keycloak, casdoor), белые и чёрные списки IP и referer, интеграция IdP, ограничение скорости (limit-req, limit-count, limit-concurrency), Anti-ReDoS, CORS, блокировщик URI, проверка запросов и защита CSRF. - **Операции**: трассировка Zipkin, Apache SkyWalking APM, внешнее обнаружение сервисов (Consul, Nacos, Eureka, Zookeeper), мониторинг Prometheus, кластеризация, высокая доступность, панель управления, управление версиями с откатом, CLI, автономный режим, глобальные правила, внедрение сбоев, REST Admin API и обширные интеграции внешних логгеров (HTTP, TCP, Kafka, UDP, RocketMQ, SkyWalking, SLS, Google Cloud, Splunk, File, Loggly, Tencent Cloud CLS, ClickHouse, Elasticsearch, Datadog). - **Высокая расширяемость**: пользовательские плагины на Lua, Java, Go, Python, Node.js и Proxy Wasm SDK; пользовательские алгоритмы балансировки нагрузки; пользовательская маршрутизация. - **Интеграция с серверлесс-функциями**: функции Lua, AWS Lambda, Azure Functions и Apache OpenWhisk. - **AI-шлюз**: AI-проксирование для маршрутизации трафика к различным LLM-провайдерам через единый интерфейс, балансировка нагрузки/повторные попытки/откаты между несколькими LLM, ограничение скорости на основе токенов, надёжная безопасность для AI-нагрузок и плагин mcp-bridge для преобразования MCP-серверов на основе stdio в масштабируемые HTTP SSE-сервисы. APISIX не зависит от платформы, не привязывает к вендору, работает от bare-metal до Kubernetes и поддерживает ARM64. Производительность на одно ядро достигает 18k QPS со средней задержкой менее 0,2 миллисекунды, а на восьмиядерном сервере AWS QPS достигает 140 000 с задержкой 0,2 мс. Лицензия — Apache 2.0.