Microservices is basically the variant of service-oriented architecture (SOA) that breaks the entire application into service components. These services will serve the request by communicating with each other through service discovery or Remote Method Invocation (RMI):

Difference between monolithic and microservice architecture
The characteristics of microservice-based applications are as follows:
- Service enabled, independently running components
- Each service has its own functionalities
- Components using simple communication channels such as service discovery, REST protocol, or messaging protocol
- Decentralized stack, that is, every component can have its own development stack and way of deployment
- Decentralized Data Storage and Management, where each business logic service has its own databases, as you can see in the preceding...