使用Kafka Streams和Spring-Cloud-Stream处理事务

时间:2019-04-14 17:30:03

标签: spring-boot apache-kafka apache-kafka-streams spring-cloud-stream spring-kafka

我正在开发一个依赖Kafka和Kafka Streams的应用程序(基于微服务)。我为此使用Spring Boot和Spring Cloud Stream,但在处理Kafka Streams操作的事务时遇到了麻烦。我知道纯粹通过Kafka使用者处理事务是没有问题的,但是当我尝试在中间添加Kafka Streams处理时,这变得很棘手。

示例案例是:

  
      
  1. 在我的一项服务中,从主题A消费了对产品的订单请求。
  2.   
  3. 库存信息来自主题B
  4.   
  5. 此服务会生成针对主题B的库存更新,但它还负责发布有关准备发货的产品的事件(至主题C)
  6.   
  7. 从主题A接收订单请求时,我想检查(通过处理主题B)特定产品的库存是否足够,并将事件成功或失败(关于该订单)发布到主题C。
  8.   
  9. 与此同时,我需要更新库存(减去要保留的用于运输的数量),以便下一个订单具有主题B的实际值。我想将成功发布到主题C并更新主题的库存B在一次交易中。
  10.   

用kafka流在春季云流中可能吗?如果是的话,我该怎么做呢?

0 个答案:

没有答案