场景:在一个 celery 分布式队列场景下,任务已经分配到各个节点。 方案 1:每个客户端节点我起来 10 个 docker 去执行这个任务;方案 2:我每个客户端开 10 个线程去执行这个任务
想请问开 10 个 docker 的这种方式真的会快吗,再考虑性能消耗等方面,这样合理吗?
1
GooMS 2018-04-16 13:36:05 +08:00 via Android
看规模吧,用 docker 可以无视机器大规模部署调整,相反如果你只有几台机器就随便跑吧
|
2
xpresslink 2018-04-16 13:37:06 +08:00
你说这些没有,选用哪个方式在于任务的性质,是网络 IO 密集还是 CPU 密集,并发用户等因素要综合考虑。
更多时候要通过测试对比。 |
3
asfdasf32 OP @xpresslink 比如大规模的端口扫描,网络 IO 密集
|
4
vincenttone 2018-04-16 19:53:08 +08:00
个人认为 docker 主要是在环境部署和资源利用上有优势,弹性比较好。
如果只有几台机器,环境又没啥大问题,感觉怎么跑都可以。 |