benwilcock / springone-2020-rsocket-talk

Getting started with RSocket

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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


Languages

Language:Java 100.0%