Microservices is an architectural style and pattern that is becoming hugely popular and adopted by many organizations because of the advantages that it offers. In this book we will learn what it takes to build great applications using Microservices, the pitfalls associated with such a design and the techniques to avoid them.
We start by shedding light on traditional monoliths, and the problems faced in such architectures and how Microservices are an obvious evolution to tackle such problems. We then learn to build highly performant web-services using Play Framework. You will understand the importance of writing code that is asynchronous and nonblocking and how Play leverages this paradigm internally for higher throughput.
Next we then learn about the Reactive Manifesto and understand its practical benefits by leveraging it in our design. We introduce the Lagom Framework which solves two purposes: build reactive applications that are scalable and resilient to failures, and solve the problems associated with microservices architecture like service gateway, service discovery, inter-microservice communication and streaming and so on. Message Passing is used as a means to achieve resilience, and CQRS with Event Sourcing helps us in modelling data for highly interactive applications.
Chapter 1. Introduction To Microservices
Chapter 2. Introduction To Play Framework
Chapter 3. Asynchronous And Non-Blocking
Chapter 4. Dive Deeper
Chapter 5. Reactive Manifesto
Chapter 6. Introduction To Lagom
Chapter 7. Cqrs And Event Sourcing
Chapter 8. Effective Communication
Chapter 9. Development Process
Chapter 10. Production Containers
Chapter 11. Example Application In K8S