Spring Boot Webflux反应式API

itsnotallama:

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

应用程序本身的功能应类似于消耗Kafka主题(或任何发布/订阅模式)。但是,我没有像Kafka这样的工具可用,因此都应在应用程序本身中完成。

该应用程序将具有一个RestController,该控制器应在事件发生时公开“热”事件流。

@GetMapping(produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
public Flux<Event> getApis() {
    return … 
}

该应用程序本身将消耗来自另一个应用程序的事件流。

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

谢谢

布莱恩·克洛泽(Brian Clozel):

Flux<Event>从控制器处理程序返回您的信息之前,请确保您始终在返回:

  • 相同的实例,例如作为属性保留在控制器中
  • 对其应用Flux.share(),以便所有订户共享相同的事件热流

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在反应式Spring-Webflux应用中使用Spring AMQP @RabbitListener时如何触发重试

Spring Webflux-如何在WebFilter中调用反应式端点

Spring 5和反应式编程

反应式流:Spring WebFlux-订阅现有发布者

Spring WebFlux反应式WebSocket阻止连接关闭

Spring 5反应式异常处理

Spring Framework WebFlux反应式编程

Spring Boot 2.0反应式Webflux配置中的默认线程数

将Hystrix与反应式Spring Boot 2应用程序结合使用真的必要吗?

Spring Security Webflux /反应式异常处理

Spring Boot 2反应式Web WebSocket与DataRest冲突

用于Webflux反应式API的Spring Cloud Contract

来自常规WebClient请求的Spring反应式流数据

Spring WebFlux:WebClient结合了2个反应式RESTful Web服务

Spring Data Couchbase反应式是否支持分页?

抛出异常Spring Boot Webflux

Spring Boot反应式WebClient调用旧式端点

Spring反应式文件集成

Spring Boot:我们可以在现有的Spring MVC应用程序中使用反应式Webfilter吗?

如何使用Spring WebFlux构建反应式内存存储库?

如何在Spring Boot RSocket反应式中处理入站流取消

如何使WebFilter在非WebFlux /非反应式Spring Boot应用程序中工作?

可以将反应式 Spring Data 与 mysql 集成吗?

反应式 spring 云安全(使用 Keycloak):会话过期?

使用反应式数据库客户端扩展 Spring WebFlux 应用程序的问题:Maven 依赖项冲突?

Spring 安全反应式混合 HttpBasic + Oauth2

Spring webflux 反应式 Mono::subscribe

Spring Boot 反应式缓存

集成流中间的反应式 Spring 集成访问通量