v2.7.0
変更ログ:
グレースケール パブリッシング プラグインの追加、
カスタム OAuthの
サポート、新しいバージョンのリマインダーのサポート
、最適化されたインターフェイス統計とアラーム ログ
グレースケール パブリッシング プラグインの追加
カスタム OAuth の
サポート 新しいバージョン通知のサポート
API 統計とアラーム ログの最適化
フィズゲートウェイとは?
An Aggregation API Gateway in Java . Fizz Gateway は Java に基づいて開発されたマイクロサービス アグリゲーション ゲートウェイです. 独立した知的財産権を持つアプリケーション ゲートウェイのローカライズされた代替品です. ホット サービスのオーケストレーションとアグリゲーション, 自動承認選択, オンライン サービス スクリプトのコーディングを実現できます. 、オンライン テスト、高性能ルーティング、API 監査管理、コールバック管理などの目的のために、それ自体で拡張できる強力なカスタム プラグイン システムがあり、企業が管理するのにすばやく役立つフレンドリーなグラフィカル構成インターフェイスを提供しますAPI サービスと中間層のグルー コードを削減するだけでなく、コーディングへの投資を削減し、API サービスの安定性とセキュリティを向上させます。
デモ環境 (デモ)
アカウント/パスワード: admin
/Aa123!
ヘルス チェック アドレス: http://demo.fizzgate.com/admin/health (オンライン バージョンの場合、管理者パスの外部ネットワーク アクセスを制限してください)
API アドレス: http://demo.fizzgate.com/proxy/[サービス名]/[API_Path]
フィズのデザイン
Fizz の典型的なアプリケーション シナリオ
製品の特徴
- クラスター管理: Fizz ゲートウェイ ノードはステートレスで、構成情報は自動的に同期され、ノードの水平展開とマルチクラスター展開をサポートします。
- セキュリティ承認: 組み込みの key-auth、JWT、basic-auth 承認方法をサポートし、簡単に制御できます。
- サービス オーケストレーション: HTTP、Dubbo、gRPC、Soap プロトコルのホット サービス オーケストレーション機能をサポートし、フロントエンドとバックエンドのコーディングをサポートし、JSON/XML 出力をサポートし、いつでもどこでも API を更新します。
- ロード バランシング: ラウンド ロビンのロード バランシングをサポートします。
- マルチレジストリ: Eureka または Nacos レジストリからのサービス検出をサポートします。
- 構成センター: apollo 構成センターへのアクセスをサポートします。
- HTTP リバース プロキシ: 実際のバックエンド サービスを隠し、Rest API リバース プロキシをサポートします。
- アクセス ポリシー: さまざまなポリシーをサポートして、さまざまな API にアクセスしたり、さまざまな認証を構成したりします。
- IP ブラック リストとホワイト リスト: IP ブラック リストとホワイト リストの構成をサポートします。
- カスタム プラグイン: 強力なプラグイン メカニズムにより、自由な拡張がサポートされます。
- 拡張可能: シンプルで使いやすいプラグイン メカニズムにより、拡張機能が容易になります。
- 高パフォーマンス: 多くのゲートウェイの中でパフォーマンスが優れています。
- バージョン管理: 操作の公開と複数のロールバックをサポートします。
- 管理バックグラウンド: 管理バックグラウンド インターフェイスを介してゲートウェイ クラスターを構成します。
- コールバック管理: コールバック管理、サブスクリプション、リプレイ、およびロギングをサポートします。
- マルチレベル電流制限: 細粒度の電流制限方法には、サービス電流制限、インターフェイス電流制限、APP_ID 電流制限、および IP 電流制限が含まれます。
- マイクロサービス ドキュメント: エンタープライズ レベルの管理により、マイクロサービス ドキュメント管理が可能になり、システム統合がより便利になります。
- パブリック ネットワーク専用線: パブリック ネットワークで完全に保護されたプライベート接続チャネルを確立します。
- ポリシー サーキット ブレーカー: サービスまたは特定のアドレスに基づいて、複数の回復戦略のサーキット ブレーカー構成を実行します。
ベンチマーク
同じ環境と条件を使用し、単一ノードをテストして、Fizz を市場の主要なゲートウェイ製品と比較しました。モック インターフェイスは 20 ミリ秒の遅延をシミュレートし、パケット サイズは約 2K です。
- Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz * 4
- Linux バージョン 3.10.0-957.21.3.el7.x86_64
- 8G RAM
分類 | 製品 | 600 同時 QPS |
600 同時 90% レイテンシ (ミリ秒) |
1000 同時 QPS |
1000 同時 90% レイテンシ (ミリ秒) |
---|---|---|---|---|---|
バックエンド サービス | バックエンド サービスへの直接アクセス | 23540 | 32.19 | 27325 | 52.09 |
トラフィック ゲートウェイ | コング v2.4.1 |
15662 | 50.87 | 17152 | 84.3 |
アプリケーション ゲートウェイ | フィズ ゲートウェイ コミュニティ v2.0.0 |
12206 | 65.76 | 12766 | 100.34 |
アプリケーション ゲートウェイ | spring-cloud-gateway v2.2.9 |
11323 | 68.57 | 10472 | 127.59 |
アプリケーション ゲートウェイ | 神宇 v2.3.0 |
9284 | 92.98 | 9939 | 148.61 |
バージョン比較
-
Fizz-gateway-community: コミュニティ版
-
Fizz-manager-professional: 管理バックグラウンド プロフェッショナル版 (サーバー)
-
Fizz-admin-professional: 管理者バックグラウンド プロフェッショナル バージョン (フロント エンド)
Fizz ゲートウェイ コミュニティ | フィズマネージャープロフェッショナル | Fizz-admin-professional |
---|---|---|
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 |
v1.3.0以降、管理バックグラウンドのフロントエンドとサーバーサイドが1つのパッケージに統合されました
-
Fizz-gateway-community: コミュニティ版
-
Fizz-manager-professional: 管理職の経歴
Fizz ゲートウェイ コミュニティ | フィズマネージャープロフェッショナル |
---|---|
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 |
コミュニティ版のバージョンに合わせて、対応する管理背景版をダウンロードしてください
導入手順
依存関係をインストールする
次の依存関係をインストールします。
- Redis 2.8 以降
- MySQL 5.7 以降
- Apollo Configuration Center (オプション)
- Eureka または Nacos サービス レジストリ (オプション)
依存関係のインストールについては、詳細なデプロイ チュートリアルを参照してください。
フィズをインストールする
1. 管理背景をインストールする
从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]