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

2023-12-08 11:38:48 +08:00
 marquina

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

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

大家有啥想法吗?

779 次点击
所在节点    问与答
4 条回复
RatioPattern
2023-12-08 16:51:59 +08:00
k8s 直接 scale up/ scale down
marquina
2023-12-08 21:31:55 +08:00
@RatioPattern 你指的是手动操作吗?我不清楚 k8s 的具体操作,感觉可以写个简单的脚本将这个过程自动化
RatioPattern
2023-12-08 23:31:12 +08:00
@marquina pod 镜像做好,要拉起来多少个 pod 直接 scale 几个
```
kubectl scale --replicas=5 deployment nginx-deployment
```
julyclyde
2023-12-09 11:50:05 +08:00
数据库不容易做锁,其中哪一条正在被处理,哪一条是刚加进来,很不方便
等你把这些都处理好,你又重新发明了 yet another 任务队列系统

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

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

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

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

© 2021 V2EX