我有一个问题,这使我很难找到理想的解决方案,并且为了更好地解释它,我将在这里展示我的情况。



现在,这里是棘手的部分:

  • 我必须能够重建
    已经处理过的任务
    服务器故障的原因。
  • worker 不是特定于客户的,
    一名 worker 应为
    任何给定数量的客户。

  • 我对通用数据库设计以及要使用的技术有一些疑问。

    最初,我想到了使用几个 SQLite 数据库并将都加入服务器中,但我不知道如何按客户分组以生成作业报告

    我从未真正使用过以下任何一种技术: memcached CouchDB Hadoop 等等,但是我想知道其中的任何一种是否适合我的问题,如果可以,那么您为新手推荐的是像我这样的“分布式计算”(或者是并行的?)。 请记住,工作人员具有动态IP。

    就像我之前说过的那样,我在通用数据库设计上也遇到了麻烦,部分原因是我还没有选择任何特定的R(D)DBMS,但是我遇到的一个问题与我选择的DBMS无关,到排队系统...。我应该预先计算特定作业的所有绝对时间戳,并设置大量的时间戳,以升序执行并将它们标记为完整,还是应该有一个更聪明的系统,例如“”当时间戳模数60 == 0->执行“。这个“聪明”系统的问题在于,某些作业将不会按的顺序执行,这是因为有些 worker 可能在等待其他 worker 重载而无所事事。 您有什么建议?

    PS:我不确定此问题的标题和标签是否正确反射(reflect)了我的问题以及我想做的事情;如果没有,请进行相应的编辑。

    感谢您的输入!

    @timdev:
  • 输入将是一个非常小的JSON编码的字符串,输出还将是一个JSON编码的字符串,但会更大一些(约1-5 KB)。
  • 将使用Web上的多个可用资源来计算输出,因此主要瓶颈可能是带宽。数据库写入也可能是一次写入-取决于R(D)DBMS。
  • 最佳答案

    看来您即将重新创建Gearman。这是Gearman的简介:



    您可以使用PHP编写客户端和后端工作程序代码。

    关于您为Windows编译的Gearman Server的问题:我认为在为Windows预先构建的精巧软件包中不提供该工具。 Gearman仍然是一个相当年轻的项目,他们可能还没有成熟到可以为Windows生成可立即运行的发行版的程度。

    Sun/MySQL员工Eric Day和Brian Aker于2009年7月在OSCON上为Gearman做了tutorial的演讲,但他们的幻灯片仅提及Linux软件包。

    这是Perl CPAN Testers项目的链接,该链接表明Gearman-Server可以使用Microsoft C编译器(cl.exe)在Win32上构建,并且可以通过测试:http://www.nntp.perl.org/group/perl.cpan.testers/2009/10/msg5521569.html但是我想您必须下载源代码并进行构建。你自己。

    10-07 23:33