Sunday, June 23, 2024
Sunday, June 2, 2024
Saturday, June 1, 2024
Workflow Engine Principles
https://temporal.io/blog/workflow-engine-principles
https://share.transistor.fm/s/65974dd6
Join Jason for another round of “Build Things on Purpose.” This time Jason is joined by Maxim Fateev and Samar Abbas, co-founders of Temporal, to talk about the software and solutions they are developing for orchestrating micro services. Maxim and Samar talk about their joint work in the past on various projects to include the Cadence project, which has laid the foundation for what they are continuing to do at Temporal. Check out this “Build Things” conversation as Maxim and Samar go into the details on the nature of their work at Temporal!
Durable Execution
https://orkes.io/blog/why-your-applications-need-durable-execution/
https://materializedview.io/p/durable-execution-justifying-the-bubble
First heard about it in a podcast featuring Temporal's CEO
System Design: 11 basic & essential concepts
1. Scalability
- Ensures systems can handle increased load and grow efficiently.
Link → https://lnkd.in/dD-GZpVq
2. Latency vs Throughput
- Balances speed and capacity in system performance.
Link → https://lnkd.in/dscK9g3E
3. CAP Theorem
- Explains the trade-offs between consistency, availability, and partition tolerance in distributed systems.
Link → https://lnkd.in/dFpgDSnY
4. ACID Transactions
- Guarantees reliable database processing through atomicity, consistency, isolation, and durability.
Link → https://lnkd.in/dkkmMu_D
5. Rate Limiting
- Controls the amount of incoming and outgoing traffic to prevent overload and abuse.
Link → https://lnkd.in/dY9NqRG9
6. API Design
- Ensures APIs are user-friendly, efficient, and maintainable.
Link → https://lnkd.in/dTgxGa5i
7. Strong vs Eventual Consistency
- Balances the need for immediate data consistency versus eventual data accuracy in distributed systems.
Link → https://lnkd.in/dQDwa7TQ
8. Distributed Tracing
- Helps monitor and debug complex, distributed systems by tracking requests across multiple services.
Link → https://lnkd.in/dA-3swq2
9. Synchronous vs Asynchronous Communications
- Determines how systems interact, either waiting for responses (synchronous) or continuing independently (asynchronous).
Link → https://lnkd.in/dx2nFDgR
10. Batch Processing vs Stream Processing
- Differentiates between processing large volumes of data at once (batch) and processing data in real-time (stream).
Link → https://lnkd.in/dqGFQppV
11. Fault Tolerance
- Ensures systems remain operational despite failures or errors.
Link → https://lnkd.in/dzKWh4ju