What is a microservice?
The concept of microservices was first proposed by Martin Fowler and James Lewis in 2014. They defined microservices as small services composed of a single application, with its own process and lightweight processing. Designed according to business functions, deployed in a fully automated manner, and communicate with other services using HTTP API. At the same time, the service will use the smallest-scale centralized management (such as Docker) technology, and the service can use different programming languages and databases.
Microservices are the final product of the SOA architecture. The design goal of this architecture is to dismember the business so that the service can run independently.
Mainly have the following characteristics
Service splitting granularity is finer
Microservices can be said to be a more fine-dimensional servicization, as small as a sub-module. As long as the resource that the module depends on has nothing to do with other modules, it can be split into a microservice.
Independent deployment of services
Each microservice strictly follows the guidelines of independent package deployment and does not affect each other. For example, multiple Docker instances can be deployed on a physical machine, and each Docker instance can deploy a microservice code.
Service independent maintenance
Each microservice can be developed, tested, released, and operated by a small team or even an individual, and is responsible for the entire life cycle.
High requirements for service governance capabilities
Because the number of services increases after being split into microservices, a unified service governance platform is needed to perform manage.
Under the microservice architecture, service invocation mainly relies on the following basic components: Service Description Registry Service Framework Service Monitoring Service Tracking Service Governance
Open source RPC framework introduction
Dubbo
The earliest open source RPC framework in China , Developed by Alibaba and open sourced at the end of 2011, only supports Java language. In the middle of no maintenance, a lot of people were pitted, and the maintenance was restarted in 17 years to bring a new year. The architecture diagram is as follows
back to top