想问下 golang 有没有推荐的微服务网关层开发框架

2023-07-26 11:23:36 +08:00
StoneHuLu  StoneHuLu

公司主要技术盏是.net6,次要技术盏是 golang ,目前作为网关层使用的是一个.net6 的 webapi 项目,但是并发性能已经成为主要瓶颈,在单 pod 资源 4c2g 的情况下,每秒并发只能达到 70 个,业务高峰时段 pod 会伸缩到 16 个以上才能顶住压力,但有时候被刷量请求瞬时上升时部分 pod 会被打挂,基本能优化的都优化了,还是准备用 golang 重构一个试试,想问下有没有可以推荐的开发框架。 主要就是可以用 go 自定义中间件,网关层该有的东西它都有就行,尽量轻量且易于维护的那种,我最差打算就是直接起个 gin 开写。。

2077 次点击
所在节点   程序员  程序员
16 条回复
VVVYGD
VVVYGD
2023-07-26 11:39:30 +08:00
直接 gin 写
lrvy
lrvy
2023-07-26 13:06:02 +08:00
Hertz
liuhan907
liuhan907
2023-07-26 13:18:32 +08:00
我可以非常肯定,按你们那么玩,go 性能也不会比 C#好。asp.net 的性能是能和 rust 的一些库掰掰手腕的,哪能是 70qps 这么拉的
zhujinlong
zhujinlong
2023-07-26 13:26:32 +08:00
先 perf 清楚瓶颈是什么,是语言性能层面的,还是别的原因。如楼上所言,语言性能层面的可能非常低。
ihciah
ihciah
2023-07-26 13:48:35 +08:00
4c 70QPS ,这到底里面在做啥…
Sendya
Sendya
2023-07-26 13:49:19 +08:00
什么业务场景,才 70qps 。分析一下自己接口耗时在哪
lsk569937453
lsk569937453
2023-07-26 14:05:09 +08:00
其实.net,java,golang 三个性能差不多的,别把 golang 想的太强了。
lsk569937453
lsk569937453
2023-07-26 14:07:27 +08:00
me1onsoda
me1onsoda
2023-07-26 14:13:23 +08:00
不是,一个网关服务才 70qps ?
waising
waising
2023-07-26 15:36:00 +08:00
有一个聚合网关库 lura
wu00
wu00
2023-07-26 15:57:45 +08:00
webapi+ocelot 做网关?用 http 做转发的,虽然慢但也不至于 70qps
cheng6563
cheng6563
2023-07-26 16:02:16 +08:00
@lsk569937453 Windows Server 的内核是会给.net 开小灶单独优化的,性能比其他同类会高一些
wellerman
wellerman
2023-07-26 16:24:31 +08:00
大概 5 年前,我用 ASP 写了一套拍卖系统,并发都不止 70 。
di94sh
di94sh
2023-07-26 23:07:33 +08:00
70 qps 与语言无关了吧. 跑跑火焰图看看那块代码占用时间多😂
bianhui
bianhui
2023-07-27 08:30:42 +08:00
显然一个 io 密集型项目瓶颈大概率出现在 io 上。看看如何优化缓存,数据库,和关联的网络服务吧。别说 net 了,就是 python 也能胜任你的 70 个+的并发
xiaocaiji111
xiaocaiji111
2023-07-27 10:02:18 +08:00
70QPS ?没找到问题根本所在,估计换了语言也是一个样,只有极致性能才能看出语言差别。这个还查的远,完全可以忽略语言的影响。

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

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

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

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

© 2021 V2EX