Linux Foundation to Advance Reactive Programming Using RSocket

PinIt

RSocket enables long-lived streams of data to be sent across different transport connections. It is especially useful in environments where network connections drop, switch, and reconnect frequently.

The Linux Foundation announced this week the setting up another arm to this time advance the adoption of the open source RSocket transport specification along with associated programming languages that promise to make it easier to build applications that stream data using asynchronous messages.

The Reactive Foundation is being set up to foster the development of networked applications that require a more robust protocol transport than HTTP. Founding members of the Reactive Foundation include Alibaba, Facebook, Netifi, and Pivotal Software, which is in the process of being acquired by sister company VMware.

See also: Top Open Source Tools for Deep Learning

RSocket is an open source protocol that employs reactive streams to provide application flow control over the network. RSocket provides a single connection through which messages are passed as streams of data. That approaches enables long-lived streams of data to be sent across different transport connections, which is especially useful in environments where network connections drop, switch, and reconnect frequently.

The goal of the Reactive Foundation is to advance a reactive programming model that makes it easier to provide a consistent user experience across multiple types of client devices regardless of what’s occurring on the network or IT infrastructure platforms being employed, says Ryland Degnan, co-founder and CTO at Netifi and Foundation community chair.

RSocket won’t necessarily replace HTTP as much as it will provide an alternative for modern cloud-native applications based on microservices that tend to be latency-sensitive, says Degnan.

“It’s designed for cloud-native network services,” says Degnan.

Interest in RSocket is increasing because of the rise of edge computing applications that typically need to be integrated with either other edge applications or applications running on the cloud. A common use case would, for example, involve Internet of Things (IoT) applications sharing data with each other on the edge in addition to accessing a Big Data analytics application running in the cloud.

A Reactive programming model applies a layer of abstraction on top of the events that are occurring across a network. A stream is a sequence of ongoing events ordered in time that is made up of a value, an error, or a “completed” signal. Once these events are captured, a function will execute when a value is emitted, another function when an error is emitted, and another function when ‘completed’ is emitted. Applications can then be designed to subscribe to different asynchronous streams. That capability will add a critical capability for building near real-time applications capable of responding to events as they occur across a highly distributed network.

To help spur adoption of this model of building applications, Jonas Bonér, Dave Farley, Roland Kuhn, and Martin Thompson first published the Reactive Manifesto in 2013, which is a work the Reactive Foundation will now build on by teaching developers how to build and deploy these types of applications.

It may be a while before applications developed using a Reactive programming model are commonplace. However, given the highly distributed nature of IT environments, it’s only a matter of time before developers look to build more robust applications using a protocol other than HTTP.

Leave a Reply