V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
marquina
V2EX  ›  问与答

突发型 cpu 密集应用应该怎样做动态扩缩容?

  •  
  •   marquina · 355 天前 · 760 次点击
    这是一个创建于 355 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OP 打算写一个应用程序,这个程序会轮询数据库,判断是否有待执行的任务。如果有待执行任务,程序就会开始执行且跑满 CPU 。但如果任务过多的话,待执行任务会产生堆积,需要进行扩容,反之需要进行缩容以节省资源。

    对于这种类型的应用,应该选择什么样的扩缩容方案?用阿里云的事件总线 + serverless 好像比较合适,但 OP 希望能方便地进行任务追踪、手工干预,所以还是更倾向于数据库方案而不是 mq 方案。

    大家有啥想法吗?

    4 条回复    2023-12-09 11:50:05 +08:00
    RatioPattern
        1
    RatioPattern  
       355 天前
    k8s 直接 scale up/ scale down
    marquina
        2
    marquina  
    OP
       354 天前
    @RatioPattern 你指的是手动操作吗?我不清楚 k8s 的具体操作,感觉可以写个简单的脚本将这个过程自动化
    RatioPattern
        3
    RatioPattern  
       354 天前
    @marquina pod 镜像做好,要拉起来多少个 pod 直接 scale 几个
    ```
    kubectl scale --replicas=5 deployment nginx-deployment
    ```
    julyclyde
        4
    julyclyde  
       354 天前
    数据库不容易做锁,其中哪一条正在被处理,哪一条是刚加进来,很不方便
    等你把这些都处理好,你又重新发明了 yet another 任务队列系统
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3442 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:10 · PVG 19:10 · LAX 03:10 · JFK 06:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.