在Apache Kafka简介中,我们研究了分布式流媒体平台Apache Kafka。这一次,我们将关注Reactor Kafka,这个库可以创建从Project Reactor到Kafka Topics的Reactive Streams,反之亦然。
我们将使用两个小型示例应用程序,Paymentprocessor Gateway和PaymentValidator。这些应用程序的代码可以在这里找到。
Paymentprocessor网关提供了一个小网页,可以生成一个随机的信用卡号码(显然是伪造的),以及支付金额。当用户单击提交按钮时,表单将提交给网关的API。API具有针对Kafka群集上的未确认事务主题的反应流,这个未确认事务的主题的另外一边消费者是PaymentValidator,监听要验证的传入消息。然后,这些消息通过响应管道,验证方法将其打印到命令行。
通过Reactive Streams向Kafka发送消息
我们的应用程序构建在Spring 5和Spring Boot 2之上,使我们能够快速设置和使用Project Reactor。
Gateway应用程序的目标是设置从Web控制器到Kafka集群的Reactive流。这意味着我们需要特定的依赖关系来弹簧webflux和reactor-kafka。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>io.projectreactor.kafka</groupId>
<artifactId>reactor-kafka</artifactId>
<version>1.1.0.RELEASE&l

本文介绍了如何通过Spring Boot Webflux和Reactor Kafka实现实时流处理。首先,展示了Paymentprocessor Gateway如何利用Reactive Streams向Kafka发送消息,通过Web控制器创建Reactive流并将消息发送到Kafka主题。接着,讨论了PaymentValidator应用,它从Kafka主题创建反应流,监听并验证来自PaymentProcessor Gateway的消息。整个流程利用了Spring Webflux和Project Reactor的非阻塞特性,确保高并发消息处理的效率。
1392

被折叠的 条评论
为什么被折叠?



