企业级微服务API网关Fizz-常用插件介绍
前言
社区贡献的插件在 https://github.com/orgs/wehotel/repositories?type=all 下,一般以 fizz-plugin-* 或 fizz-*-plugin 命名,下面介绍一些常用的插件。
数据掩码插件
https://github.com/wehotel/fizz-plugin-data-mask
用例:
若网关代理的后端接口响应 json 数据 {“mobile”:”13710241024″},然后需要对手机号作掩码处理,则可为接口的路由配置插件:
配置后,请求接口时带 sourceType 请求头,其值为 ch1,收到响应为 {“mobile”:”137xxxxxx24″}。
请求头插件
https://github.com/wehotel/fizz-plugin-header-request
用例:
为路由配置插件:
如此配置后,路由的后端接口收到的请求头中,将会有 hdr2=val2。
响应头插件
https://github.com/wehotel/fizz-plugin-header-response
用法同请求头插件。
ip黑白名单插件
https://github.com/wehotel/fizz-plugin-ip
用例:
为路由配置插件:
配置后,请求接口时带 x-forwarded-for 请求头,其值为 2.4.6.9,收到响应为 {“msg”:”请求来自非法ip”,”code”:-1}。
缓存插件
https://github.com/wehotel/fizz-simple-cache-plugin
用例:
设请求为 http://127.0.0.1:8600/proxy/xservice/ypath?p1=v1,插件是以整个 uri 为缓存 key,使用本地缓存:
配置后,首次请求 http://127.0.0.1:8600/proxy/xservice/ypath?p1=v1 时,请求会到后端服务,后续请求将命中缓存
Fizz网关介绍
Fizz Gateway 是一个基于 Java开发的微服务聚合网关,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。
官网:https://www.fizzgate.com
GitHub:https://github.com/wehotel/fizz-gateway-community
码云:https://gitee.com/fizzgate/fizz-gateway
入门教程:https://www.fizzgate.com/fizz/guide/GettingStarted/
进阶教程:https://www.fizzgate.com/fizz/guide/advanced/
作者:lancer