Fizz Gateway 2.7.0 released, supports grayscale publishing

v2.7.0

changelog:

Added grayscale publishing plugin,
supports custom OAuth ,
supports new version reminders
, optimized interface statistics and alarm logs

Add grayscale publishing plugin
Support custom OAuth
Support new version notification
Optimize API statistics and alarm log

What is Fizz Gateway?

An Aggregation API Gateway in Java . Fizz Gateway is a microservice aggregation gateway developed based on Java. It is a localized alternative to application gateways with independent intellectual property rights. It can realize hot service orchestration and aggregation, automatic authorization selection, online service script coding, For online testing, high-performance routing, API audit management, callback management and other purposes, it has a powerful custom plug-in system that can be extended by itself, and provides a friendly graphical configuration interface, which can quickly help enterprises manage API services and reduce middle-layer glue code. As well as reducing coding investment and improving the stability and security of API services.

Demo environment (Demo)

http://demo.fizzgate.com/

Account/Password: admin/Aa123!

Health check address: http://demo.fizzgate.com/admin/health  (For online version, please restrict the external network access of the admin path)

API address: http://demo.fizzgate.com/proxy/[service name]/[API_Path]

Fizz's design

Typical application scenarios of Fizz

Product Features

  • Cluster management: Fizz gateway nodes are stateless, the configuration information is automatically synchronized, and it supports horizontal expansion of nodes and multi-cluster deployment.
  • Security authorization: supports built-in key-auth, JWT, basic-auth authorization methods, and can be easily controlled.
  • Service orchestration: supports HTTP, Dubbo, gRPC, Soap protocol hot service orchestration capabilities, supports front-end and back-end coding, supports JSON/XML output, and updates API anytime, anywhere.
  • Load balancing: Supports round-robin load balancing.
  • Multi-registry: Supports service discovery from Eureka or Nacos registries.
  • Configuration Center: Support access to apollo configuration center.
  • HTTP reverse proxy: Hide the real backend service and support Rest API reverse proxy.
  • Access policy: Support different policies to access different APIs, configure different authentication, etc.
  • IP black and white list: Supports configuring IP black and white list.
  • Custom plug-ins: A powerful plug-in mechanism supports free expansion.
  • Extensible: Simple and easy-to-use plug-in mechanism facilitates extended functionality.
  • High performance: The performance is excellent among many gateways.
  • Version Control: Supports publishing and multiple rollbacks of operations.
  • Management background: configure the gateway cluster through the management background interface.
  • Callback Management: Supports callback management, subscription, replay, and logging.
  • Multi-level current limiting: Fine-grained current limiting methods include service current limiting, interface current limiting, APP_ID current limiting, and IP current limiting.
  • Microservice documents: Enterprise-level management opens up microservice document management, making system integration more convenient.
  • Public network dedicated line: Establish a fully protected private connection channel in the public network.
  • Policy circuit breaker: Perform multiple recovery strategy circuit breaker configurations based on services or specific addresses.

Benchmarks

We compared Fizz to major gateway products on the market, using the same environment and conditions, and testing a single node. The Mock interface simulates a 20ms delay, and the packet size is about 2K.

  • Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz * 4
  • Linux version 3.10.0-957.21.3.el7.x86_64
  • 8G RAM
Classification product 600 concurrent
QPS
600 concurrent
90% Latency(ms)
1000 concurrent
QPS
1000 concurrent
90% Latency(ms)
backend service Direct access to backend services 23540 32.19 27325 52.09
traffic gateway kong
v2.4.1
15662 50.87 17152 84.3
Application Gateway fizz-gateway-community
v2.0.0
12206 65.76 12766 100.34
Application Gateway spring-cloud-gateway
v2.2.9
11323 68.57 10472 127.59
Application Gateway shenyu
v2.3.0
9284 92.98 9939 148.61

Version comparison

  • Fizz-gateway-community: Community Edition

  • Fizz-manager-professional: management background professional version (server)

  • Fizz-admin-professional: Admin background professional version (front end)

Fizz-gateway-community Fizz-manager-professional 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

Since v1.3.0, the front-end and server-side of the management background are merged into one package

  • Fizz-gateway-community: Community Edition

  • Fizz-manager-professional: management background

Fizz-gateway-community Fizz-manager-professional
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

Please download the corresponding management background version according to the version of the community version

Deployment Instructions

Detailed Deployment Tutorial >>>

Install dependencies

Install the following dependencies:

  • Redis 2.8 or above
  • MySQL 5.7 or above
  • Apollo Configuration Center (optional)
  • Eureka or Nacos service registry (optional)

For the installation of dependencies, please refer to the detailed deployment tutorial

Install Fizz

1. Install the management background

从github的releases(https://wj.qq.com/s2/8682608/8fe2/) 下载 fizz-manager-professional 安装包

管理后台(fizz-manager-professional)

说明:

  1. 以下安装步骤出现的{version}表示所使用管理后台的版本号,例如1.3.0

安装方式一:二进制安装包

  1. 解压fizz-manager-professional-{version}.zip安装包
  2. 首次安装执行fizz-manager-professional-{version}-mysql.sql数据库脚本,从低版本升级至高版本选择执行update目录下对应升级脚本
  3. 修改application-prod.yml文件,将相关配置修改成部署环境的配置
  4. Linux启动 执行 chmod +x boot.sh 命令给boot.sh增加执行权限;执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令
  5. Windows启动 执行.\boot.cmd start 命令启动服务,支持 start/stop/restart/status命令

安装方式二(v2.0.0或以上版本):docker:

  1. 下载对应版本的镜像:docker pull fizzgate/fizz-manager-professional:{version}
  2. 通过环境变量方式修改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社区版

说明:

  1. 支持配置中心:apollo、nacos,支持注册中心:eureka、nacos,详细配置方法查看application.yml文件。
  2. 如果使用apollo配置中心,可把application.yml文件内容迁到配置中心(apollo上应用名为:fizz-gateway);如果不使用apollo可去掉下面启动命令里的apollo参数。
  3. 以下安装步骤出现的{version}表示所使用网关的版本号,例如1.3.0

安装方式一:二进制安装包

  1. 下载fizz-gateway-community的二进制安装包,解压修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
  2. 根据需要修改boot.sh脚本的apollo连接,不使用apollo配置中心可跳过
  3. Linux启动 执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令
  4. Windows启动 执行.\boot.cmd start 命令启动服务,支持 start/stop/restart/status命令

安装方式二:源码安装:

  1. 本地clone仓库上的最新代码,修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
  2. 在项目根目录fizz-gateway-community下执行Maven命令mvn clean package install -DskipTests=true
  3. 在项目目录fizz-gateway-community/fizz-bootstrap下执行Maven命令mvn clean package -DskipTests=true
  4. 进入fizz-gateway-community/fizz-bootstrap/target/fizz-gateway-community目录,执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令

安装方式三(v2.0.0或以上版本):docker:

  1. 下载对应版本的镜像:docker pull fizzgate/fizz-gateway-community:{version}
  2. 通过环境变量方式修改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]

Guess you like

Origin www.oschina.net/news/210237/fizz-gateway-2-7-0-released