
需求是,需要在多台服务器上同时执行某种任务。
一个 master 服务器负责派发任务,多个 worker 服务器来执行。
那么服务器与服务器之间的数据通过哪种方式交互会比较好呢?
通过 web-api 定时通信?
还是直接连接同一个的 Redis 数据库?(楼主觉得前者比较好,毕竟可以减少 http 的请求次数,安全性方面貌似也更好一些)
还有其他的方法吗?
1 tms 2019-12-11 15:56:13 +08:00 mq、rpc |
2 lihongjie0209 2019-12-11 15:57:56 +08:00 同步 RPC 异步 MQ |
3 securityCoding 2019-12-11 15:59:25 +08:00 本质上是任务分片执行 ,不要考虑其他的了 , 就是 MQ |
4 wyan453351466 OP 需求补充: 对实时性的要求不高,任务处理结果的返回可以有一定的延迟,只要最终数据能统一到一起就行。 |
5 chen774553620 2019-12-11 16:28:09 +08:00 消息队列 mq |
6 zhiguang 2019-12-11 16:43:53 +08:00 分布式任务调度? |
7 BlackBerry999 2019-12-11 16:51:46 +08:00 同 2 楼 |
8 robot1 2019-12-11 17:31:36 +08:00 mapreduce |
9 netnr 2019-12-11 17:48:29 +08:00 webhook 钩子,分发后,执行完(包括异常超时等)触发接口调用 |
10 wangyzj 2019-12-11 17:49:29 +08:00 python 的话 celery |
11 Vegetable 2019-12-11 17:52:34 +08:00 太多啦,建议直接使用现成的框架,比如 celery https://github.com/search?q=distribute+task&type=Repositories |
12 araaaa 2019-12-11 23:00:50 +08:00 via iPhone rsocket 和 reactor |