spring react
在上一篇文章的续篇中,我们将看到React式流规范及其实现之一,称为Project Reactor 。 React流规范定义了以下接口。 让我们看看这些接口的细节。
- 发布者→发布者是潜在数量不受限制的序列元素的提供者,可按其订阅者的要求发布它们
public interface Publisher<T> {public void subscribe(Subscriber<? super T> s);
}
- 订户→订户是数量可能不受限制的已排序元素的使用者。
public interface Subscriber<T> {public void onSubscribe(Subscription s);public void onNext(T t);public void onError(Throwable t);public void onComplete();
}
- 订阅→订阅代表订阅者订阅发布者的一对一生命周期。
public interface Subscription {public void request(long n);public void cancel();
}
- 处理器→处理器代表一个处理阶段-既是订户又是发布者,并且服从两者的合同。
React流规格的类图如下。
React性流规范具有许多实现。 Project Reactor是实现之一。 React堆完全无阻塞,可提供有效的需求管理。 Reactor提供了两个React式和可组合的API,即Flux [N]和Mono [0 | 1] ,它们广泛实现了Reactive Extensions 。 Reactor提供了用于HTTP(包括Websocket),TCP和UDP的非阻塞,反压就绪的网络引擎。 它非常适合微服务架构。
- Flux→这是具有rx运算符的Reactive Streams
Publisher
,它发出0到N个元素,然后完成(成功或有错误)。 助焊剂的大理石图如下所示。
- Mono →它是具有基本rx运算符的Reactive Streams
Publisher
,可通过发出0到1元素或出现错误来成功完成。 Mono的大理石图如下所示。
由于Spring 5.x随Reactor实施一起提供,因此,如果我们要使用带有Spring servlet堆栈的命令式编程来构建REST API,它仍然支持。 下图说明了Spring如何支持React式和servlet堆栈实现。
在接下来的文章中,我们将看到带有React式API的示例应用程序。 在那之前, 快乐学习!!
翻译自: https://www.javacodegeeks.com/2020/06/build-reactive-rest-apis-with-spring-webflux-part2.html
spring react