YAMS — Yet Another Mail Service NEW 2021-04-11 — An important Email 2021-04-09 — Another important Email 2021-04-08 — Do you want to join my network? 2021-04-05 — Nigerian prince wants to send you money X your inbox contains 4 mails 1 NEW Mail Reload Controller Rest Client update UI Element update UI update UI
YAMS — Yet Another Mail Service NEW 2021-04-11 — An important Email 2021-04-09 — Another important Email 2021-04-08 — Do you want to join my network? 2021-04-05 — Nigerian prince wants to send you money X your inbox contains 4 mails 1 NEW Mail Reload Websocket Client Email Email count() count() collect() filter() subscribe Email map()
YAMS — Yet Another Mail Service NEW 2021-04-11 — Hello WeAreDevelopers! 👋 2021-04-09 — Another important Email 2021-04-08 — Do you want to join my network? 2021-04-05 — Nigerian prince wants to send you money X your inbox contains 5 mails 2 NEW Mail Websocket Client Email Email count() count() collect() filter() subscribe Email NEW 2021-04-11 — An important Email map()
Internet has 4.7 Billion users. Facbook has 2.8 Billion users. Youtube has 2.1 Billion users. 2010 2020 The Internet has 1.4 Billion users. A single website may now handle twice as much traffic as the entire internet did a decade ago.
We are resilient by supporting Back-Pressure Stream Provider Consumer events are stored until consumed Stream Provider Consumer A Consumer C Consumer B scaling out consumers We can scale-out by Location Transparency
Microservice A Microservice B Microservice C Web Application Microservice C with high latency First Generation MicroServices Synchronous and without Backpressure Support
Microservice A Microservice B Microservice C Web Application Microservice C with high latency Second Generation MicroServices Partially asynchronous with Queues Queue isolates bottleneck Queue Microservice C with high latency
Web Application Stream Microservice usually Backend-For-Frontend (BFF) Microservice A Microservice B Microservice C Third Generation MicroServices Fully asynchronous & stream-centric
Events as the System State Stream of Transactions Max sent David 100€ Max sent Maria 70€ David sent Maria 25€ User Balance David + 75 € Max - 170 € Maria + 95 € ➡ Event Sourcing 100% reliable audit log.
Lambda A Lambda B Lambda C GraphQL Step 1 Step 2 Step 2 Car Brand Build Year Car Model Insurance Agent Customer ✅ This Is Correct Alfra Romeo Giulia, 2020 110PS, Diesel Step 1 Step 2 Step 2 Coverage 200 € 🏁 Sign Digital Do you accept 70% coverage for 200€? Eventstore GraphQL
GraphQL Step 1 Step 2 Step 2 Car Brand Build Year Car Model Lambda A Insurance Agent Lambda B Lambda C Eventstore GraphQL Customer ✅ This Is Correct Alfra Romeo Giulia, 2020 110PS, Diesel Step 1 Step 2 Step 2 Coverage 250 € 🏁 Sign Digital Do you accept full coverage for 250€? Customers expect realtime syncronisation between channels.
Microservice A Web Banking Microservice B Microservice C Eventstore GraphQL Projection Projections 1⃣ Projections act as read-models for a specific client. 2⃣ They subscribe to events & hydrate the projection. 3⃣ The client only reads from the projection.
Microservice A Web Banking Microservice B Microservice C Eventstore GraphQL Projection Projections 1⃣ Projections act as read-models for a specific client. 2⃣ They subscribe to events & hydrate the projection. 3⃣ The client only reads from the projection.
GraphQL Mobile Client Projection Microservice A Web Banking Microservice B Microservice C Eventstore GraphQL Projection Projections 1⃣ Projections act as read-models for a specific client. 2⃣ They subscribe to events & hydrate the projection. 3⃣ The client only reads from the projection. Show balance & last transactions: 93%