Distributed Systems with Alvaro Videla
“Every vendor will advertise that their system is better – that’s nice, I understand you need to sell your thing, but what am I gaining as a user and what am I sacrificing as a user by choosing your product?”
Distributed computing is becoming an increasingly important and complex field within software engineering, with numbers of new data engineering and infrastructure frameworks being released each year. For a beginner, it can be tough to know where to start, so this episode may be considered a primer to learning about distributed systems independently.
Alvaro Videla is a core developer for RabbitMQ and a distributed systems blogger, and he joins Software Engineering Daily to explain some of the core concepts of distributed systems.
- How did you get into distributed systems?
- Is everyone building a distributed system these days?
- Could you define the synchronous, asynchronous and semi-synchronous models?
- Why are the ideas of failure, detection and fault tolerance so important?
- What is the tradeoff between liveness and safety?
- What is distributed consensus and why is it so important?
- What We Talk About When We Talk About Distributed Systems
- Programming Distributed Computing Systems: A Foundational Approach
- Fault-tolerant Agreement in Synchronous Message-passing Systems
- Impossibility of Distributed Consensus with One Faulty Process
- Stumbling over consensus research: Misunderstandings and issues
- Alvaro on Twitter