V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wyan453351466
V2EX  ›  程序员

多台服务器共同处理任务的时候,通过什么方式来交互比较好?

  •  
  •   wyan453351466 · 2019-12-11 15:46:06 +08:00 · 2440 次点击
    这是一个创建于 1803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是,需要在多台服务器上同时执行某种任务。

    一个 master 服务器负责派发任务,多个 worker 服务器来执行。

    那么服务器与服务器之间的数据通过哪种方式交互会比较好呢?

    通过 web-api 定时通信?

    还是直接连接同一个的 Redis 数据库?(楼主觉得前者比较好,毕竟可以减少 http 的请求次数,安全性方面貌似也更好一些)

    还有其他的方法吗?

    13 条回复    2019-12-11 23:03:44 +08:00
    tms
        1
    tms  
       2019-12-11 15:56:13 +08:00
    mq、rpc
    lihongjie0209
        2
    lihongjie0209  
       2019-12-11 15:57:56 +08:00
    同步 RPC
    异步 MQ
    securityCoding
        3
    securityCoding  
       2019-12-11 15:59:25 +08:00
    本质上是任务分片执行 ,不要考虑其他的了 , 就是 MQ
    wyan453351466
        4
    wyan453351466  
    OP
       2019-12-11 16:13:04 +08:00
    需求补充:

    对实时性的要求不高,任务处理结果的返回可以有一定的延迟,只要最终数据能统一到一起就行。
    chen774553620
        5
    chen774553620  
       2019-12-11 16:28:09 +08:00
    消息队列 mq
    zhiguang
        6
    zhiguang  
       2019-12-11 16:43:53 +08:00
    分布式任务调度?
    BlackBerry999
        7
    BlackBerry999  
       2019-12-11 16:51:46 +08:00
    同 2 楼
    robot1
        8
    robot1  
       2019-12-11 17:31:36 +08:00
    mapreduce
    netnr
        9
    netnr  
       2019-12-11 17:48:29 +08:00
    webhook 钩子,分发后,执行完(包括异常超时等)触发接口调用
    wangyzj
        10
    wangyzj  
       2019-12-11 17:49:29 +08:00
    python 的话 celery
    Vegetable
        11
    Vegetable  
       2019-12-11 17:52:34 +08:00
    太多啦,建议直接使用现成的框架,比如 celery
    https://github.com/search?q=distribute+task&type=Repositories
    araaaa
        12
    araaaa  
       2019-12-11 23:00:50 +08:00 via iPhone
    rsocket 和 reactor
    araaaa
        13
    araaaa  
       2019-12-11 23:03:44 +08:00 via iPhone
    @araaaa reactor 的 mono.zip 可以进行多个并发处理
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   881 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.