Since I started work as Site Reliability Engineer I heard a lot about Kubernetes and how it magically solve tons of operational and scalable problems. However, as a Lifelong Learning student and because of my background as professor, I was always asking me what was those problems.
In my life I found that people learn in two ways, or experiencing someone else fails or failing by itself. In both cases you will learn, but in different proportions. …
Here we implemented a sample of Netflix’s backend. We had designed a Domain Driven Architecture using microservices and Kafka. In order to simulate a real scenario, we picked up a real dataset with 1,000 of the most popular movies on IMDB in the last 10 years.
Keywords: microservice, python, kafka, flask, restful-api
With this implementation we intend to provide APIs to:
- List movies by gender
- Visualize movie details
- Provide a vote option to like movies
As far as any other technology, microservices can solve numerous architectural problems, but also introduces others.
One of the big questions here is how to deal with ACID properties of a transaction in a distributed environment. Since each microservice deals with its own domain, take care of the transaction completeness by all theirs dependencies is a huge problem.
To illustrate it take into account this situation. Imagine a customer in a bakery asking the waiters if its order is already done. Since the waiters make orders and the cookers cooks the orders, understand whether a order is already done or…