# 环境准备
java 1.8、maven 3.3.3 及以上、redis 2.8 及以上
clone https://github.com/fizzgate/fizz-gateway-node.git 到本地,导入 ide 中,如 idea:
fizz-common 含通用配置、工具类等
fizz-core 是网关核心,含路由、聚合等逻辑
fizz-plugin 遗留的插件模块,fizz 插件开发规范参 http://www.fizzgate.com/guide/plugin
fizz-spring-boot-starter 模块是一个 spring boot starter,方便第三方集成 fizz 网关
fizz-bootstrap 是独立项目,与 fizz-gateway-node 非父子模块关系;主要展示第三方如何集成 fizz;在 fizz-gateway-node 上的开发,亦可在 fizz-bootstrap 中验证
- 管理后台搭建
从github的releases(https://github.com/fizzgate/fizz-gateway-node/releases) 下载与 fizz-gateway-node 版本一致的 fizz-manager-professional 安装包
解压
fizz-manager-professional-{version}.zip
安装包首次安装执行
fizz-manager-professional-{version}-mysql.sql
数据库脚本,从低版本升级至高版本选择执行update目录下对应升级脚本修改
application-prod.yml
文件,将相关配置修改成部署环境的配置修改
为你的 redis
修改
为你的 MySQL
Linux启动 执行
chmod +x boot.sh
命令给boot.sh
增加执行权限;执行./boot.sh start
命令启动服务,支持 start/stop/restart/status命令Windows启动 执行
.\boot.cmd start
命令启动服务,支持 start/stop/restart/status命令服务启动后访问 http://{部署机器IP地址}:8000/#/login,使用超级管理员账户
admin
密码Aa123!
登录
# 插件开发
- 比如开发一个插件,拦截请求后,在标准错误中输出 "this is my plugin",代码如下:
(此处为方便演示,把插件代码放于 fizz-plugin 模块下,插件开发规范请参 http://www.fizzgate.com/guide/plugin)
本地 maven install fizz-gateway-node
在 fizz-bootstrap 中测试
fizz-bootstrap 通过 fizz-spring-boot-starter 引入 fizz-gateway-node 的模块,可 reload fizz-bootstrap,确保依赖到 2 中的更新
修改
为管理后台的 redis
假设有后端接口:
GET http://127.0.0.1:9094/@ypath,接口由 fizz-bootstrap 反向代理,对应的前端服务名为 xservice,前端路径为 /ypath,即通过 /proxy/xservice/ypath 路径访问,同时应用上面的 myPlugin
为接口配置路由*(编程式,不依赖网关管理后台,仅用于开发测试)*
启动 FizzBootstrapApplication.java,访问 GET http://127.0.0.1:8600/proxy/xservice/ypath 进行测试
- 通过管理后台配置前述路由
- 新增插件
插件名称需与 MyPlugin.java 中的 id 一致,当定义了多个插件时,可通过 “默认执行顺序” 预设本插件的执行次序
- 新增路由
去掉网关的 MyApiConfig.java,重启 FizzBootstrapApplication.java,访问 GET http://127.0.0.1:8600/proxy/xservice/ypath 进行测试