比 Spring Cloud Zuul 更好用的 API 网关(spring cloud网关的好处)

推荐一个 比 spring cloud 更好用的 API 网关。它是一个基于脚本解释器的低代码 API 网关。用于协议转换、反向代理、服务编排,BFF 等。

此项目是由 阿里本地生活 使用的 API 网关改进而来,在内部有非常广泛的使用,在本地生活承担 40W QPS,支持 http 、dubbo

GitHub – fiber-net-gateway/fiber-net-gateway: 一个基于脚本解释器的低代码 API 网关。用于协议转换、反向代理、服务编排,BFF等。 此项目是由 阿里本地生活 使用的 API 网关改进而来,在内部有非常广泛的使用,其强大之处在于灵活的服务编排能力,支持 http 、dubbo。

它可以通过简单灵活的脚本语言来实现 API 网关的功能。项目的核心是 实现了一个轻量级脚本引擎、一个纯异步的 HTTP server 、一个纯异步的 HTTP client, 引入了 dubbo 。通过 脚本来代替配置,可以实现 灵活的 http 调用、dubbo 调用功能,其强大之处在于 灵活的服务编排能力。

特性

同样是使用 java 开发,相比与 SpringCloud Zuul,它有很多 鲜明的特点。

低代码

它实现了一个灵活好用的脚本 解释器(interpreter、vm),通过脚本代替配置文件、并且支持动态更新、对于用户来说更加灵活、更加直观。毕竟API 网关的用户都是程序员,看简单的代码比看一堆复杂的 YAML 配置来得更加直观。

高性能、低开销

脚本解释器是以协程的方式运行的,不占用线程资源。底层也是基于 netty NIO 开发的,除了 EVENT_LOOP 外无其它业务线程,利用大量的无锁并发设计,netty 零拷贝等技术,性能高,开销很低。

轻依赖

整个项目只依赖 netty 和 jackson 两个第三方库,无其它依赖。核心代码也只有 14000 行,在内部实现了 虚拟机、异步带连接池的 http client ,http server,依赖注入、reactive 异步事件等特性,非常利用阅读和学习。

相关新闻

联系我们
联系我们
公众号
公众号
在线咨询
返回顶部