SlideShare a Scribd company logo
/ by Igor Lozynskyi
/ by Oleh Dokuka
RSocket - new
Reactive-Streams
protocol
2
For whom this talk:
/ Reactive programmers
/ Protocols geeks
/ Curious people
/ We assume, you know what Reactive is
Реактивный Хардкор
/ Oleh Dokuka
33
Igor Lozynskyi
Oleh DokukaРеактивный Хардкор
/ Oleh Dokuka
44
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
6
Agenda
/ Why RSocket?
/ What is RSocket?
/ How To RSocket?
Intro:
story
7
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
HTTP requests
WebSockets
WebSockets
RxJava JDBC
REST
WebSockets
RxJava WebSocket Server
WebSockets
RxJava JDBC
REST
RxJava
WebSockets
JDBC/HTTP/Clients
RxJava RxJava
WebSockets
JDBC/HTTP/Clients
RxJava WS
RxJava WebSocket
Server
Client
Pros
/ Don’t care about WS
/ Allows seamless reactive code
/ Designed for streams of data
Cons
/ Not very resource-efficient
/ No Backpressure support
/ Have to support RxWS library:
/ RxWS Server
/ RxWS Client
23
Efficient,
Application Level protocol
24
Binary
25
Binary
Format agnostic
Massive efficient for machine to machine
Built-in framing
Not human readable
Have to encode/decode yourself
26
Multiplexed
STREAM BLUE
STREAM YELLOW
STREAM RED
27
Multiplexed
28
Multiplexed
Efficient hardware utilization
Built-in logical streams within physical
stream
29
Bi-directional
STREAM BLUE
STREAM RED
30
Bi-directional
Client - Server just to start
Built-in peer to peer communication
31
Backpressure
Reactive-Streams
109
32
All features of Reactive Streams
Built-in signals materializing/dematerializing
Reactive-Streams
Backpressure
33
Interaction modes
Multi
34
Request-Response
Interaction modes
STREAM YELLOW
35
Most common interaction model
Useful for plain data exchange
Async and multiplexed
Request-Response
36
Fire-and-Forget
Interaction models
STREAM YELLOW
37
Optimized Request-Request response
Only transport delivery guaranties needed
Immediately release resources
Fire-and-Forget
38
Request-Stream
Interaction models
STREAM YELLOW
39
Built-in one-way streaming
Backpressure support
Faster
Request-Stream
40
Stream-Stream
Interaction models
STREAM YELLOW
41
Built-in two-way streaming
Async, multiplexed (no-blocking)
Channel
42
Wide list of interaction modes
Efficient solutions for most common
interactions
Interaction modes
How to RSocket?
43
Demo
44
https://github.com/netifi/rsocket-talk-demo/tree/master/demo-1-rsocket-java
Echo:
45
46
Language agnostic
Demo
47
https://github.com/netifi/rsocket-talk-demo/tree/master/demo-2-rsocket-polyglot
Hello
48
49
Architecture
agnostic
50
Format agnostic
51
52
1
∞
Demo
53
https://github.com/netifi/rsocket-talk-demo/tree/master/demo-3-from-grpc-to-rsocket-rpc
54
HTTP/2 Flow Control
55
GRPC Flow
Control
Could impact Resilience
Could impact Performance
Demo
56
https://github.com/netifi/rsocket-talk-demo/tree/master/demo-3-from-grpc-to-rsocket-rpc
57
58
RSocket-RPC Flow Control
Built-it Backpressure - means Resilience
Pull-Push Flow control - means Performance
59
Transport agnostic
Demo
60
What else?
61
62
Metadata & Payload in frame
/ Can send a long with message any meta info
/ Could be used for encoding decoding purpose
63
Fragmentation
/ Any payload size
/ Transport take care of proper delivery by
chunks
64
Cancelation
/ Can safely cancel logical stream
65
Leasing
/ Server can control clients requests
/ Preserve server stability
66
Resumability
/ Designed for mobile network
/ Can resume streaming in case of network
partitioning / disrupting
67
Maintainers
68
Users
69
Frameworks
Proteus framework
Let’s look to
again
RxJava RxJava
WebSockets
JDBC/HTTP/Clients
Reactor Reactor
JDBC/HTTP/Clients
WebSockets
Reactor Reactor
JDBC/HTTP/Clients
74
Summary
/ Is not aimed to replace but enforce
75
76
77
78
79
Summary
/ Is not aimed to replace but enforce
/ Designed to save your money and time
/ Fast, low-latency, light-weight
80
Learn more
/ RSocket Talk - https://bit.ly/2DUVcZ8
/ RSocket Page - http://rsocket.io/
/oleh.dokuka
/OlegDokuka
/OlehDokuka
Q&A
Thank you!
/aigor
/siromaha
/ihor.lozinsky
2018
Nov 24
Presentation
Code

More Related Content

PDF
Reactive micro services using RSocket
PDF
Welcome to the Reactive Revolution:RSocket and Spring Cloud Gateway - Spencer...
PDF
The Future of Reactive Architectures
PDF
Generating Unified APIs with Protocol Buffers and gRPC
PDF
Power-up services with gRPC
PDF
gRPC and Microservices
PDF
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
PDF
gRPC Design and Implementation
Reactive micro services using RSocket
Welcome to the Reactive Revolution:RSocket and Spring Cloud Gateway - Spencer...
The Future of Reactive Architectures
Generating Unified APIs with Protocol Buffers and gRPC
Power-up services with gRPC
gRPC and Microservices
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
gRPC Design and Implementation

What's hot (20)

PDF
gRPC: The Story of Microservices at Square
PDF
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
PPTX
Introduction to gRPC
PDF
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
PDF
Build a Micro HTTP Server for Embedded System
PDF
OpenAPI and gRPC Side by-Side
PDF
Introduction to gRPC
PDF
gRPC - RPC rebirth?
PDF
Netty @Apple: Large Scale Deployment/Connectivity
PDF
Networking in Java with NIO and Netty
PDF
Netty Cookbook - Chapter 2
PPTX
REST vs gRPC: Battle of API's
PDF
Learning Erlang And Developing A Sip Server Stack With 30k Potential Users
PPTX
Using RabbitMQ and Netty library to implement RPC protocol
PDF
The Considerations for Internet of Things @ 2017
PPTX
Http/2 lightning
PDF
Communicating on the web
PDF
Open MPI State of the Union X SC'16 BOF
PDF
Primer to Browser Netwroking
gRPC: The Story of Microservices at Square
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
Introduction to gRPC
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Build a Micro HTTP Server for Embedded System
OpenAPI and gRPC Side by-Side
Introduction to gRPC
gRPC - RPC rebirth?
Netty @Apple: Large Scale Deployment/Connectivity
Networking in Java with NIO and Netty
Netty Cookbook - Chapter 2
REST vs gRPC: Battle of API's
Learning Erlang And Developing A Sip Server Stack With 30k Potential Users
Using RabbitMQ and Netty library to implement RPC protocol
The Considerations for Internet of Things @ 2017
Http/2 lightning
Communicating on the web
Open MPI State of the Union X SC'16 BOF
Primer to Browser Netwroking
Ad

Similar to RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский (20)

PDF
Deep Dive Java 17 Devoxx UK
PDF
Supercomputing by API: Connecting Modern Web Apps to HPC
PDF
REST in Peace. Long live gRPC!
PDF
The value of reactive
PDF
The Value of Reactive
PDF
Reactive programming with Rxjava
PDF
Chicago Docker Meetup Presentation - Mediafly
PDF
How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: A...
PDF
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
PDF
Experiences building a distributed shared log on RADOS - Noah Watkins
PPTX
Shestakov Illia "The Sandbox Theory"
PDF
WebRTC Videobroadcasting
PDF
software defined network, openflow protocol and its controllers
PDF
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
PDF
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
PPTX
[JOI] TOTVS Developers Joinville - Java #1
PDF
Ephemeral DevOps: Adventures in Managing Short-Lived Systems
PPTX
SAP hands on lab_en
PDF
Cloud native IPC for Microservices Workshop @ Containerdays 2022
PDF
Aplicações realtime com gRPC
Deep Dive Java 17 Devoxx UK
Supercomputing by API: Connecting Modern Web Apps to HPC
REST in Peace. Long live gRPC!
The value of reactive
The Value of Reactive
Reactive programming with Rxjava
Chicago Docker Meetup Presentation - Mediafly
How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: A...
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
Experiences building a distributed shared log on RADOS - Noah Watkins
Shestakov Illia "The Sandbox Theory"
WebRTC Videobroadcasting
software defined network, openflow protocol and its controllers
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
[JOI] TOTVS Developers Joinville - Java #1
Ephemeral DevOps: Adventures in Managing Short-Lived Systems
SAP hands on lab_en
Cloud native IPC for Microservices Workshop @ Containerdays 2022
Aplicações realtime com gRPC
Ad

More from Sigma Software (20)

PPTX
Fast is Best. Using .NET MinimalAPIs
PPTX
"Are you developing or declining? Don't become an IT-dinosaur"
PPTX
Michael Smolin, "Decrypting customer's cultural code"
PPTX
Max Kunytsia, “Why is continuous product discovery better than continuous del...
PPTX
Marcelino Moreno, "Product Management Mindset"
PDF
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
PPTX
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
PPTX
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
PPTX
Stoyan Atanasov “How crucial is the BA role in an IT Project"
PPTX
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
PPTX
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
PPTX
VOLVO x HACK SPRINT
PPTX
Business digitalization trends and challenges
PPTX
Дмитро Терещенко, "How to secure your application with Secure SDLC"
PPTX
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
PDF
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
PDF
Training solutions and content creation
PDF
False news - false truth: tips & tricks how to avoid them
PPTX
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
PPTX
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Fast is Best. Using .NET MinimalAPIs
"Are you developing or declining? Don't become an IT-dinosaur"
Michael Smolin, "Decrypting customer's cultural code"
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Marcelino Moreno, "Product Management Mindset"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
VOLVO x HACK SPRINT
Business digitalization trends and challenges
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Training solutions and content creation
False news - false truth: tips & tricks how to avoid them
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...

Recently uploaded (20)

PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
assetexplorer- product-overview - presentation
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
Digital Strategies for Manufacturing Companies
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPT
Introduction Database Management System for Course Database
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
How to Migrate SBCGlobal Email to Yahoo Easily
assetexplorer- product-overview - presentation
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
CHAPTER 2 - PM Management and IT Context
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
wealthsignaloriginal-com-DS-text-... (1).pdf
ai tools demonstartion for schools and inter college
Digital Strategies for Manufacturing Companies
2025 Textile ERP Trends: SAP, Odoo & Oracle
Reimagine Home Health with the Power of Agentic AI​
Which alternative to Crystal Reports is best for small or large businesses.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Upgrade and Innovation Strategies for SAP ERP Customers
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Introduction Database Management System for Course Database
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский