▶Book Description
Microservices are the next big thing in designing scalable, easy-to-maintain applications. It not only makes app development easier, but also offers great flexibility to utilize various resources optimally. If you want to build an enterprise-ready implementation of the microservices architecture, then this is the book for you!
Starting off by understanding the core concepts and framework, you will then focus on the high-level design of large software projects. You will gradually move on to setting up the development environment and configuring it before implementing continuous integration to deploy your microservice architecture. Using Spring security, you will secure microservices and test them effectively using REST Java clients and other tools like RxJava 2.0. We'll show you the best patterns, practices and common principals of microservice design and you'll learn to troubleshoot and debug the issues faced during development. We'll show you how to design and implement reactive microservices. Finally, we'll show you how to migrate a monolithic application to microservices based application.
By the end of the book, you will know how to build smaller, lighter, and faster services that can be implemented easily in a production environment.
▶What You Will Learn
⦁ Use domain-driven design to design and implement microservices
⦁ Secure microservices using Spring Security
⦁ Learn to develop REST service development
⦁ Deploy and test microservices
⦁ Troubleshoot and debug the issues faced during development
⦁ Learning best practices and common principals about microservices
▶Key Features
⦁ Use domain-driven design to build microservices
⦁ Use Spring Cloud to use Service Discovery and Registeration
⦁ Use Kafka, Avro and Spring Streams for implementing event based microservices
▶Who This Book Is For
This book is for Java developers who are familiar with the microservices architecture and now wants to take a deeper dive into effectively implementing microservices at an enterprise level. A reasonable knowledge level and understanding of core microservice elements and applications is expected.
▶What this book covers
⦁ Chapter 1, A Solution Approach, covers the high-level design of large software projects and helps you understand the common problems faced in a production environment and the solutions to these problems.
⦁ Chapter 2, Setting up the Development Environment, shows how to set up the development environment and configure Spring Boot effectively. You will also learn how to build a sample REST service.
⦁ Chapter 3, Domain-Driven Design, teaches you the fundamentals of domain-driven design and how is it used practically by design sample services.
⦁ Chapter 4, Implementing Microservices, shows you how to code the service and then write the unit test for the developed code.
⦁ Chapter 5, Deployment and Testing, covers how to deploy microservices and develop them on Docker. You will also learn to write the Java test client for microservices.
⦁ Chapter 6, Reactive Microservices, shows how to design and implement reactive microservices.
⦁ Chapter 7, Securing Microservices, covers the different security methods and the different ways to implement OAuth. You will also understand Spring Security implementation.
⦁ Chapter 8, Consuming Microservices Using Web Application, explains how to develop a web application (UI) using the Knockout. You will require Bootstrap JS libraries to build a prototype of a web application that will consume microservices to show data and flow of sample project—.a small utility project.
⦁ Chapter 9, Best Practices and Common Principles, talks about microservice design principles. You will learn an effective way of developing microservices and how Netflix has implemented microservices.
⦁ Chapter 10, Troubleshooting Guide, explains the common problems encountered during the development of microservices and their solutions. This will help you follow the book smoothly and would make learning swift.
⦁ Chapter 11, Migrating a Monolithic Application to a Microservice-Based Application, shows you how to migrate a monolithic application to a microservice-based application.