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

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.

主站蜘蛛池模板: 宿迁市| 明光市| 凤山市| 马龙县| 晋州市| 紫阳县| 五指山市| 鸡西市| 河池市| 平江县| 枣阳市| 利津县| 新巴尔虎右旗| 土默特右旗| 云浮市| 卓尼县| 泉州市| 阳谷县| 惠安县| 新宁县| 桐庐县| 双城市| 贵阳市| 资兴市| 贵阳市| 林州市| 宽城| 凭祥市| 永城市| 浙江省| 巴楚县| 肃宁县| 凤凰县| 富川| 莱西市| 宁安市| 莱西市| 富民县| 上饶县| 泽州县| 读书|