Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spring I/O 2024 - Dapr for Spring Boot Developers

Salaboy
May 31, 2024

Spring I/O 2024 - Dapr for Spring Boot Developers

For more information: https://salaboy.com

Salaboy

May 31, 2024
Tweet

More Decks by Salaboy

Other Decks in Technology

Transcript

  1. Mauricio Salatino & Thomas Vitale Spring I/O Barcelona May 30th,

    2024 Dapr and Spring Boot Solving the Challenges of Distributed Systems @vitalethomas @salaboy
  2. Challenges That you will phase Distributed Systems are complex Developer

    Productivity Su ff ers writing YAML Teams Expertise to a whole new level @salaboy @vitalethomas https://www.diagrid.io/blog/dapr-for-spring-boot
  3. diagrid.io • Software Engineer and CNCF Ambassador. • Author of

    “Platform Engineering on Kubernetes” (Manning). • @DaprDev @KnativeProject @KeptnProject Mauricio Salatino salaboy.com @Salaboy
  4. Systematic • Software Engineer • CNCF Ambassador, Oracle ACE Pro,

    Testcontainers Community Champion • Author of “Cloud Native Spring in Action” (Manning). • OSS contributor (Java, Spring, Cloud Native Technologies) Thomas Vitale thomasvitale.com @vitalethomas
  5. But if you can do that.. you can also do

    this @salaboy @vitalethomas
  6. But if you can do that.. you can also do

    this @salaboy @vitalethomas
  7. What about local development? I don’t want to deploy to

    Kubernetes… @salaboy @vitalethomas
  8. This is good … But can we make it more

    Bootiful? @salaboy @vitalethomas
  9. How do we do this in Spring? Spring Data ->

    https://github.com/spring-projects/spring-data-keyvalue @salaboy @vitalethomas
  10. How do we do this in Spring? Spring Data ->

    https://github.com/spring-projects/spring-data-keyvalue @salaboy @vitalethomas
  11. How do we do this in Spring? Spring Kafka ->

    https://github.com/spring-projects/spring-kafka @salaboy @vitalethomas
  12. How do we do this in Spring? Spring Pulsar ->

    https://github.com/spring-projects/spring-pulsar @salaboy @vitalethomas
  13. Outbox Pattern * Produce an event every time we store

    some data * Do it transactionally * If for some reason storing data fails, 
 the event shouldn’t be produced @salaboy @vitalethomas
  14. Durable Exections / Workflows * Sometimes we need more than

    just calling X services in a sequence * We want to make sure that: * If things fail we have a backup plan like: custom retries, circuit breakers and domain-speci fi c logic hooks * Support for long running and stateful interactions, for example waiting for a human input that might be on holidays * That we have compensation logic to undo operations @salaboy @vitalethomas
  15. What about Deployments? The platform team takes care of wiring

    up the available infrastructure @salaboy @vitalethomas