厌倦了写网关的无聊胶水代码,我们造了一个动态热更新的聚合网关的轮子 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jiansihun
V2EX    分享创造

厌倦了写网关的无聊胶水代码,我们造了一个动态热更新的聚合网关的轮子

  •  
  •   < href="/member/jiansihun">jiansihun
    linwaiwai 2020-10-18 15:41:44 +08:00 3284 次点击
    这是一个创建于 1847 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前每次开一个项目,我们就做一个应用网关,做得多大伙就厌倦了,造起了新的轮子,现在轮子造好了,推荐给各位试试看看能否节省大家的时间。

    infoQ 编辑做的文章服务器减少 50%,研发效率提高 86%,我们的管理型网关 Fizz 自研之路

    大家也可以在实践里面参考一下 ,github 链接

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

    Fizz 的设计

    产品特性

    • 集群管理:Fizz 网关节点是无状态的,配置信息自动同步,支持节点水平拓展和多集群部署。
    • 服务编排:支持热服务编排能力,支持前后端编码,随时随地更新 API 。
    • 负载均衡:支持 round-robin 负载均衡。
    • 服务发现:支持从 Eureka 注册中心发现后端服务器。
    • 配置中心:支持接入 apollo 配置中心。
    • HTTP 反向代理:隐藏真实后端服务,支持 Rest API 反向代理。
    • 访问策略:支持不同策略访问不同的 API 、配置不同的鉴权等。
    • IP 黑白名单:支持配置 IP 黑白名单。
    • 自定义插件:强大的插件机制支持自由扩展。
    • 可扩展:简单易用的插件机制方便扩展功能。
    • 高性能:性能在众多网关之中表现优异。
    • 版本控制:支持操作的发布和多次回滚。
    • 管理后台:通过管理后台界面对网关集群进行各项配置。

    基准测试

    我们将 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 |

    部署说明

    部署教程

    3 条回复    2020-11-25 11:22:59 +08:00
    jiansihun
        1
    jiansihun  
    OP
       2020-10-20 10:21:51 +08:00
    如果要技术支持或者询问技术问题,可以加 q & q 群:512164278 。
    jiansihun
        2
    jiansihun  
    OP
       2020-11-10 10:08:57 +08:00
    Fizz Gateway 1.1.1 版本发布!支持更多方便的后台管理功能特性:

    1 、禁止 default 网关分组的编辑删除;
    2 、修改插件配置时同时向网关推送数据;
    3 、限制插件名称唯一,网关分组、插件名称、增加 appID 字段长度限制;
    4 、修复插件管理校验 bug,插件表单定义可为空;
    5 、增加路由管理详情字段必填标记;
    6 、修复管理后台路由配置的 app 为空时, 授权插件无法获取此路由配置的问题;
    7 、默认关闭服务白名单;
    jiansihun
        3
    jiansihun  
    OP
       2020-11-25 11:22:59 +08:00
    Fizz Gateway 1.2.0 已经发布,此版本更新内容:

    支持 Nacos 注册中心和配置中心
    支持不使用注册中心以及设置 Eureka 为可选依赖
    支持接口统计
    支持在服务编排里配置重定向
    支持在 Windows 通过脚本直接启动管理后台
    输出服务编排脚本异常信息
    增加内置默认脚本 common.js
    修复因数据库区分大小写导致后台启动报错问题
    修复路由管理功能 API 按后端服务转发 URL 重复时数据异常
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2735 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:34 PVG 21:34 LAX 05:34 JFK 08:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86