What is a micro-service architecture
Simply put, a micro-service design on the system architecture, originally intended to be independent of the system in accordance with the business (or other, usually by business) more granularity split into small service, these services can be deployed to build an independent,
To protect their own data storage, independent development and unit testing, operate independently in their respective processes. Restful communication between service through HTTP-based API, with this communications infrastructure, these services can use different language development.
Differs from traditional services
Traditional large-scale projects javaEE usually divided into three parts: database, server processing, web presentation. With the development of mobile devices, front-end business presentation is no longer limited to web, which requires back-end service-oriented front-end support more interfaces;
In a traditional service deployment process, we often modify a small function point for the new line features will affect the operation of other functions; therefore With the evolution of the system, maintenance costs of traditional services is growing, and hard to control.
In order to solve the traditional service business due to the cumulative result of a bloated system, difficult to maintain, micro-services framework was born. We will serve traditional split into multiple small services, because each service runs in its own process, so the update service will not affect the operation of other services;
At the same time, due to the independent service deployment, we can clearly analyze each service resource consumption.
Problems in implementing micro-services
Micro Services Architecture Although there are many advantages, but the emergence of a new thing is bound to bring new problems:
1, operation and maintenance challenges
Micro-service architecture, operation and maintenance personnel need to maintain multiple services, multiple threads, methodical choreography maintain these threads need to consume more energy.
2, the interface consistency
Micro-service architecture just decoupling between service deployment, dependent on operation and maintenance, and the actual business depends on is still there, just became a communication from the code dependencies between services rely on traditional services. Communication dependencies between services, require the service provider and end calls consultation interfaces,
If the service provider interface is changed, it also requires a call to end support to modify the interface calls.
3, the complexity of distributed
Because the service runs after the split in a different process, the inter-service cooperation can only be through communication, network latency, distributed transactions, such as asynchronous messaging service issues are micro-architecture requires careful consideration.
Characterization of micro Services Architecture
Services component of the
According to business formation team
Production of products of attitude
Intelligent endpoint and dumb pipes
Decentralized governance
Infrastructure Automation
Fault-tolerant design