Files
fizz-gateway-node/README.md

201 lines
9.1 KiB
Markdown
Raw Normal View History

2021-01-04 13:40:32 +08:00
[English](./README.en-us.md) | 简体中文
2020-10-26 12:46:27 +08:00
<h1 align="center">Welcome to Fizz Gateway</h1>
<p>
<img alt="Version" src="https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000" />
2020-12-08 17:23:43 +08:00
<a href="http://www.fizzgate.com/fizz-gateway-community/" target="_blank">
2020-10-26 12:46:27 +08:00
<img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
</a>
<a href="#" target="_blank">
<img alt="License: GPL--3.0" src="https://img.shields.io/badge/License-GPL--3.0-yellow.svg" />
</a>
<a href="https://github.com/wehotel/fizz-gateway-community/actions" target="_blank">
<img alt="Java CI with Maven" src="https://github.com/wehotel/fizz-gateway-community/workflows/Java%20CI%20with%20Maven/badge.svg?branch=master" />
</a>
</p>
- **最新QQ交流群**: 512164278
2020-11-02 14:42:04 +08:00
## Fizz Gateway是什么
2020-09-03 10:59:23 +08:00
A Managerment API Gateway in Java . Fizz Gateway 是一个基于 Java开发的微服务网关能够实现热服务编排、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理等目的拥有强大的自定义插件系统可以自行扩展并且提供友好的图形化配置界面能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。
2020-09-02 18:35:03 +08:00
2020-12-04 19:21:02 +08:00
## 演示环境Demo
2020-12-04 19:16:42 +08:00
http://demo.fizzgate.com/
2020-12-04 19:20:41 +08:00
2020-12-04 19:16:42 +08:00
账号/密码:`admin`/`Aa123!`
2020-12-05 11:34:45 +08:00
健康检查地址http://demo.fizzgate.com/serviceConfigs
API地址http://demo.fizzgate.com/proxy/[服务名]/[API Path]
2020-10-23 16:27:12 +08:00
## Fizz的设计
2020-09-03 10:59:23 +08:00
<img width="500" src="https://user-images.githubusercontent.com/184315/97130741-33a90d80-177d-11eb-8680-f589a36e44b3.png" />
2020-09-03 10:59:23 +08:00
2020-10-23 16:27:12 +08:00
## 产品特性
2020-09-03 10:59:23 +08:00
- 集群管理Fizz网关节点是无状态的配置信息自动同步支持节点水平拓展和多集群部署。
- 服务编排支持热服务编排能力支持前后端编码随时随地更新API。
- 负载均衡支持round-robin负载均衡。
- 服务发现支持从Eureka注册中心发现后端服务器。
- 配置中心支持接入apollo配置中心。
- HTTP反向代理隐藏真实后端服务支持 Rest API反向代理。
- 访问策略支持不同策略访问不同的API、配置不同的鉴权等。
- IP黑白名单支持配置IP黑白名单。
- 自定义插件:强大的插件机制支持自由扩展。
- 可扩展:简单易用的插件机制方便扩展功能。
- 高性能:性能在众多网关之中表现优异。
- 版本控制:支持操作的发布和多次回滚。
2020-09-03 14:26:04 +08:00
- 管理后台:通过管理后台界面对网关集群进行各项配置。
2020-09-03 10:59:23 +08:00
2020-10-23 16:27:12 +08:00
## 基准测试
2020-09-09 14:42:18 +08:00
我们将Fizz与Spring官方spring-cloud-gateway进行比较使用相同的环境和条件测试对象均为单个节点。
- Intel(R) Xeon(R) CPU X5675 @ 3.07GHz * 4
- Linux version 3.10.0-327.el7.x86_64
- 8G RAM
| 产品 | QPS | 90% Latency(ms) |
| :------------------: | ------- | -------------------- |
| 直接访问后端服务 | 9087.46 | 10.76 |
| fizz-gateway | 5927.13 | 19.86 |
| spring-cloud-gateway | 5044.04 | 22.91 |
2020-10-23 16:27:12 +08:00
## 版本对照
2020-09-09 14:42:18 +08:00
2020-10-23 16:27:12 +08:00
- Fizz-gateway-community 社区版
2020-09-02 18:35:03 +08:00
2020-10-23 16:27:12 +08:00
- Fizz-manager-professional管理后台专业版服务端
2020-09-21 13:16:41 +08:00
2020-10-23 16:27:12 +08:00
- Fizz-admin-professional管理后台专业版前端
2020-09-21 13:16:41 +08:00
2020-10-23 16:27:12 +08:00
| Fizz-gateway-community | Fizz-manager-professional | Fizz-admin-professional |
| ---------------------- | ------------------------- | ----------------------- |
| v1.0.0 | v1.0.0 | v1.0.0 |
2020-10-27 16:18:30 +08:00
| v1.1.0 | v1.1.0 | v1.1.0 |
| v1.1.1 | v1.1.1 | v1.1.1 |
2020-12-21 12:06:49 +08:00
| v1.2.0 | v1.2.0 | v1.2.0 |
2020-09-21 13:16:41 +08:00
2020-12-21 12:06:49 +08:00
从v1.3.0开始管理后台的前端和服务端合并成一个包
- Fizz-gateway-community 社区版
- Fizz-manager-professional管理后台
| Fizz-gateway-community | Fizz-manager-professional |
| ---------------------- | ------------------------- |
| v1.3.0 | v1.3.0 |
2021-01-18 16:49:11 +08:00
| v1.4.0 | v1.4.0 |
2020-09-21 13:16:41 +08:00
2020-12-21 12:06:49 +08:00
请根据社区版的版本下载对应的管理后台版本
2020-10-23 16:27:12 +08:00
## 部署说明
2020-12-08 17:25:04 +08:00
[详细部署教程>>>](http://www.fizzgate.com/guide/installation/)
2020-10-23 16:27:12 +08:00
### 安装依赖
安装以下依赖软件:
- Redis 2.8或以上版本
- MySQL 5.7或以上版本
- Apollo配置中心 (可选)
- Eureka服务注册中心
依赖的安装可参考详细部署教程
### 安装Fizz
#### 一、安装管理后台
2020-10-23 16:27:12 +08:00
2020-12-21 12:06:49 +08:00
从github的releases(https://github.com/wehotel/fizz-gateway-community/releases) 下载 fizz-manager-professional 安装包
##### 管理后台fizz-manager-professional
说明:
1. 以下安装步骤出现的`{version}`表示所使用管理后台的版本号,例如`1.3.0`
2020-10-23 16:27:12 +08:00
2020-12-21 12:06:49 +08:00
安装:
2020-10-23 16:27:12 +08:00
1. 解压`fizz-manager-professional-{version}.zip`安装包
2. 首次安装执行`fizz-manager-professional-{version}-mysql.sql`数据库脚本从低版本升级至高版本选择执行update目录下对应升级脚本
2020-10-23 16:27:12 +08:00
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命令
6. 服务启动后访问 http://{部署机器IP地址}:8000/#/login,使用超级管理员账户`admin`密码`Aa123!`登录
2020-10-23 16:27:12 +08:00
#### 二、安装fizz-gateway-community社区版
2020-10-23 16:27:12 +08:00
说明:
1. 支持配置中心apollo、nacos支持注册中心eureka、nacos详细配置方法查看application.yml文件。
2. 如果使用apollo配置中心可把application.yml文件内容迁到配置中心apollo上应用名为fizz-gateway如果不使用apollo可去掉下面启动命令里的apollo参数。
2020-12-21 12:06:49 +08:00
3. 以下安装步骤出现的`{version}`表示所使用网关的版本号,例如`1.3.0`
2020-10-23 16:27:12 +08:00
安装方式一:脚本启动:
2020-10-23 16:27:12 +08:00
2020-12-21 12:06:49 +08:00
1. 下载fizz-gateway-community的最新代码修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置使用maven命令`mvn clean package -DskipTests=true`构建并把构建好的fizz-gateway-community-{version}.jar和boot.sh放同一目录
2020-10-23 16:27:12 +08:00
2. 修改boot.sh脚本的apollo连接JVM内存配置
3. 执行 `./boot.sh start` 命令启动服务,支持 start/stop/restart/status命令
安装方式二IDE启动:
2020-10-23 16:27:12 +08:00
1. 本地clone仓库上的最新代码
2. 将项目fizz-gateway导入IDE
2020-12-07 16:05:47 +08:00
3. 导入完成后设置项目启动配置及修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置在VM选项中加入`-Denv=dev -Dapollo.meta=http://localhost:66`(Apollo配置中心地址)
2020-10-23 16:27:12 +08:00
安装方式三jar启动:
2020-10-23 16:27:12 +08:00
2020-12-07 16:05:47 +08:00
1. 本地clone仓库上的最新代码修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
2020-10-23 16:27:12 +08:00
2. 在项目根目录fizz-gateway-community下执行Maven命令`mvn clean package -DskipTests=true`打包
2020-12-21 12:06:49 +08:00
3. 进入target目录使用命令`java -jar -Denv=DEV -Dapollo.meta=http://localhost:66 fizz-gateway-community-{version}.jar`启动服务
2020-10-23 16:27:12 +08:00
2020-11-02 14:44:19 +08:00
最后访问网关地址形式为http://127.0.0.1:8600/proxy/[服务名]/[API Path]
2020-10-23 16:27:12 +08:00
## 官方技术交流群
Fizz官方技术交流①群已满
Fizz官方技术交流②群已满
Fizz官方技术交流③群512164278
2020-09-21 13:16:41 +08:00
![](https://user-images.githubusercontent.com/184315/97130743-3572d100-177d-11eb-97c8-7599a22c7c04.png)
2020-09-21 13:16:41 +08:00
2020-10-27 16:18:30 +08:00
## 相关文章
2020-10-23 16:27:12 +08:00
[服务器减少50%研发效率提高86%我们的管理型网关Fizz自研之路](https://www.infoq.cn/article/9wdfiOILJ0CYsVyBQFpl)
[简单易用的微服务聚合网关首选Fizz Gateway安装教程](https://my.oschina.net/linwaiwai/blog/4696224)
[大厂推荐使用的网关解密Fizz Gateway管理后台使用教程](https://my.oschina.net/linwaiwai/blog/4696124)
[架构师效率快的终极原因Fizz Gateway网关之服务编排](https://my.oschina.net/linwaiwai/blog/4696116)
2020-10-23 16:27:12 +08:00
[高阶架构师支招Fizz Gateway的插件开发](https://my.oschina.net/linwaiwai/blog/4696131)
2020-10-23 16:27:12 +08:00
[高阶程序员必备技能Fizz Gateway网关的二次开发](https://my.oschina.net/linwaiwai/blog/4696133)
2020-10-23 16:27:12 +08:00
## 授权说明
2020-09-02 18:35:03 +08:00
2020-09-03 10:59:23 +08:00
1. 网关核心项目fizz-gateway-community社区版本以GNU v3的方式进行的开放可以免费使用。
2020-09-02 18:35:03 +08:00
2020-09-21 16:05:48 +08:00
2. 管理后台项目(fizz-manager-professional和fizz-admin-professional)作为商业版本仅开放二进制包 [免费下载](https://github.com/wehotel/fizz-gateway-community/releases)而商业项目请联系我们524423586@qq.com进行授权。
2020-09-02 18:35:03 +08:00
2020-10-23 16:27:12 +08:00
## 系统截图
![](https://user-images.githubusercontent.com/184315/97131368-f5ace900-177e-11eb-9e00-24e73d4e24f5.png)
2020-10-23 16:27:12 +08:00
![](https://user-images.githubusercontent.com/184315/97131376-f9407000-177e-11eb-8c17-4922b3df5d48.png)
2020-10-23 16:27:12 +08:00
![](https://user-images.githubusercontent.com/184315/97131378-f9d90680-177e-11eb-92b4-6fc67550daca.png)
2020-10-23 16:27:12 +08:00
![](https://user-images.githubusercontent.com/184315/97131381-fba2ca00-177e-11eb-9e59-688dafa76aea.png)
2020-10-23 16:27:12 +08:00
2020-12-04 19:16:42 +08:00
![](https://user-images.githubusercontent.com/184315/97131382-fc3b6080-177e-11eb-908a-a5ffc8b08459.png)