Site officiel | Documentation | Blog | Directives de développement |
Anglais | Chinois | Japonais
Higress est une passerelle API cloud native. Le noyau est basé sur les plug-ins Istio et Wasm qui peuvent être écrits avec Go/Rust/JS, etc., et fournit des dizaines de plug-ins généraux prêts à l'emploi, ainsi que. une console prête à l'emploi (démo cliquez ici)
Higress est né au sein d'Alibaba pour résoudre le problème des dommages causés par le rechargement de Tengine aux services à longue connexion et du manque de capacités d'équilibrage de charge gRPC/Dubbo.
Alibaba Cloud a construit un produit de passerelle API cloud natif basé sur Higress, offrant à un grand nombre d'entreprises clientes des capacités de service garanties à haute disponibilité de la passerelle à 99,99 %.
Higress est basé sur les capacités de la passerelle IA et prend en charge les entreprises d'IA telles que l'application Tongyi Qianwen, l'API grand modèle Bailian et la plateforme PAI d'apprentissage automatique. Dans le même temps, nous servons les principales sociétés AIGC nationales (telles que Zero One Thousand Things), ainsi que les produits d'IA (tels que FastGPT).
Higress nécessite uniquement le démarrage de Docker, ce qui permet aux développeurs individuels de créer et d'apprendre localement, ou de créer des sites simples :
# 创建一个工作目录
mkdir higress ; cd higress
# 启动 higress,配置文件会写到工作目录下
docker run -d --rm --name higress-ai -v ${PWD} :/data
-p 8001:8001 -p 8080:8080 -p 8443:8443
higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest
La description du port d'écoute est la suivante :
Toutes les images Docker de Higress ont toujours utilisé leur propre entrepôt exclusif et ne sont pas affectées par l'accès domestique restreint de Docker Hub.
Pour d'autres méthodes d'installation telles que le déploiement Helm sous K8, veuillez vous référer à la documentation officielle de démarrage rapide.
Si vous effectuez un déploiement sur le cloud, il est recommandé d'utiliser la version entreprise pour l'environnement de production. Pour le développement et les tests, vous pouvez utiliser le déploiement en un clic suivant de la version communautaire :
Passerelle IA :
Higress peut utiliser un protocole unifié pour se connecter à tous les fabricants de modèles LLM nationaux et étrangers, et dispose d'une riche observabilité de l'IA, d'un équilibrage de charge/de secours multimodèle, d'un contrôle du flux de jetons d'IA, d'une mise en cache de l'IA et d'autres fonctionnalités :
Passerelle d'entrée Kubernetes :
Higress peut être utilisé comme passerelle d'entrée Ingress pour les clusters K8 et est compatible avec un grand nombre d'annotations K8s Nginx Ingress, permettant une migration rapide et fluide de K8s Nginx Ingress vers Higress.
Prend en charge la norme API Gateway et prend en charge la migration fluide des utilisateurs de l'API Ingress vers l'API Gateway.
Par rapport à ingress-nginx, la surcharge de ressources est considérablement réduite et les modifications de routage prennent effet dix fois plus rapidement :
Passerelle de microservices :
Higress peut servir de passerelle de microservices et se connecter à plusieurs types de centres d'enregistrement pour découvrir des itinéraires de configuration de services, tels que Nacos, ZooKeeper, Consul, Eureka, etc.
Il est profondément intégré aux piles technologiques de microservices telles que Dubbo, Nacos et Sentinel, et repose sur les excellentes performances du cœur de la passerelle Envoy C++. Par rapport aux passerelles de microservices traditionnelles basées sur Java, il peut réduire considérablement l'utilisation des ressources et réduire les coûts.
Passerelle de protection de sécurité :
Higress peut servir de passerelle de protection de sécurité, fournir des fonctionnalités WAF et prendre en charge plusieurs stratégies d'authentification, telles que l'authentification par clé, hmac-auth, jwt-auth, basic-auth, oidc, etc.
qualité de production
Né d'un produit interne d'Alibaba produit et vérifié depuis plus de deux ans, il prend en charge des scénarios à grande échelle avec des centaines de milliers de requêtes par seconde.
Éliminez complètement la gigue du trafic causée par le rechargement de Nginx, les modifications de configuration prennent effet en quelques millisecondes et l'activité n'est pas affectée. Il est particulièrement adapté aux scénarios de connexion à long terme tels que les activités d’IA.
streaming
Prenant en charge un véritable corps de requête/réponse de streaming complet, le plug-in Wasm peut facilement personnaliser le traitement des messages des protocoles de streaming tels que SSE (Server-Sent Events).
Dans les scénarios à large bande passante tels que les services d’IA, la surcharge de mémoire peut être considérablement réduite.
Facile à étendre
Fournit une riche bibliothèque de plug-ins officiels, couvrant des fonctions courantes telles que l'IA, la gestion du trafic, la protection de la sécurité, etc., répondant aux besoins de plus de 90 % des scénarios commerciaux.
Il se concentre sur les extensions de plug-in Wasm, garantit la sécurité de la mémoire grâce à l'isolation du bac à sable, prend en charge plusieurs langages de programmation, permet la mise à niveau indépendante des versions de plug-in et réalise une mise à jour à chaud sans trafic de la logique de la passerelle.
Sûr et facile à utiliser
Basé sur les normes Ingress API et Gateway API, il fournit une console d'interface utilisateur prête à l'emploi, un plug-in de protection WAF et un plug-in de protection IP/Cookie CC.
Il prend en charge l'amarrage avec Let's Encrypt pour émettre et renouveler automatiquement des certificats gratuits, et peut être déployé sans K8. Il peut être démarré avec une seule ligne de commande Docker, ce qui le rend pratique à utiliser pour les développeurs individuels.
D'OpenAI vers d'autres grands modèles, la migration s'effectue en 30 secondes
Des observables riches
Fournit une observabilité prête à l'emploi. Grafana & Prometheus peuvent utiliser ceux intégrés ou se connecter à ceux qu'ils ont eux-mêmes construits.
Mécanisme d'extension enfichable
Le site officiel propose une variété de plug-ins. Les utilisateurs peuvent également développer leurs propres plug-ins, les intégrer dans des images docker/oci et les configurer sur la console. La logique du plug-in peut être modifiée en temps réel sans aucun dommage. trafic.
Découverte de plusieurs services
La découverte du service K8s Service est fournie par défaut. Grâce à la configuration, elle peut être connectée à des centres d'enregistrement tels que Nacos/ZooKeeper pour réaliser la découverte du service, ou elle peut être découverte sur la base d'une adresse IP statique ou d'un DNS.
Nom de domaine et certificat
Vous pouvez créer et gérer des certificats TLS et configurer le comportement HTTP/HTTPS du nom de domaine. La politique de nom de domaine prend en charge les plugins qui prennent effet sur des noms de domaine spécifiques.
Riches capacités de routage
Grâce au mécanisme de découverte de services défini ci-dessus, les services découverts apparaîtront dans la liste des services : lors de la création d'une route, sélectionnez le nom de domaine, définissez le mécanisme de correspondance de route, puis sélectionnez le service cible pour le routage ; la politique de routage prend en charge les plug-ins ; qui prennent effet sur des itinéraires spécifiques.
Higress ne serait pas possible sans le travail open source d'Envoy et d'Istio, et je voudrais exprimer mon plus sincère respect à ces deux projets.
Compte public WeChat :
↑ Retour en haut↑