Fizz Gateway 2.6.5 发布,安全修复版本更新

v2.6.5
changelog:

修复一些安全漏洞
更新一些后台文案提示
优化统计数据上报接口

Fix some security vulnerabilities
Update some tips messages of fizz manager
Optimize reporting interfaces of statistics

Fizz Gateway 是什么?

An Aggregation API Gateway in Java . Fizz Gateway 是一个基于 Java 开发的微服务聚合网关,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API 审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行 API 服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。

演示环境(Demo)

http://demo.fizzgate.com/

账号 / 密码:admin/Aa123!

健康检查地址:http://demo.fizzgate.com/admin/health (线上版本请限制 admin 路径的外网访问)

API 地址:http://demo.fizzgate.com/proxy/[服务名]/[API_Path]

Fizz 的设计

产品特性

  • 集群管理:Fizz 网关节点是无状态的,配置信息自动同步,支持节点水平拓展和多集群部署。
  • 安全授权:支持内置的 key-auth, JWT, basic-auth 授权方式,并且可以方便控制。
  • 服务编排:支持 HTTP、Dubbo、gRPC、Soap 协议热服务编排能力,支持前后端编码,支持 JSON/XML 输出,随时随地更新 API。
  • 负载均衡:支持 round-robin 负载均衡。
  • 多注册中心:支持从 Eureka 或 Nacos 注册中心进行服务发现。
  • 配置中心:支持接入 apollo 配置中心。
  • HTTP 反向代理:隐藏真实后端服务,支持 Rest API 反向代理。
  • 访问策略:支持不同策略访问不同的 API、配置不同的鉴权等。
  • IP 黑白名单:支持配置 IP 黑白名单。
  • 自定义插件:强大的插件机制支持自由扩展。
  • 可扩展:简单易用的插件机制方便扩展功能。
  • 高性能:性能在众多网关之中表现优异。
  • 版本控制:支持操作的发布和多次回滚。
  • 管理后台:通过管理后台界面对网关集群进行各项配置。
  • 回调管理:支持回调的管理、订阅、重放、以及日志。
  • 多级限流:细颗粒度的限流方式包含服务限流,接口限流,APP_ID 限流,IP 限流。
  • 微服务文档:企业级管理开放微服务文档管理,系统集成更方便。
  • 公网专线:建立公网中受到完全保护的私有连接通道。
  • 策略熔断:根据服务或者具体地址进行多种恢复策略熔断配置。

基准测试

我们将 Fizz 与市面上主要的网关产品进行比较,使用相同的环境和条件,测试对象均为单个节点。Mock 接口模拟 20ms 时延,报文大小约 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
分类 产品 600 并发
QPS
600 并发
90% Latency(ms)
1000 并发
QPS
1000 并发
90% Latency(ms)
后端服务 直接访问后端服务 23540 32.19 27325 52.09
流量网关 kong
v2.4.1
15662 50.87 17152 84.3
应用网关 fizz-gateway-community
v2.0.0
12206 65.76 12766 100.34
应用网关 spring-cloud-gateway
v2.2.9
11323 68.57 10472 127.59
应用网关 shenyu
v2.3.0
9284 92.98 9939 148.61

版本对照

  • Fizz-gateway-community: 社区版

  • Fizz-manager-professional:管理后台专业版(服务端)

  • Fizz-admin-professional:管理后台专业版(前端)

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

从 v1.3.0 开始管理后台的前端和服务端合并成一个包

  • Fizz-gateway-community: 社区版

  • Fizz-manager-professional:管理后台

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

请根据社区版的版本下载对应的管理后台版本

部署说明

详细部署教程 >>>

安装依赖

安装以下依赖软件:

  • Redis 2.8 或以上版本
  • MySQL 5.7 或以上版本
  • Apollo 配置中心 (可选)
  • Eureka 或 Nacos 服务注册中心 (可选)

依赖的安装可参考详细部署教程

安装 Fizz

一、安装管理后台

从 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]

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/200879/fizz-gateway-2-6-5-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。