官术网_书友最值得收藏!

Reactive Streams

Reactive Streams is described simply as an initiative to provide a standard for asynchronous stream processing with non-blocking backpressure. It is a small and straightforward statement. However, it is essential to note that the first focus here is on the asynchronous stream processing and not just on the asynchronous programming. As discussed earlier, asynchronous systems have been around for a long time.

Before processing a stream, comes receiving the stream data. Asynchronously, this would mean managing the risk of uncertainties in the world of streams. For example, how much more data or messages could there be? Another challenge might be how to know when the stream has finished sending data. There could be a lot of questions, and we will see all of them in a little while.

Reactive Streams is used to perform Reactive Programming in Java. It is an API specification or, say, low-level contract given by the collaborations of various companies like Pivotal, Netflix, Red Hat, Twitter, Lightbend (previously known as Typesafe), Kaazing, Oracle, and many more. You can consider the Reactive Streams API to be just like JPA or JDBC. The actual implementations are provided by various vendors.

For example, JPA specifications have various vendors like Hibernate, TopLink, Apache OpenJPA that provide actual implementation. Similarly, there are many popular JVM-based libraries that support Reactive Programming like Reactor, Akka stream, Ratpack, Vert.x, and so on. They all provide an implementation of the Reactive Streams specifications, which bring interchangeability.

主站蜘蛛池模板: 塘沽区| 阿拉善右旗| 沛县| 家居| 延长县| 渝北区| 呼伦贝尔市| 阳城县| 黄大仙区| 永兴县| 柯坪县| 济南市| 渭源县| 谷城县| 铜山县| 章丘市| 赫章县| 沁源县| 册亨县| 滦平县| 怀安县| 平舆县| 沁水县| 开化县| 普兰县| 揭东县| 中方县| 广元市| 互助| 融水| 积石山| 乌拉特前旗| 泉州市| 荆门市| 巩义市| 大足县| 贵港市| 丰城市| 呼和浩特市| 开鲁县| 依兰县|