Fizz Gateway 2.6.0 发布,专属告警模块让微服务更放心
v2.6.0
changelog:
新增告警管理模块
新增设置管理模块
新增网关实例维护页面
支持查看网关实例的路由列表
支持查看网关实例的服务编排配置
支持OA流程审核服务编排发布申请
优化网关分组的实例配置
修复因跳过请求返回的空结果导致的空指针异常问题
Add the alarm management module
Add setting management module
Add gateway instance maintenance page
Support viewing route list of gateway instance
Support viewing aggregation configuration of gateway instance
Support approving aggregation API release request by OA system
Optimize the instance configuration of gateway group
Fix NullPointException issue cause by empty result of skipped request
Fizz Gateway是什么?
An Aggregation API Gateway in Java . Fizz Gateway 是一个基于 Java开发的微服务聚合网关,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。
演示环境(Demo)
账号/密码: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 |
请根据社区版的版本下载对应的管理后台版本
部署说明
安装依赖
安装以下依赖软件:
- 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)
说明:
- 以下安装步骤出现的
{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]

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
设置好DevOps转型下的研发策略,提升开发人员的研发效能
原文出自:嘉为蓝鲸服务号 资料下载:点这里 作为一名研发人员,你的工作中有没有遇到类似的问题:分支如何管理才能更好地提升研发和CI效率?单元测试如何做才能更高效?代码评审要不要做,审什么?想上容器,有哪些好的实践可以借鉴?好的策略可以使开发工作事半功倍,让软件交付提质增效。 本次直播我们邀请到资深DevOps咨询顾问段亚浩,来为大家详解如何通过对分支策略、代码质量/规范、云原生支持等多个方面的加强和优化,让开发人员提升研发效能。 精彩回顾一睹为快:DevOps研发端策略如何设置? 段亚浩老师说道,研发端需要注意的事项不少,例如规范和规则等。本次直播,我们先分享分支策略、单元测试、代码质量检查、代码评审、容器化策略这几个方面,后续有机会的话老师会再给大家分享其他的策略。通过这些策略,希望能加快交付的速度,同时保证产品的质量。 更多DevOps深度文章请戳: 1.为什么精益与DevOps相得益彰? 2.企业该如何解决DevOps转型道路上的常见障碍? 3.DevOps方法论掌握这四点,实践出真知 一、分支策略 1.代码管理工具:SVN or Git 大家用的比较多的代码管理工具有SVN和...
- 下一篇
MT-AUTH v1.4.0 发布,基于 RBAC 的权限系统
演示链接 商城 商城后台 登录中心 测试账户(2):user1@duoshu.org密:root 超级管理员(3):superadmin@duoshu.org密:root 请勿删除任何数据,谢谢 更新日志 通用 修复了软删除数据唯一性BUG 改进了事件的发布方式 新增了延迟扫描来确保事件不被漏掉 修复了事件重复存储BUG 采用了自动清除MDC的线程池 重构了Enum相关SQL Utility 添加checkstyle检查代码 mt-access 新增了验证服务 配置最大Http header(1MB)来解决413响应 mt-proxy 配置最大Http header(1MB)来解决413响应
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8