Storm DRPC中的java更新与RequestReply
我正在构建一个实时API来处理两种类型的调用:
- 更新
- 计算请求李>
在内部,更新在工作人员之间广播。工作人员在其RAM中保持工作数据结构(如哈希表),并在更新时修改内容
当一个计算请求到来时,只有一个空闲的工作线程使用多个线程处理它,并处理RAM中的本地副本
我想知道是否可以将当前的实现迁移到Storm。据我所知,Storm非常实时,可以在可伸缩性和容错性方面帮助我很多
目前,我正在使用UWSGI/Python处理API请求,并使用Java工作人员进行计算。我正在考虑将Java工作者作为螺栓放入Storm拓扑中。然而,我不太清楚喷口的情况
据我所知,我可以使用DRPC来处理计算请求,只需从python连接到DRPC服务器。文档中明确指出,DRPC可以处理请求-应答范式的整个生命周期。但是更新呢
我的问题是:这是一个好主意(或者甚至可能吗?)使用DRCP仅以非阻塞方式提交更新,而不等待答复(因为没有结果)
# 1 楼答案
对于非阻塞、异步更新,应该使用Gearman这样的作业服务器
这将使您能够提交,无需等待任何回复。每当用户使用Instagram应用上传照片时,Instagram就会使用Gearman将照片分享到Facebook/Twitter