{"id":2027,"date":"2023-03-25T01:47:10","date_gmt":"2023-03-25T01:47:10","guid":{"rendered":"https:\/\/www.appservgrid.com\/paw93\/?p=2027"},"modified":"2023-03-25T01:47:13","modified_gmt":"2023-03-25T01:47:13","slug":"http-alternative-rsocket-gets-a-home-at-the-linux-foundation","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw93\/index.php\/2023\/03\/25\/http-alternative-rsocket-gets-a-home-at-the-linux-foundation\/","title":{"rendered":"HTTP Alternative RSocket Gets a Home at The Linux Foundation"},"content":{"rendered":"<p>The list of foundations hosted by the <a href=\"https:\/\/www.linuxfoundation.org\/\">Linux Foundation<\/a> continues growing this week with the launch of the <a href=\"https:\/\/reactive.foundation\/\">Reactive Foundation,<\/a> \u201ca community of leaders established to accelerate technologies for building the next generation of networked applications,\u201d according to a statement. Upon founding, those leaders will include Alibaba, Facebook, Netifi and Pivotal, with the open source <a href=\"https:\/\/github.com\/rsocket\">RSocket<\/a> specification and programming language implementations also joining the new foundation\u2019s \u201cformal open governance model and neutral ecosystem.\u201d<\/p>\n<p>RSocket provides a basis for reactive programming at the protocol level and lays the groundwork for reactive programming in cloud native environments, <a href=\"https:\/\/www.linkedin.com\/in\/rjdegnan\">Ryland Degnan<\/a>, co-founder and CTO at Netifi, said in an interview with The New Stack. It\u2019s considered a replacement for HTTP in cloud native communications.<\/p>\n<p>Lest you <a href=\"https:\/\/samueleresca.net\/2017\/06\/reactive-programming-damn-it-is-not-about-reactjs\/\">confuse<\/a> reactive programming with the <a href=\"https:\/\/reactjs.org\/\">React UI Javascript framework<\/a> of a similar name, reactive programming is defined by its message-driven approach that aims to achieve resiliency and scalability independent of infrastructure, network issues or end-user device. More specifically, the <a href=\"https:\/\/www.reactivemanifesto.org\/\">reactive manifesto<\/a> lists four characteristics of reactive systems: responsive, resilient, elastic and message-driven.<\/p>\n<p>\u201cWith the whole cloud native movement, a lot more people are building software for the cloud that operates on a scale that\u2019s an order of magnitude higher than anything we\u2019ve seen before. It\u2019s got a lot of moving parts and rationalizing how all those parts communicate is an incredibly important problem,\u201d Degnan said. \u201cThe present problem that RSocket is seeking to solve is defining a standardized way for services to communicate that was built from the ground up and not using last year\u2019s technology.\u201d<\/p>\n<p>\u201cThe de facto standard right now when people go out and build stuff is to use HTTP. That comes with loads of problems because it was really designed to be a request-response protocol,\u201d Degnan said. \u201cIt has very little that was built for microservices. It was really built for this previous generation of requesting a resource from a monolithic server and returning a response. RSocket has been designed from the ground up for cloud native communication.\u201d<\/p>\n<h2>HTTP vs. RSocket<\/h2>\n<p>Originally created by Netflix, RSocket is an application protocol for <a href=\"http:\/\/www.reactive-streams.org\/\">Reactive Streams<\/a> that provides application flow control over the network to prevent outages and increase resiliency. As opposed to HTTP, RSocket does not await a response or request from the client. Degnan explains this core difference between HTTP and RSocket.<\/p>\n<p>\u201cA lot of effort spent in building these distributed systems ends up being workarounds for problems with HTTP. Circuit breakers are a great example of that. It\u2019s working around the problem that HTTP doesn\u2019t have flow control built into it, which means that you have to guess whether the downstream service is available or not, to not cause it to receive too many requests,\u201d said Degnan. \u201cYou need to cut off traffic to it if you think that it\u2019s now unavailable, but that involves a lot of configurations. RSocket could remove that problem entirely.\u201d<\/p>\n<p>By contrast, RSocket employs the idea of asynchronous stream processing with <a href=\"https:\/\/www.reactivemanifesto.org\/glossary#Back-Pressure\">non-blocking back-pressure<\/a>, in which a failing component will, rather than simply dropping traffic, communicate its stress to upstream components, getting them to reduce the load and allowing the system to \u201cgracefully respond to load rather than collapse under it,\u201d according to the <a href=\"https:\/\/www.reactivemanifesto.org\/glossary\">Reactive Manifesto glossary<\/a>. Degnan further explained how this applied to the modern world of microservices.<\/p>\n<p>\u201cReactive streams are designed to have vendors and receivers of information that are decoupled from each other. Rather than having the receiver control the flow of information, it\u2019s allowed the sender to asynchronously send data that\u2019s really important,\u201d said Degnan. \u201cIn microservices for example, where you have a lot of independent components that need to communicate, what often happens is some services are able to operate at a higher speed than others, or traffic spikes overwhelm parts of the system. Reactive Streams allows you to have receivers say, \u2018all right, now I\u2019m ready to receive five more requests\u2019 and then have that message be asked around the system and the flow of information to be regulated.\u201d<\/p>\n<p>While the donation of RSocket to the Reactive Foundation lays the groundwork, a spokesperson for the foundation explained that it will also \u201cwork to expand the existing set of language implementations\/integrations, create a test platform to ensure interoperability between different protocol implementations, host a repository of documentation about reactive systems\/programming in general as well as specific projects like RSocket.\u201d<\/p>\n<p>The Linux Foundation is a sponsor of The New Stack.<\/p>\n<p><a href=\"https:\/\/thenewstack.io\/http-alternative-rsocket-gets-a-home-at-the-linux-foundation\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The list of foundations hosted by the Linux Foundation continues growing this week with the launch of the Reactive Foundation, \u201ca community of leaders established to accelerate technologies for building the next generation of networked applications,\u201d according to a statement. Upon founding, those leaders will include Alibaba, Facebook, Netifi and Pivotal, with the open source &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw93\/index.php\/2023\/03\/25\/http-alternative-rsocket-gets-a-home-at-the-linux-foundation\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;HTTP Alternative RSocket Gets a Home at The Linux Foundation&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2027","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/2027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/comments?post=2027"}],"version-history":[{"count":1,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/2027\/revisions"}],"predecessor-version":[{"id":2029,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/2027\/revisions\/2029"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/media?parent=2027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/categories?post=2027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/tags?post=2027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}