Skip to content

benwilcock/springone-2020-rsocket-talk

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

Getting Started With RSocket

RSocket is pretty awesome. It’s a fully reactive, message-driven, multi-modal, bidirectional communication protocol built with microservices in mind. But sometimes, being awesome just isn’t enough! Sometimes you need practical, step-by-step instructions on how to get started the easy way, with no complicated docs to read or sample code to grok. In this talk, Ben will tell you everything you need to know to get started with RSocket and a few tips and tricks he picked up on his personal road to RSocket enlightenment.

About Me

  1. I work in tech marketing for VMware
  2. I work mostly on Spring marketing
  3. I like learning new things
  4. I like messaging & protocols
  5. I've done lots of Integration before

About You

  1. You like learning new things
  2. You like messaging & protocols
  3. You have no problem with multiple ways of doing things
  4. You haven't seen RSocket before or you want a refresher

About RSocket

  • Open Source
  • Binary Protocol For Transports like TCP & WebSocket
  • Connection-oriented
  • Bidirectional (requesters & responders)
  • Multiple Interaction Models
    • Request & Response
    • Fire & Forget
    • Request Stream
    • Channels (Stream Request, Stream Response)
  • Multiple Implementations
    • Java
    • Kotlin
    • Javascript
    • .Net
    • And more...

What You Will Learn

Time permitting, in this talk I'll take you through:

  1. Setting up your project
  2. Request-response messaging with RSocket
  3. Fire-and-forget messaging with RSocket
  4. Request-stream messaging with RSocket
  5. Channels (stream-stream) messaging with RSocket
  6. Basic-security with RSocket

What You Will Need

  • Java 11 (I recommend installing with SDKMAN)
  • Spring Initializr (start.spring.io)
  • RSC RSocket Client (Project, Releases)
  • An IDE (I'm using IntelliJ IDEA CE)
  • A terminal (MacOS, Linux, or Windows Subsystem for Linux)

Downloading The RSocket Client Binary

The RSocket Client project publishes releases in three formats at present.

  1. Java JAR package (which you execute with java -jar <jarname> <options>).
  2. Mac OS Binary, which is ideal if you're still paying the Apple TAX :)
  3. Linux binary, ideal for free thinkers and folks using Windows Subsystem for Linux.

Either download manually by visiting the releases page of the RSC Project, or download the file using commands similar to these:

# For Linux/WSL use the next line, for MacOS switch the wget link for the right version.
wget https://github.com/making/rsc/releases/download/0.5.0/rsc-linux-x86_64
# Rename the binary to something easier to work with.
mv rsc-linux-x86_64 rsc

Make sure the RSocket Client program is executable and check it works:

# Make the binary executable.
chmod +x rsc
# Check the client is executing correctly.
./rsc --version

You should see output like this:

{"version": "0.5.0", "build": "2020-07-06T17:32:33Z"}

Keep Learning

This talk is based on my Spring.io blog series of the same name which you can find links to here


About

Getting started with RSocket

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages