关于微服务网关的选择

2020-06-24 23:02:47 +08:00
 OldCarMan

目前 java 生态比较主流的网关(个人觉得)有:nginx,Spring Cloud Gateway,Zuul 等。

我大概看了网上关于这三个的性能测试,如果单单做路由转发似乎,nginx 的性能是最高的,gateway 其次(高并发),总体比较差的是 zuul,nginx 相对于其他两个大幅领先。另外 gateway 和 zuul 集齐了权限控制、限流熔断、负载均衡、轨迹追踪和实时监控等功能,当然大部分功能 nginx 配合一些脚本应该也可以实现,可能只是一个集中维护和分开维护的问题。

想问一下各位大佬,平时生产环境对网关的选择,和这么做选择的理由是什么?谢谢大佬们。

5589 次点击
所在节点    NGINX
27 条回复
OldCarMan
2020-06-28 01:14:55 +08:00
@securityCoding 嗯,如我上一层所说,性能确实不是唯一要素,但个人觉得也不能说就没有用,只是在某个时间点上,可以暂时不考虑,比如初创团队,人员少,事情多,这时要快速出产品或者周期迭代,有些技术成本比较高的方案可能就暂时不会被考虑,但如果现在面临的是一个稳定的团队,产品也逐渐成熟,用户量级逐步上升,面对一些新需求(比如产品 /服务优化)或者新产品,就可能要考虑一些更适合的方案了,而这时候性能可能就是其中需要考虑的一个重要的因素了。总之,既要拥抱技术,也要灵活使用技术,没有最好的选择,只有某个时间点最优的选择(个人认为)。
monkeyNik
2020-07-21 11:11:34 +08:00
追求性能和功能的话,可以考虑一个新的 Nginx 发行版,可以访问 nginx.zone,这上面的功能应该能满足你的需要,保证性能的同时也包含了你要的功能需求。
OldCarMan
2020-07-23 23:41:04 +08:00
@monkeyNik 嗯嗯,谢谢分享,这里主要是想知道大家对网关的选择和做出该选择考虑的因素,换句话说就是生产环境经验。不局限于考虑某个条件。
jiahonzheng
2020-08-14 00:12:59 +08:00
可以考虑 APISIX,各项功能可自行使用 Lua 开发,当前生态也挺不错。
OldCarMan
2020-08-15 21:55:19 +08:00
@jiahonzheng 谢谢,看起来不错的样子。
jiansihun
2020-10-18 15:25:05 +08:00
如果是应用网关,zuul 挺好,不适合国内的还是要用这个,支持 spring 微服务网关的 fizz gateway,动态热更新的带后台管理的支持聚合配置的网关。
OldCarMan
2020-10-27 18:00:01 +08:00
@jiansihun 嗯嗯,谢谢,提供新方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX