v2.7.0
journal des modifications :
Ajout du plugin de publication en niveaux de gris, prend en
charge OAuth personnalisé , prend en
charge les rappels de nouvelle version
, les statistiques d'interface optimisées et les journaux d'alarme
Ajouter un plug-in de publication en niveaux de gris Prendre en
charge OAuth personnalisé
Prendre en charge la notification de nouvelle version
Optimiser les statistiques de l'API et le journal des alarmes
Qu'est-ce que la Passerelle Fizz?
Une passerelle API d'agrégation en Java. Fizz Gateway est une passerelle d'agrégation de microservices développée sur la base de Java. C'est une alternative localisée aux passerelles d'applications avec des droits de propriété intellectuelle indépendants. Il peut réaliser une orchestration et une agrégation de services à chaud, une sélection d'autorisation automatique, un codage de script de service en ligne. , Pour les tests en ligne, le routage haute performance, la gestion des audits API, la gestion des rappels et d'autres objectifs, il dispose d'un puissant système de plug-in personnalisé qui peut être étendu par lui-même et fournit une interface de configuration graphique conviviale, qui peut rapidement aider les entreprises à gérer Services API et réduction du code glue de la couche intermédiaire, tout en réduisant les investissements de codage et en améliorant la stabilité et la sécurité des services API.
Environnement de démonstration (Démo)
Compte/Mot de passe : admin
/Aa123!
Adresse de bilan de santé : http://demo.fizzgate.com/admin/health (Pour la version en ligne, veuillez restreindre l'accès au réseau externe du chemin d'administration)
Adresse API : http://demo.fizzgate.com/proxy/[nom du service]/[API_Path]
Le design de Fizz
Scénarios d'application typiques de Fizz
caractéristiques du produit
- Gestion des clusters : les nœuds de la passerelle Fizz sont sans état, les informations de configuration sont automatiquement synchronisées et prennent en charge l'expansion horizontale des nœuds et le déploiement multi-cluster.
- Autorisation de sécurité : prend en charge les méthodes d'authentification par clé, JWT et d'authentification de base intégrées et peut être facilement contrôlée.
- Orchestration de service : prend en charge les capacités d'orchestration de service à chaud HTTP, Dubbo, gRPC, protocole Soap, prend en charge le codage frontal et principal, prend en charge la sortie JSON/XML et met à jour l'API à tout moment, n'importe où.
- Équilibrage de charge : prend en charge l'équilibrage de charge circulaire.
- Multi-registre : prend en charge la découverte de services à partir des registres Eureka ou Nacos.
- Centre de configuration : prise en charge de l'accès au centre de configuration apollo.
- Proxy inverse HTTP : masquez le vrai service backend et prenez en charge le proxy inverse de l'API Rest.
- Politique d'accès : prend en charge différentes politiques pour accéder à différentes API, configurer différentes authentifications, etc.
- Liste noire et blanche IP : prend en charge la configuration de la liste noire et blanche IP.
- Plug-ins personnalisés : un puissant mécanisme de plug-in prend en charge l'extension libre.
- Extensible : un mécanisme de plug-in simple et facile à utiliser facilite l'extension des fonctionnalités.
- Hautes performances : les performances sont excellentes parmi de nombreuses passerelles.
- Contrôle de version : prend en charge la publication et plusieurs restaurations d'opérations.
- Arrière-plan de gestion : configurez le cluster de passerelle via l'interface d'arrière-plan de gestion.
- Gestion des rappels : prend en charge la gestion des rappels, l'abonnement, la relecture et la journalisation.
- Limitation de courant à plusieurs niveaux : les méthodes de limitation de courant à grain fin incluent la limitation de courant de service, la limitation de courant d'interface, la limitation de courant APP_ID et la limitation de courant IP.
- Documents de microservice : la gestion au niveau de l'entreprise ouvre la gestion des documents de microservice, ce qui rend l'intégration du système plus pratique.
- Ligne dédiée au réseau public : établissez un canal de connexion privé entièrement protégé dans le réseau public.
- Disjoncteur de politique : Effectuez plusieurs configurations de disjoncteur de stratégie de récupération en fonction de services ou d'adresses spécifiques.
Repères
Nous avons comparé Fizz aux principaux produits de passerelle sur le marché, en utilisant le même environnement et les mêmes conditions, et en testant un seul nœud. L'interface Mock simule un délai de 20 ms et la taille des paquets est d'environ 2K.
- Processeur Intel(R) Xeon(R) E5-2650 v3 à 2,30 GHz * 4
- Version Linux 3.10.0-957.21.3.el7.x86_64
- 8 Go de RAM
Classification | produit | 600 RPS simultanés |
600 simultanés 90 % de latence (ms) |
1 000 RPS simultanés |
1000 simultanés 90% Latence (ms) |
---|---|---|---|---|---|
service de back-end | Accès direct aux services back-end | 23540 | 32.19 | 27325 | 52.09 |
passerelle de trafic | Kong v2.4.1 |
15662 | 50,87 | 17152 | 84,3 |
Passerelle d'applications | communauté-passerelle-fizz v2.0.0 |
12206 | 65,76 | 12766 | 100,34 |
Passerelle d'applications | printemps-cloud-passerelle v2.2.9 |
11323 | 68,57 | 10472 | 127,59 |
Passerelle d'applications | shenyu v2.3.0 |
9284 | 92,98 | 9939 | 148,61 |
Comparaison des versions
-
Fizz-passerelle-communauté : édition communautaire
-
Fizz-manager-professionnel : gestion de fond version professionnelle (serveur)
-
Fizz-admin-professionnel : Version admin background professionnel (front end)
Fizz-passerelle-communauté | Fizz-manager-professionnel | Fizz-admin-professionnel |
---|---|---|
v1.0.0 | v1.0.0 | v1.0.0 |
v1.1.0 | v1.1.0 | v1.1.0 |
v1.1.1 | v1.1.1 | v1.1.1 |
v1.2.0 | v1.2.0 | v1.2.0 |
Depuis la v1.3.0, le front-end et le côté serveur de l'arrière-plan de gestion sont fusionnés en un seul package
-
Fizz-passerelle-communauté : édition communautaire
-
Fizz-manager-professionnel : formation en gestion
Fizz-passerelle-communauté | Fizz-manager-professionnel |
---|---|
v1.3.0 | v1.3.0 |
v1.4.0 | v1.4.0 |
v1.4.1 | v1.4.1 |
v1.5.0 | v1.5.0 |
v1.5.1 | v1.5.1 |
v2.0.0 | v2.0.0 |
v2.1.0 | v2.1.0 |
v2.2.0 | v2.2.0 |
v2.2.1 | v2.2.1 |
v2.2.3 | v2.2.3 |
v2.3.0 | v2.3.0 |
v2.3.2 | v2.3.2 |
v2.3.3 | v2.3.3 |
v2.4.0 | v2.4.0 |
v2.4.1 | v2.4.1 |
v2.5.0 | v2.5.0 |
v2.5.1 | v2.5.1 |
v2.5.2 | v2.5.2 |
v2.6.0 | v2.6.0 |
v2.6.1 | v2.6.1 |
v2.6.2 | v2.6.2 |
v2.6.3 | v2.6.3 |
v2.6.4 | v2.6.4 |
v2.6.5 | v2.6.5 |
v2.6.6 | v2.6.6 |
v2.7.0 | v2.7.0 |
Veuillez télécharger la version d'arrière-plan de gestion correspondante en fonction de la version de la version communautaire
Instructions de déploiement
Tutoriel de déploiement détaillé >>>
Installer les dépendances
Installez les dépendances suivantes :
- Redis 2.8 ou supérieur
- MySQL 5.7 ou supérieur
- Centre de configuration Apollo (facultatif)
- Registre de service Eureka ou Nacos (facultatif)
Pour l'installation des dépendances, veuillez vous référer au tutoriel de déploiement détaillé
Installer Fizz
1. Installez l'arrière-plan de gestion
从github的releases(https://wj.qq.com/s2/8682608/8fe2/) 下载 fizz-manager-professional 安装包
管理后台(fizz-manager-professional)
说明:
- 以下安装步骤出现的
{version}
表示所使用管理后台的版本号,例如1.3.0
。
安装方式一:二进制安装包
- 解压
fizz-manager-professional-{version}.zip
安装包 - 首次安装执行
fizz-manager-professional-{version}-mysql.sql
数据库脚本,从低版本升级至高版本选择执行update目录下对应升级脚本 - 修改
application-prod.yml
文件,将相关配置修改成部署环境的配置 - Linux启动 执行
chmod +x boot.sh
命令给boot.sh
增加执行权限;执行./boot.sh start
命令启动服务,支持 start/stop/restart/status命令 - Windows启动 执行
.\boot.cmd start
命令启动服务,支持 start/stop/restart/status命令
安装方式二(v2.0.0或以上版本):docker:
- 下载对应版本的镜像:docker pull fizzgate/fizz-manager-professional:{version}
- 通过环境变量方式修改redis配置、database配置(其它配置同理)并运行镜像
docker run --rm -d -p 8000:8000 \ -e "spring.redis.host={your redis host IP}" \ -e "spring.redis.port={your redis port}" \ -e "spring.redis.password={your redis password}" \ -e "spring.redis.database={your redis database}" \ -e "spring.datasource.url=jdbc:mysql://{your MySQL database host IP}:3306/fizz_manager?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true" \ -e "spring.datasource.username={your MySQL database username}" \ -e "spring.datasource.password={your MySQL database password}" \ fizzgate/fizz-manager-professional:{version}
或通过映射目录方式使用外部配置文件和输出日志到宿主机, 配置文件可从安装包里获取,在宿主机创建fizz-manager-professional/config和fizz-manager-professional/logs目录,把application-prod.yml配置文件放置config下,在fizz-manager-professional目录下运行镜像
cd fizz-manager-professional docker run --rm -d -p 8000:8000 \ -v $PWD/config:/opt/fizz-manager-professional/config \ -v $PWD/logs:/opt/fizz-manager-professional/logs fizzgate/fizz-manager-professional:{version}
服务启动后访问 http://{部署机器IP地址}:8000/#/login,使用超级管理员账户admin
密码Aa123!
登录
二、安装fizz-gateway-community社区版
说明:
- 支持配置中心:apollo、nacos,支持注册中心:eureka、nacos,详细配置方法查看application.yml文件。
- 如果使用apollo配置中心,可把application.yml文件内容迁到配置中心(apollo上应用名为:fizz-gateway);如果不使用apollo可去掉下面启动命令里的apollo参数。
- 以下安装步骤出现的
{version}
表示所使用网关的版本号,例如1.3.0
。
安装方式一:二进制安装包
- 下载fizz-gateway-community的二进制安装包,解压修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
- 根据需要修改boot.sh脚本的apollo连接,不使用apollo配置中心可跳过
- Linux启动 执行
./boot.sh start
命令启动服务,支持 start/stop/restart/status命令 - Windows启动 执行
.\boot.cmd start
命令启动服务,支持 start/stop/restart/status命令
安装方式二:源码安装:
- 本地clone仓库上的最新代码,修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
- 在项目根目录fizz-gateway-community下执行Maven命令
mvn clean package install -DskipTests=true
- 在项目目录fizz-gateway-community/fizz-bootstrap下执行Maven命令
mvn clean package -DskipTests=true
- 进入fizz-gateway-community/fizz-bootstrap/target/fizz-gateway-community目录,执行
./boot.sh start
命令启动服务,支持 start/stop/restart/status命令
安装方式三(v2.0.0或以上版本):docker:
- 下载对应版本的镜像:docker pull fizzgate/fizz-gateway-community:{version}
- 通过环境变量方式修改redis配置(其它配置同理)并运行镜像
docker run --rm -d -p 8600:8600 \ -e "aggregate.redis.host={your redis host IP}" \ -e "aggregate.redis.port={your redis port}" \ -e "aggregate.redis.password={your redis password}" \ -e "aggregate.redis.database={your redis database}" \ fizzgate/fizz-gateway-community:{version}
或通过映射目录方式使用外部配置文件和输出日志到宿主机, 配置文件可从安装包或源码里获取,在宿主机创建fizz-gateway-community/config和fizz-gateway-community/logs目录,把application.yml和log4j2-spring.xml配置文件放置config下,在fizz-gateway-community目录下运行镜像
cd fizz-gateway-community docker run --rm -d -p 8600:8600 \ -v $PWD/config:/opt/fizz-gateway-community/config \ -v $PWD/logs:/opt/fizz-gateway-community/logs fizzgate/fizz-gateway-community:{version}
最后访问网关,地址形式为:http://127.0.0.1:8600/proxy/[服务名]/[API_Path]