我是分布式系统的新手,其任务是分发一段现有的Python代码。目标是将代码视为二进制文件或库,并编写两种不同的包装器:
重复该过程,直到没有其他数据进入主节点。它可以通过下图来举例说明:
所以两者都存在
(1)工作人员与主节点之间的通信需求以及
(2)需要调用现有的Python代码。
整个框架非常重要地看待“节点”的概念,因为它需要在节点等同于核心(物理或虚拟)的个人计算机上运行,或者在集群上运行,其中节点可以是整个每台计算机都有多个核心。因此,我正在寻找一种可以帮助我实现这么多目标的技术。我已经在研究Apache Spark,但我不完全确定Spark是否允许我以简化的方式执行Python代码,并且正在寻找想法。
答案 0 :(得分:0)
将celery
视为一个简单的选项:
Celery:分布式任务队列
Celery是一个异步任务 基于分布式消息传递的队列/作业队列。它专注于 实时操作,但也支持调度。执行 单位,称为任务,在一个或多个单元上同时执行 使用多处理,Eventlet或gevent的工作服务器。任务可以 异步执行(在后台)或同步执行(等待 直到准备好了)。
Celery在生产系统中用于处理数百万美元 一天的任务。