Java
1、Gravitee
仓库:https://github.com/gravitee-io
点评: 功能非常全,自带的dashboard也非常好用
2、Zuul
仓库:https://github.com/Netflix/zuul
star 12.9k
点评: 用Spring Cloud全家桶首选
3、Sentinel
仓库:https://github.com/alibaba/Sentinel
star 21.4k
Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
4、Soul
仓库:https://github.com/apache/shenyu
star 8k
Golang
1、manba
仓库:https://github.com/fagongzi/manba
star 3.3k
点评: 全开源,自主可控性高
2、Tky
仓库:https://github.com/TykTechnologies/tyk
star 8.8K
点评: 功能较全,但是授权方面是个问题,性能较差,几乎垫底。
3、Goku / Apinto
仓库:https://github.com/eolinker/goku_lite 或 https://github.com/eolinker/apinto
star 1k
Goku 已停止维护,项目迁移至 Apinto 开始商业运作
据官网介绍其性能远超 Nginx 和 Kong
4、Gloo
仓库:https://github.com/solo-io/gloo
star 3.9k
5、KrakenD / Lura
仓库:https://github.com/luraproject/lura
star 5.7k
据官网介绍其性能远超 Kong
Openresty+Lua
1、Kong
仓库:https://github.com/Kong/kong
star 35.9k
点评: 开源版本功能基本够用,性能优于 Nginx
2、Apisix
仓库:https://github.com/apache/apisix
star 12.6k
总结
如果你是java的项目,那么首选Sentinel,从特性角度来讲Golang天生就适合做网络组件,因此可以考虑Lura