jeeyong
2020-06-24 20:41:34 +08:00
python 开发的话, 主机环境 Python+Redis.
Python 接到任务, 推送到 Redis.
剩下的从机:
每 500 毫秒轮询一次. 有任务取出来执行, 返回结果. 结果可以用 UUID 或者 IP 去统一管理, 也可以就直接取 IP 地址.
如果担心从机数量多, 一直轮训造成 REDIS 主机负载过高.那就再做一个进程, 由他负责轮训, 如果有任务了, 通过 get 的方式触发从机的任务..
至于这套方案里, 真的发生了你担心的 python 导致的性能问题...
你可能已经有足够的资金雇一个 Golang, 一个 Nodejs, 一人写一个了. [/逃]
2H4GB 的 Flask 主机, 开 4 个线程监听, 每秒请求 500+应对起来我觉得没啥压力...很保守的说.
我现在一台 2H4GB 的性能突发型主机, 类似的业务, 86 台从机, 每天大概执行类似 ping 的任务 12000+.
CPU 积分攒了 300, 不能再高了..