Book Image

Practical Microservices

By : Umesh Ram Sharma
Book Image

Practical Microservices

By: Umesh Ram Sharma

Overview of this book

<p>A microservice architecture helps you build your application as a suite of different services. This approach has been widely adopted as it helps to easily scale up your application with reduced dependencies. This way if a part of your application is corrupted, it can be fixed easily thereby eliminating the possibility of completely shutting down your software. This book will teach you how to leverage Java to build scalable microservices. You will learn the fundamentals of this architecture and how to efficiently implement it practically.</p> <p>We start off with a brief introduction to the microservice architecture and how it fares with the other architectures. The book dives deep into essential microservice components and how to set up seamless communication between two microservice end points. You will create an effective data model and learn different ways to test and deploy a microservices. You will also learn the best way to migrate your software from a monolith to a microservice architecture.</p> <p>Finishing off with monitoring, scaling and troubleshooting, this book will set a solid foundation for you to start implementing microservices.</p>
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Sample application and its evolution


In this section, we will try to evolve our sample as a microservice application. We will be using the example of an online e-commerce website that sells clothing, accessories, shoes, and so on. This website has started gaining popularity, and they have to show offers on a weekly basis, or sometimes a daily basis, on the website. New features are added daily to the website.

The assumption here is that we are dealing with a single-page application. If we have to evolve this application as a microservice pattern, first we will think of it in terms of its service. There are two major categories of service-view service and backend service. Our first step would be to differentiate the view and backend (model and controller) sections.

The view service is the part that the user sees on the pages. It can be divided again into two parts--static content and dynamic content. Static content will be CSS files, some common JS files, and so on. Dynamic content is the template...