Traditional Culture Encyclopedia - Traditional festivals - Definition of microservices

Definition of microservices

Micro-service is a variation of service-oriented architecture (SOA), a software development technology.

Micro-service advocates dividing a single application into a group of small services, coordinating with each other and providing users with ultimate value. Each service runs in its own independent process, and the services communicate with each other using a lightweight communication mechanism (usually RESTful API based on HTTP).

Each service is built around a specific business, and can be independently deployed to production environment, quasi-production environment and so on. In addition, a unified and centralized service management mechanism should be avoided as far as possible. For a specific service, the appropriate language and tools should be selected according to the context.

Suitable tools for microservices:

In the traditional N-tier architecture mode, applications usually share a common stack, while large relational databases support the whole application. This method has several obvious disadvantages-the main disadvantage is that even if there is a clear and better tool for some elements, every component of the application must share a common stack, data model and database.

It leads to poor architecture and frustrated developers who constantly realize that they can build these components in a better and more effective way.

In contrast, in the microservice model, components are deployed independently and communicate through some combination of REST, event flow and message broker-therefore, the stack of each individual service can be optimized for that service. Technology has been changing. With the development of more ideal technology, applications composed of multiple smaller services become easier and cheaper.