Game of Streams 🐉

Game of Streams 🐉

Most mission-critical systems have distributed elements or are entirely distributed, resulting in a number of challenges: performance, scalability, reliability, resilience...the eight fallacies of distributed computing are alive and well!

Messaging platforms are often used to solve these problems and increase the "ilities", but they don't come without a few complexities of their own. Come to this session to learn not only how to use open source solutions like Spring Cloud Stream, RabbitMQ, & Apache Kafka to maximize your distributed systems' capabilities while minimizing complexity...but also how to *really* use them! There be dragons when dealing with messaging platforms; the presenter will show you several ways to tame and harness them for maximum fire, maximum altitude. All examples will be coded *live & in real-time*!

394797f95420c4da4c84379f0d0b11c9?s=128

Mark Heckler

January 10, 2020
Tweet

Transcript

  1. Game of Streams How to tame & get the most

    from your messaging platforms Mark Heckler Professional Problem Solver, Spring Developer & Advocate www.thehecklers.com mark@thehecklers.com mheckler@vmware.com @mkheck
  2. @mkheck www.thehecklers.com Distributed systems are easy…right?

  3. @mkheck www.thehecklers.com Who am I? • Author • Architect &

    Developer • Java Champion, Rockstar • Professional Problem Solver • Spring Developer & Advocate • Creador y curador de
  4. @mkheck www.thehecklers.com New book! But you can’t buy it yet…

    DISCLAIMER: artist’s rendition only, not the real cover
  5. @mkheck www.thehecklers.com Takeaways Why use messaging platforms/where do they fit

    in a distributed architecture? Examples of leading messaging platforms What is Spring Cloud Stream? Why use it?
  6. @mkheck www.thehecklers.com The Bezos mandate All teams will henceforth expose

    their data and functionality through service interfaces. Teams must communicate with each other through these interfaces. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. It doesn’t matter what technology is used: HTTP, CORBA, pub/sub, etc. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. Anyone who doesn’t do this will be fired.
  7. @mkheck www.thehecklers.com Takeaways Why use messaging platforms/where do they fit

    in a distributed architecture? Examples of leading messaging platforms What is Spring Cloud Stream? Why use it?
  8. @mkheck www.thehecklers.com Takeaways Why use messaging platforms/where do they fit

    in a distributed architecture? Examples of leading messaging platforms What is Spring Cloud Stream? Why use it?
  9. @mkheck www.thehecklers.com Takeaways Why use messaging platforms/where do they fit

    in a distributed architecture? Examples of leading messaging platforms What is Spring Cloud Stream? Why use it?
  10. @mkheck www.thehecklers.com Why use it?

  11. @mkheck www.thehecklers.com SCSt + ${messaging.platform} =

  12. @mkheck www.thehecklers.com Sink Processor Power Source

  13. @mkheck www.thehecklers.com Processor Sink Sink Processor Scalability Source Sink Sink

  14. @mkheck www.thehecklers.com Processor Sink Sink Processor Flexibility Source Sink Sink

  15. @mkheck www.thehecklers.com Processor Sink Sink Processor Versatility Source Sink Sink

  16. @mkheck www.thehecklers.com Sink Processor Stream Revisited: Legacy Source

  17. @mkheck www.thehecklers.com Consumer Function Stream Revisited: Evolution Supplier

  18. @mkheck www.thehecklers.com And a few really useful bits & bobs

    (if time permits, if not, please star the repo!)
  19. @mkheck www.thehecklers.com Let’s code!

  20. @mkheck www.thehecklers.com

  21. @mkheck www.thehecklers.com Resources https://github.com/mkheck/game-of-streams https://cloud.spring.io/spring-cloud-stream/ mark@thehecklers.com, mheckler@vmware.com @mkheck on Twitter

    Kotlin fan? https://github.com/mkheck/game-of-streams-kotlin