Hands-On Microservices:Monitoring and Testing
上QQ阅读APP看书,第一时间看更新

Building microservices

In this section, we will discuss how to build a microservice-based application using the same online bookshop example as in the previous sections. Our application has the following four modules:

  • Customer Account Management
  • Order Management
  • Book Inventory Management
  • Shipping Management

I will create a microservice for each of these modules. The following microservices correspond to the application modules:

  • Customer Account Management → Account Service
  • Order Management → Order Service
  • Book Inventory Management → Book Service
  • Shipping Management → Shipping Service

The following diagram shows the architecture of this online bookshop application:

As you can see in the preceding diagram, we have four core microservices in this application. This architecture also has two more services: an API Gateway and the Shopfront UI web application, which is the user interface that can be seen on the browser. To start building our microservice project, we have to create the following individual services:

  • Config Server
  • Eureka Server
  • Account Service
  • Book Service
  • Order Service
  • Shipping Service
  • Zuul Proxy API Gateway

I have implemented these services using Spring Boot and Spring Cloud. You can use http://start.spring.io/ to generate the Spring Boot project. In this book, I haven't included the complete code structure for this application, but you can find it on GitHub: https://github.com/PacktPublishing/Mastering-Spring-Boot-2.0.

We'll look at the difference between SOAP and RESTful microservices in the following section.