2015-03-31 106 views
4

我有一些任务的samza工作,其中每个任务都在其嵌入式商店中保存一些状态。我想通过某种RPC机制将此商店公开给外部世界。什么可能是最好的解决方案呢?如何在Samza中实现类似于Storm DRPC的东西?

这里是Samza文档中关于它的一个段落:

 
Samza does not currently have an equivalent API to DRPC, 
but you can build it yourself using Samza’s stream 
processing primitives. 

它在我脑海中就是让我的任务,除正常处理,消耗与一些相关的ID请求消息的唯一解决方案一个特殊的请求主题,并将具有相同关联ID的响应消息放入特殊的响应主题中。所以这就像RPC-over-Kafka解决方案,这在我看来并不理想。

欢迎任何想法!

回答

0

据我记得,嵌入式商店是在卡夫卡话题中备份的。当您在商店中设置某些内容时,该消息将生成该主题。因此,您可以使用此主题,并且可以将嵌入式存储“克隆”到不同的数据库。然后你可以查询数据库。或者你可以使用数据库而不是嵌入式商店。但是这种方法可能会导致Samza工作中的性能问题...

相关问题