Java Spring Boot Webflux反应式api

Java Spring Boot Webflux反应式api,java,spring-boot,spring-webflux,reactive,Java,Spring Boot,Spring Webflux,Reactive,我希望得到一些关于我正在构建的一个小型Spring Boot应用程序的提示 应用程序本身的功能应该非常类似于使用卡夫卡主题或任何发布/订阅模式。但是,我没有像Kafka这样的工具,所以这一切都应该在应用程序本身中完成 应用程序将有一个RestController,它应该在事件发生时公开“热”事件流 @GetMapping(produces = MediaType.APPLICATION_STREAM_JSON_VALUE) public Flux<Event> getApis() {

我希望得到一些关于我正在构建的一个小型Spring Boot应用程序的提示

应用程序本身的功能应该非常类似于使用卡夫卡主题或任何发布/订阅模式。但是,我没有像Kafka这样的工具,所以这一切都应该在应用程序本身中完成

应用程序将有一个RestController,它应该在事件发生时公开“热”事件流

@GetMapping(produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
public Flux<Event> getApis() {
    return … 
}
应用程序本身将使用来自另一个应用程序的事件流

我需要一些提示的地方是——如何将此API的每个使用者视为一个新的订阅者——并在让他们加入时向他们发布事件?实现一个完整的pub-sub模式来跟踪订阅者以及他们何时停止使用端点当然是可能的。但我想知道是否有一个更简单的解决方案使用一些Springs的反应功能。 我获取的事件不需要存储,只需在事件发生时转发给订阅的每个消费者即可

谢谢

在从控制器处理程序返回通量之前,请确保始终返回:

相同的实例,例如作为属性保留在控制器中 在其上应用Flux.share,以便所有订阅者共享相同的热事件流
这正是我所需要的。而且实现pub/sub更容易。谢谢你的帮助