Monomer architecture, SOA, Micro Service
Architecture Evolution
Monomer architecture
Soa
Micro Service
Monomer ArchitectureAn archive package contains applications that use all of the functionality, which we usually call the monomer application.
The architectural style of the architecture monomer application, which we call the monomer architecture, is a more traditional architectural style.
Disadvantages of the monomer architecture
Complexity getting higher
The technology debt is gradually rising
Deployment slows down
Hinder technological innovation
Unable to scale on demand
SOAA service-oriented architecture (SOA) is a component model that links the different functional units of an application, called services, through well-defined interfaces and contracts between these services. Interfaces are defined in a neutral manner and should be independent of the hardware platform, operating system, and programming language that implements the service. This allows services built on a variety of systems to interact in a uniform and common way.
SOA is a coarse-grained, loosely coupled service architecture that communicates through a simple, well-defined interface, without involving the underlying programming interfaces and communication models.
Micro Service
Micro-service Architecture style This development approach is the development of a set of small services to develop an independent application system. Each of these small services runs in its own process and often uses a lightweight mechanism such as the HTTP resource APIs to communicate with each other. These services are built around business functions and can be deployed independently through a fully automated deployment mechanism. These micro services can be written in different languages and can use different data storage technologies. We do minimal centralized management of these micro-services.
Micro-Service Features:
1. Each micro-service can operate independently in its own process;
2. A series of independent operation of micro-services together to build the entire system;
3. Each service for independent business development, a micro-service generally complete a specific function, such as: Order Management, user management, etc.;
4. Micro-services communicate through a number of lightweight communication mechanisms, such as through the rest API or RPC.
Advantages of micro-service:
Easy to develop and maintain
Start faster
Local modifications are easy to deploy
Technology stacks are unrestricted
Scale on Demand
DevOps
Micro Service Challenge
High requirements for operation and maintenance
The complexity of the distributed
High cost of interface adjustment
Repetitive work
Principle of single responsibility for micro-service design principle
Principle of service autonomy
Lightweight communication Principles
Interface Clear principle