Storm DRPC中的更新与请求 - 答复

时间:2014-06-14 22:15:09

标签: java python real-time nonblocking apache-storm

我正在构建一个处理两种类型呼叫的实时API:

  1. 更新
  2. 计算请求。
  3. 在内部,更新会在工作人员中广播。工作人员在其RAM中保留工作数据结构(例如散列表),并在更新到来时修改内容。

    当计算请求到来时,正好有一个空闲工作者使用多个线程处理它,使用RAM中的本地副本。

    我想知道我是否可以将当前的实现迁移到Storm。据我了解,Storm非常实时,可以帮助我提高可扩展性和容错能力。

    目前,我使用UWSGI / Python来处理API请求,并使用Java worker来进行计算。我想将Java工作者作为螺栓放入Storm拓扑中。但是,我对鲸鱼喷水不太确定。

    据我了解,我可以使用DRPC来处理计算请求,只需从python连接到DRPC服务器即可。在文档中明确写出DRPC可以处理请求 - 回复范例的整个生命周期。但是更新呢?

    我的问题是:使用DRCP仅以非阻塞方式提交更新,而不是等待回复(因为没有结果),这是一个好主意(或甚至可能?)?

1 个答案:

答案 0 :(得分:2)

对于非阻止,异步更新,您应该使用像Gearman

这样的作业服务器

这将使您能够提交并且无需等待任何回复。当用户使用Instagram应用程序上传照片时,Instagram使用Gearman将照片分享到Facebook / Twitter。