Hi Yi,

Your observation about accessing the state stores that are already there vs. 
keeping state outside of Kafka Streams is a good one. We are currently working 
on having the state stores accessible like you mention and should be able to 
share some design docs shortly.

Thanks
Eno

> On 19 Jun 2016, at 19:49, Yi Chen <y...@symphonycommerce.com> wrote:
> 
> Hello,
> 
> I am thinking of using the Kafka Steams feature to "unify" our real-time
> and scheduled workflow. An example is that in our workflow with stages A-->
> B --> C, the A --> B segment can be achieved in real-time, but B-->C
> segment is usually a done with a scheduled job, running maybe once per hour
> or once per 5 minutes, etc.
> 
> I am hoping to model this using Kafka Streams. Each stage would be a topic:
> the Kafka Streams will process real-time events in topic-A and send result
> to topic-B. The challenge is when I process the events in topic-B, I want
> to be able to process each event with a crontab-like schedule, so that if
> the process is successful (by checking an external API) the event is send
> to topic-C, otherwise, we will re-process the event again according to the
> schedule.
> 
> Can I use the RocksDB key/value state store to store the topic-B events
> that failed to process, and have a scheduler (like quartz scheduler) to
> iterate all events in the store and re-process again? I know I can always
> keep the state outside of Kafka but I like that the state store is
> fault-tolerant and can be rebuilt automatically if the instance fails. The
> examples I found so far seems to imply that the state store is only
> accessible from within a processor.
> 
> Thanks,
> Yi

Reply via email to