Distributed Systems are a complex topic. There's abundant research about it but sometimes it is hard for a beginner to know where to start. I would like to outline the main concepts of distributed systems, so the interested person can have a clear path on how to start their own research as well. In this talk I will review the different models: asynchronous vs. synchronous distributed systems; message passing vs shared memory communication; failure detectors and leader election problems; consensus and different kind of replication. I will also review a series of books on distributed systems in order to recommend the best one according to the topics we would like to learn about, or the problems we would like to solve. The goal of the talk is to set a good foundation for people interested in learning more about distributed systems.
Talk objectives:
Target audience:
In this tutorial we are going to see a short theoretical introduction to RabbitMQ and messaging in general to later dive into a live coding session to see how implement messaging into our applications. The live demo will go from starting the server and issuing basic administration commands up to creating several consumers and publishers. We will implement use cases ranging from a basic queue server to a publish subscribe system. The goal of the tutorial is two fold: to see how easy is to implement a solution around messaging and to understand that we don't need to be a "big player" in order to take advantage of RabbitMQ.
Alvaro Videla used to work as Core Developer for RabbitMQ. Before moving to Europe he was working in Shanghai where he helped building one of Germany biggest dating websites. He co-authored the book "RabbitMQ in Action" for Manning Publishing. Some of his open source projects can be found here: http://github.com/videlalvaro. Apart from code related stuff he likes traveling with his wife, listening/playing music and reading books. GitHub:
videlalvaro
Twitter:
@old_sound