【发布时间】:2020-04-05 03:37:00
【问题描述】:
我希望得到一些关于我正在构建的小型 Spring Boot 应用程序的提示。
应用程序本身的功能应该类似于使用 Kafka 主题(或任何发布/订阅模式)。然而,我没有可用的工具,如 Kafka,所以应该在应用程序本身内完成。
应用程序将有一个 RestController,当它们发生时应该公开一个“热”事件流。
@GetMapping(produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
public Flux<Event> getApis() {
return …
}
应用程序本身将使用来自另一个应用程序的事件流。
我需要一些提示的地方是 - 我如何将此 API 的每个使用者视为新订阅者 - 并在我加入时向他们发布事件?实现一个完整的发布-订阅模式来跟踪订阅者以及他们何时停止使用端点当然应该是可能的。但我想知道是否没有使用 Springs Reactive 功能的更简单的解决方案。 我收到的事件不需要存储 - 只需在事件发生时转发给每个订阅的消费者。
谢谢
【问题讨论】:
标签: java spring-boot spring-webflux reactive