我的samza job有很多任务,每个任务的嵌入式存储中都有一些状态。我想通过某种rpc机制向外界公开这个存储以供阅读。最好的解决办法是什么?
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的响应消息放入特殊的响应主题中。所以这就像Kafka的rpc解决方案,在我看来是次优的。
欢迎有任何想法!
1条答案
按热度按时间hjqgdpho1#
据我所知,嵌入式商店是备份在一个Kafka主题。当您在存储中设置某个内容时,将生成主题的消息。因此,您可以使用此主题,并可以将嵌入的存储“克隆”到其他数据库。然后可以查询数据库。或者您可以只使用数据库而不是嵌入式存储。但是这种方法可能会导致samza工作中的性能问题。。。