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

从运维的角度看,一个可靠的如微信的 API 的基础架构应该怎么部署?

  •  
  •   saytesnake · 2021-05-06 14:31:35 +08:00 · 1940 次点击
    这是一个创建于 1057 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是类似于 https://api.weixin.qq.com/xxx,

    目前我们这边仅用了 nginx,upstream 做负载均衡这样...调用量大了还是有些瓶颈。

    有什么可以优化或改造的地方吗?

    16 条回复    2021-05-08 16:48:18 +08:00
    opengps
        1
    opengps  
       2021-05-06 14:40:54 +08:00
    基础架构说的是服务器硬件?对于软件来说,能实现功能,数据库分流基本就没有大问题了
    大型平台的承载力其实就是堆硬件,各种负载均衡,冗余,加速等产品的配合,后端 api 实际上未必稳定,只是因为服务器数量多了,出故障的会自动下线,大部分小故障没人会从外部发现而已
    killva4624
        2
    killva4624  
       2021-05-06 15:19:53 +08:00
    API 这类架构基本没什么太多的变化吧?可以尝试拓宽一些别的思路,比如多地区、多地域均分负载,调用量大的时候动态调整后端 worker 数量。
    rrfeng
        3
    rrfeng  
       2021-05-06 15:21:36 +08:00
    『调用量大了还是有些瓶颈』

    Nginx 是 7 层负载均衡,前面还得有 4 层负载均衡( LVS 之类的),再大还可以上 ECMP,再不行 Anycast 。
    xuanbg
        4
    xuanbg  
       2021-05-06 15:33:50 +08:00
    多级负载均衡啊。就和 3 楼说的,不行就加一级负载均衡。。。
    x940727
        5
    x940727  
       2021-05-06 16:48:12 +08:00
    NGINX 如果都有瓶颈的话就在前面加硬件负载呗,如果硬件负载都不够就去找运营商呗……如果嫌贵就找云商也行,阿里云的 SLB 价格还行
    janxin
        6
    janxin  
       2021-05-06 16:51:31 +08:00
    你要先看瓶颈在哪,所以监控一定要完善,一定程度上能发现问题在哪

    然后就是看短板,根据短板上方案,上面都说了很多了
    saytesnake
        7
    saytesnake  
    OP
       2021-05-06 17:13:54 +08:00
    ch2
        8
    ch2  
       2021-05-06 17:49:34 +08:00
    你都说了有瓶颈,那你说说瓶颈到底是啥
    labulaka521
        9
    labulaka521  
       2021-05-06 18:53:52 +08:00
    nginx ipvs dpvs dns 都往上整
    zjyl1994
        10
    zjyl1994  
       2021-05-06 19:27:50 +08:00
    根据我在腾讯外包干过的经验,他们应对流量冲击的解决方法就是加机器,反正都是 TKE 的容器云可以随时扩缩。
    真别想的太复杂,大公司就是加钱解决大部分问题
    zjyl1994
        11
    zjyl1994  
       2021-05-06 19:31:13 +08:00
    而且,配合上对应的监控体系自动剔出死了的 pod 再拉起新的 pod,后端几百个实例里挂一两个重启需要 1 分多钟的容器前面根本感知不到。
    hotsymbol
        12
    hotsymbol  
       2021-05-06 23:52:57 +08:00
    k8s + istlo + nginx
    dallaslu
        13
    dallaslu  
       2021-05-07 11:24:22 +08:00
    DNS 轮询用起来
    kiotech
        14
    kiotech  
       2021-05-07 13:50:35 +08:00
    微信 API"可靠"的方式,也很简单粗暴。直接下架商家服务。先开枪,再提问题。
    ychost
        15
    ychost  
       2021-05-07 14:36:00 +08:00
    基本都是靠怼机器,真正稳定是数据库稳定就行了,上面运行的 API 业务逻辑正常就差不多了
    cominghome
        16
    cominghome  
       2021-05-08 16:48:18 +08:00
    堆!机!器!
    加!陪!置!

    毕竟就算是代码有性能问题,宕机了锅还是得运维背
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1021 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:32 · PVG 03:32 · LAX 12:32 · JFK 15:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.