1

我最近一直在玩 Spring Webflux,它看起来非常有用和高效。此外,阅读反应式系统,似乎此类系统的定义特征之一是它们是消息驱动的。

在网上看到这篇文章:https ://www.captechconsulting.com/blogs/annotation-driven-reactive-web-apis-with-spring-webflux

这篇文章还提到,

Spring WebFlux 包含对响应式 HTTP Rest API、WebSocket 应用程序和服务器发送事件的支持。Spring WebFlux 是响应式的、弹性的、可扩展的和消息驱动的。

我的问题是,如果编写一个简单的 REST API,就像帖子描述的那样,执行由 MongoDB 支持并使用spring-boot-starter-data-mongodb-reactive 的CRUD 操作,我可以调用我的 API 服务消息驱动吗?我还可以添加一个Webclient来与一些下游服务通信。

在 REST API 的上下文中驱动消息是否有意义?

4

1 回答 1

0

不,您的应用程序不是消息驱动的,而是您的应用程序是Reactive。反应式应用程序是事件驱动的、非阻塞的、可扩展的、弹性的和弹性的。它支持发布者和订阅者机制,意味着发布者和订阅者之间正在进行异步通信。它支持两种类型的发布者

  1. Mono : 当我们只生产一个项目时使用。
  2. Flux:当我们生产多个项目时使用。

要使您的应用程序消息驱动,您需要使用任何消息代理,如KafkaRabbitMQ等。

于 2019-07-18T07:12:55.483 回答