V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
StoneHuLu
V2EX  ›  程序员

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

  •  
  •   StoneHuLu · 2023-07-26 11:23:36 +08:00 · 1973 次点击
    这是一个创建于 479 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    16 条回复    2023-07-27 10:02:18 +08:00
    VVVYGD
        1
    VVVYGD  
       2023-07-26 11:39:30 +08:00 via iPhone
    直接 gin 写
    lrvy
        2
    lrvy  
       2023-07-26 13:06:02 +08:00
    Hertz
    liuhan907
        3
    liuhan907  
       2023-07-26 13:18:32 +08:00   ❤️ 2
    我可以非常肯定,按你们那么玩,go 性能也不会比 C#好。asp.net 的性能是能和 rust 的一些库掰掰手腕的,哪能是 70qps 这么拉的
    zhujinlong
        4
    zhujinlong  
       2023-07-26 13:26:32 +08:00
    先 perf 清楚瓶颈是什么,是语言性能层面的,还是别的原因。如楼上所言,语言性能层面的可能非常低。
    ihciah
        5
    ihciah  
       2023-07-26 13:48:35 +08:00 via iPhone
    4c 70QPS ,这到底里面在做啥…
    Sendya
        6
    Sendya  
       2023-07-26 13:49:19 +08:00 via Android
    什么业务场景,才 70qps 。分析一下自己接口耗时在哪
    lsk569937453
        7
    lsk569937453  
       2023-07-26 14:05:09 +08:00   ❤️ 2
    其实.net,java,golang 三个性能差不多的,别把 golang 想的太强了。
    lsk569937453
        8
    lsk569937453  
       2023-07-26 14:07:27 +08:00
    me1onsoda
        9
    me1onsoda  
       2023-07-26 14:13:23 +08:00
    不是,一个网关服务才 70qps ?
    waising
        10
    waising  
       2023-07-26 15:36:00 +08:00
    有一个聚合网关库 lura
    wu00
        11
    wu00  
       2023-07-26 15:57:45 +08:00
    webapi+ocelot 做网关?用 http 做转发的,虽然慢但也不至于 70qps
    cheng6563
        12
    cheng6563  
       2023-07-26 16:02:16 +08:00
    @lsk569937453 Windows Server 的内核是会给.net 开小灶单独优化的,性能比其他同类会高一些
    wellerman
        13
    wellerman  
       2023-07-26 16:24:31 +08:00
    大概 5 年前,我用 ASP 写了一套拍卖系统,并发都不止 70 。
    di94sh
        14
    di94sh  
       2023-07-26 23:07:33 +08:00
    70 qps 与语言无关了吧. 跑跑火焰图看看那块代码占用时间多😂
    bianhui
        15
    bianhui  
       2023-07-27 08:30:42 +08:00
    显然一个 io 密集型项目瓶颈大概率出现在 io 上。看看如何优化缓存,数据库,和关联的网络服务吧。别说 net 了,就是 python 也能胜任你的 70 个+的并发
    xiaocaiji111
        16
    xiaocaiji111  
       2023-07-27 10:02:18 +08:00
    70QPS ?没找到问题根本所在,估计换了语言也是一个样,只有极致性能才能看出语言差别。这个还查的远,完全可以忽略语言的影响。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1025 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:57 · PVG 03:57 · LAX 11:57 · JFK 14:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.