我有一些微服务,它们应该可以在WebFlux框架上运行。每个服务器都有自己的Mono或Flux API。我们正在使用Spring支持的MongoDB(Spring Data MongoDb Reactive)。
问题是必须在系统中使用的外部阻止API。
我有一个解决方案。我可以将阻塞的API调用包装在专用线程池中,并与CompletableFuture结合使用。
还有其他解决我的问题的方法吗?我认为,全新的Rsocket无法解决我的问题。
答案 0 :(得分:0)
1。如果可能,可以使用WebClient类将阻塞API调用更改为响应方式。
参考文献:
2。如果不能将阻塞API更改为反应性API,我们应该有一个专用的,经过良好调整的线程池,并在其中隔离阻塞代码。 还有一个示例here。
答案 1 :(得分:0)
我不明白为什么您不能将阻塞API调用包装在Flux或Mono中。如果演员模型对您来说更简单,您也可以integrate Akka with Spring。
答案 2 :(得分:0)