Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Connect Your Functions with RSocket

221 views

Published on

SpringOne 2020
Spencer Gibb: Spring Cloud Core Lead, VMware;
Oleg Zhurakousky: Software Engineer, VMware

Published in: Software
  • Be the first to comment

  • Be the first to like this

Connect Your Functions with RSocket

  1. 1. Confidential │ ©2019 VMware, Inc.
  2. 2. Confidential │ ©2019 VMware, Inc. 2 Reactive Streams
  3. 3. Confidential │ ©2019 VMware, Inc. 3 Back Pressure SURE THING GIMME!Responde r Requester HELP !!!! Responde r BETTER? Reactive Subscriber Reactive Subscriber Reactive Subscriber Requester Requester
  4. 4. Confidential │ ©2019 VMware, Inc. 4 Reactive Streams ● ● ● ● ● ● ● ● ● ● ●
  5. 5. 5Confidential │ ©2019 VMware, Inc. http://rsocket.io
  6. 6. Confidential │ ©2019 VMware, Inc. 6 RSocket
  7. 7. Confidential │ ©2019 VMware, Inc. 7 ● ● ● ● RSocket
  8. 8. Confidential │ ©2019 VMware, Inc. 8 ● ● RSocket
  9. 9. Confidential │ ©2019 VMware, Inc. 9 ● RSocket ● RSocketRequester @MessageMapping ● RSocket Programming Models
  10. 10. Confidential │ ©2019 VMware, Inc. 10 Spring Cloud Function
  11. 11. Confidential │ ©2019 VMware, Inc. 11
  12. 12. Confidential │ ©2019 VMware, Inc. 12 FUNCTION Why Functions? uppercase
  13. 13. Confidential │ ©2019 VMware, Inc. 13 HTTP Why Functions? post/get/... uppercase
  14. 14. Confidential │ ©2019 VMware, Inc. 14 RSocket Why Functions? requestResponse() uppercase
  15. 15. Confidential │ ©2019 VMware, Inc. 15 RSocket Why Functions? requestResponse() fireAndForget() requestStream() uppercase
  16. 16. Confidential │ ©2019 VMware, Inc. 16 Serverless platforms Why Functions? AWS/Azure/Google uppercase
  17. 17. Confidential │ ©2019 VMware, Inc. 17 RabbitMQSolace Why Functions? uppercase
  18. 18. Confidential │ ©2019 VMware, Inc. 18 ● Promote implementation of business logic via java Functions ● Uniformed and portable programming model ○ Transparent Type Conversion ○ Function Composition ○ POJO functions (if it looks/smells like a function it must be a function) ○ Reactive support ○ Deployment of packaged functions ○ Arity - functions with multiple inputs/outputs ● Integration with serverless platforms ○ Amazon AWS ○ Google Cloud Functions ○ Microsoft Azure Spring Cloud Function
  19. 19. Confidential │ ©2019 VMware, Inc. 19 <Demo>
  20. 20. Confidential │ ©2019 VMware, Inc. 20 Spring Cloud Function & RSocket
  21. 21. Confidential │ ©2019 VMware, Inc. 21 ● Binds/Maps functions to RSocket operations ● Supports multiple RSocket operations per function ● Distributed Function composition ● Imperative or Reactive functions ● Function Routing Spring Cloud Function & RSocket requestResponse() fireAndForget() requestStream() uppercase
  22. 22. Confidential │ ©2019 VMware, Inc. 22 Routing Function & RSocket requestResponse() fireAndForget() requestStream() functionRouter uppercase lowercase
  23. 23. Confidential │ ©2019 VMware, Inc. 23 <Demo>
  24. 24. Confidential │ ©2019 VMware, Inc. 24 ● ● ● ● ● Summary!
  25. 25. Confidential │ ©2019 VMware, Inc. 25 ● ● ● ● ● Summary!
  26. 26. Confidential │ ©2019 VMware, Inc. 26 RSocket Routing Broker ● ● ● ● ● ●
  27. 27. Confidential │ ©2019 VMware, Inc. 27 RSocket Routing Broker Client X Client Y Client ... Client ... Client ... Client ... Client ...
  28. 28. Confidential │ ©2019 VMware, Inc. 28 <Demo>
  29. 29. Confidential │ ©2019 VMware, Inc. 29 Thank you!

×