decoupling your spring boot microservices
play

Decoupling your Spring boot Microservices With an open source - PowerPoint PPT Presentation

Decoupling your Spring boot Microservices With an open source workflow engine Orchestrating Spring Boot Microservices (In order to get coffee quickly) With an open source workflow engine Grifty Winters n a h e e D l l a i N 4 A


  1. Decoupling your Spring boot Microservices With an open source workflow engine

  2. Orchestrating Spring Boot Microservices (In order to get coffee quickly) With an open source workflow engine

  3. Grifty Winters n a h e e D l l a i N

  4. 4 A Classic Distributed System Rest Service One Service Two Response 4

  5. 5 A Classic Distributed System Rest Rest Service One Service Two Service Three Response Response 5

  6. Photo by John Ingle 6

  7. Photo by John Ingle 7

  8. 8

  9. Photo by John Ingle 9

  10. Congratulations! You’ve got a coffee Who’s next? 10

  11. Things to think about? • Barista takes a break • Order is taking while • “We don’t do mochachinos” 11

  12. Starbucks does not use two-phase commit Gregor Hohpe https://www.enterpriseintegrationpatterns.com/ramblings/18_starbucks.html 12

  13. Photo by John Ingle 13

  14. Photo by John Ingle 14

  15. 15 The System of Kaffee und Kuchen Order Coffee Cashier: Order Sorter: Barista: Takes orders Can get Cake! Makes Coffee Complete Coffee Ready 15

  16. Demo! https://github.com/NPDeehan/kaffee-und-kuchen 16

  17. Lets Make some changes to our system 17

  18. 18 What needs to change? We Need to Hold State Order Coffee Cashier: Order Sorter: Barista: Takes orders Can get Cake! Makes Coffee Complete Coffee Ready ● Retry ● Timeout ● Callback to Cashier ● Versioning ● Error Handling 18

  19. Live coding! https://github.com/NPDeehan/kaffee-und-kuchen 19

  20. Lets deal with the issues • What happens if the barista is taking a quick break? • Hold State until the barista is back • What happens if the order is taking too long? • Let the customer know we’re still working on it • What happens if the order can’t be completed for business reasons - not technical reasons? • BPMN Error event! 20

  21. Things to think about? • Barista takes a break • Order is taking while • “We don’t do mochachinos” 21

  22. Live coding! https://github.com/NPDeehan/kaffee-und-kuchen 22

  23. What did we Achieve • Better throughput • Better error handling • Scale better • Visualization • Timer(?) • Saga(?) 23

  24. 24 What needs to change? We Need to Hold State Order Coffee Cashier: Order Sorter: Barista: Takes orders Can get Cake! Makes Coffee Complete Coffee Ready ● Retry ● Timeout ● Callback to Cashier ● Versioning ● Error Handling 24

  25. Visualization! 25

  26. start.camunda.com 26

  27. THE END 27

Recommend


More recommend