The RSocket Revolution

Sdílet
Vložit
  • čas přidán 12. 08. 2020
  • Join Spring developer advocate Josh Long (@starbuxman) for a guided tour to almost all things RSocket and Spring Boot in this quick 38 minute tour from a recent microservices-conference keynote presentation.
    code: github.com/joshlong/rsocket-re...
    music: www.bensound.com
  • Věda a technologie

Komentáře • 39

  • @samsteelz
    @samsteelz Před 3 lety +43

    The more I learn the less I know. SMH! This rings true for me every time I watch one of these videos. Great content Josh. Thanks.

  • @natanclassic
    @natanclassic Před 3 lety

    Great Content Josh, thanks for sharing, i'm always hearing spring bootiful podcast.

  • @americaneagle7777
    @americaneagle7777 Před 3 lety +3

    awesome command of the IDE -> jealous!

  • @user-px4kx8bj5n
    @user-px4kx8bj5n Před 3 lety

    Thanks josh long, i learning rsocket, spring ... in your contents

  • @usaava
    @usaava Před 3 lety +1

    Thanks for your great video.

  • @pouyakhoshkhoo3855
    @pouyakhoshkhoo3855 Před 3 lety

    Thanks for your informative video.

  • @zdlol2594
    @zdlol2594 Před 3 lety

    Thanks josh, good content!

  • @eugeneplay9416
    @eugeneplay9416 Před 2 lety

    Great videa. Thanks Josh.

  • @fxrcode7923
    @fxrcode7923 Před 3 lety

    ni hao Josh, I can learn new things per sec in your talk (dev environ, Spring integration, RSocket, Reactive, etc) . Going to get your book on leanpub

  • @alohah2507
    @alohah2507 Před 3 lety +4

    fun fact: his Chinese character name actually means dragon's gonads in Cantonese

  •  Před 3 lety +3

    Very good! I just wanna add the maybe would be better to not use var on presentations, that way we can see the types. Congratulations

  • @alexhali6003
    @alexhali6003 Před 3 lety +3

    Josh, can you expand imports in videos? It's important to understanding, which API you are using now. E.g. Files in this video.

  • @AnilPatil-bn5dr
    @AnilPatil-bn5dr Před 3 lety

    Off the topic but anyone has link for initial instrumental music.

  • @user-kc4rh5wm1n
    @user-kc4rh5wm1n Před 11 měsíci

    my question is when you run the ClientApplication how the program run into the Function rSocketRequester()? or because you used ApplicationReadyEvent so the function client() will run ? thank you

  • @Sagar13iffy
    @Sagar13iffy Před 3 lety +1

    I understand that the bidirectional rsocket channel is something we cannot achieve with http based service, but request - stream paradigm is still supported if we have return type as octet/stream so the server returns a flux of events. Correct me if I am wrong.

    • @ImaskarDono
      @ImaskarDono Před 3 lety

      Yep, you enable chunked encoding and return many messages. But there are some subtle problems with that. I worked with such code and do not recommend it.

    • @Sagar13iffy
      @Sagar13iffy Před 3 lety

      @@ImaskarDono naa.. no need for chunk encoding. Just put "produces" header as octet/stream and then write to output stream as much and as frequently as you want (obviously constraint by configured timeouts) and you're good

    • @ImaskarDono
      @ImaskarDono Před 3 lety

      @@Sagar13iffy spring will set it for you automatically, I just wrote how it works on the protocol level.

    • @Sagar13iffy
      @Sagar13iffy Před 3 lety

      @@ImaskarDono ahh I see.. I too have such a code running in production. Didn't face any issue yet. Why do you not recommend it?

    • @ImaskarDono
      @ImaskarDono Před 3 lety

      @@Sagar13iffy can't detect connection problems, exchange may get stuck forever.

  • @inaciocarozzi1874
    @inaciocarozzi1874 Před 3 lety +1

    This make me remember of tcp/ip connections. Why everybody is reinventing the wheel ???

    • @MarcoPotok
      @MarcoPotok Před 3 lety +2

      RSocket can *use* tcp/ip connections, it is an alternative to the HTTP protocol (application level, not transport level).

    • @yapadqoi
      @yapadqoi Před 3 lety

      Well, why not stick to old BBS messaging system instead of inventing CZcams comments section?
      "Reinventing the wheel" means innovation and keeping human's brain warm. If we don't do it anymore, soon enough we won't even be able to think.

  • @macarron6041
    @macarron6041 Před 3 lety +2

    The biggest problem is: the golang version and js version is still not usable

    • @Sagar13iffy
      @Sagar13iffy Před 3 lety +2

      for rsocket?

    • @The-Cat
      @The-Cat Před 3 lety +1

      what are you talking about? this framework is for java

    • @yapadqoi
      @yapadqoi Před 3 lety +2

      Go java ;-) and that biggest problem of yours is solved like magic!

  • @YineMiBen
    @YineMiBen Před 3 lety

    wow

  • @yapadqoi
    @yapadqoi Před 3 lety +1

    Was the typing recorded in real speed? Man, this is badass productive coding!
    Jealous :-(

  • @gsitju
    @gsitju Před 2 lety

    awesome video, but sometimes I can catch some GTA sounds from the background. Am I right? :)

  • @swillcheng9694
    @swillcheng9694 Před 2 lety

    Ni hao?

  • @nicholas1460
    @nicholas1460 Před 3 lety +6

    rSocket may be nice but it uses reactive to configure and run the service layer. Why would anyone want to configure and instance the service layer over and over again in a reactive manner? Just absurd.

  • @MrSpamTrapper
    @MrSpamTrapper Před 3 lety +1

    I don't really see where the revolution-ary part is. Is it so different than just using GRPC endpoint? Or on the other extreme, just using spring-reactive and have a http endpoint? The idea that you can choose between TCP/Aeron alternative is bullshit. I've seen it advertised as interchangeable since 1 year ago, truth is not even today I've seen any Aeron implementation.

    • @coffeesoftware
      @coffeesoftware Před 3 lety +5

      It's different than gRPC in that it isn't based on HTTP2 and it doesn't require google protocol buffs for payloads. RSocket can run on things like Aeron and TCP and WebSockets, not just TCP like HTTP2. See rsocket.io/docs/FAQ.html for answers to some questions like "Why not...". Also, the fact that it can run on WebSockets/Aeron/TCP (vs just TCP) isn't BS. Some of the largest websites on the planet use RSocket + WS at scale. I haven't used the Aerson implementation but I have no reason to doubt that it's there for a reason. And for that matter, I have no reason to doubt that it's an awesome choice given how powerful Aeron is.
      I hope these answers help, and next time, please do your best to pose interesting questions without resorting to the vulgarities, eh? I'm certainly no saint but I try to do better on the Spring YT channel because younger people sometimes watch these tech videos... thanks.

    • @MrSpamTrapper
      @MrSpamTrapper Před 3 lety

      @@coffeesoftware Hi, I meant more if it's throughput performance you want, you'd go for gRPC but you'd deal with protobufs, yes. If it's JSON you plan on transfering, the current spring-reactor is probably sufficient. WS endpoint is covered as well in "traditional" spring-reactor. There is probably some performance to go with tcp that you'd not have in spring-reactive, for not having to deal with http headers. I don't want my comment to appear as inconsiderate of the work, I'm just missing the 'revolutionary' spark. I still didn't find the Aeron implementation - I was expecting it on some kind of aeron-transport module github.com/rsocket/rsocket-java, or in the examples github.com/rsocket/rsocket-java/tree/master/rsocket-examples/src/main/java/io/rsocket/examples/transport

    • @patrickproctor3462
      @patrickproctor3462 Před 3 lety

      @@MrSpamTrapper I can actually attest to using RSocket as a unified HTTP/S and Websockets server.
      In our case, we have legacy hardware platforms and customers to support that cannot speak a modern version of TLS, but the demand from mobile customers has pretty much necessitated having HTTP2 support. We don't have the luxury of a microservices platform, so the solution has to fit both use cases. For now, we can leverage Websockets on the legacy hardware platforms to get around having to split the production environment, but we are looking at Aeron and Google QUIC (HTTP(3) over UDP) support in RSocket as a way to cover both legacy and current hardware along with the mobile clients with minimal resources and de-duplication of code. It just comes down to "if" we can fit the needed network stack components in the legacy systems' memory.
      I will admit the use case where you'd have HTTP AND a non-TCP endpoint on the same system--speaking two very different protocols--is niche, but think about all of the embedded systems out in the wild that have to stay hardened against bad actors on the net.

  • @user-ef1sp6zc3j
    @user-ef1sp6zc3j Před 3 lety

    阿里巴巴面试