当前位置:网站首页>Evolution of Architecture

Evolution of Architecture

2022-06-10 03:09:00 WuWuII

Overall evolution

 Insert picture description here

Monomer architecture ——> Vertical architecture :
As the business expands , Single architecture cannot meet the complexity of business functions , Start dividing multiple major functions or other ways , Split a single architecture into multiple single architectures , Independent of each other , A vertical structure is formed

Vertical architecture ——>RPC Distributed services :
With the development of Vertical Architecture , Business functions are becoming more and more complex , More and more code redundancy , Start extracting common code , As a service , Then improve code reusability by invoking services , To form the RPC framework , Distributed services , It has entered the stage of microservice

RPC Distributed services ——>SOA
RPC More and more services are extracted from the architecture , Perplexing , Call through nginx To achieve , After optimization , Put all services into the Governance Center , When each application calls , Go directly to the governance center and call it uniformly , That's what it's like SOA

SOA——> Microservices
SOA If there is a dependency between services , It is easy to cause thread jam 、 An avalanche , Solve this complex dependency relationship between each other , Microservices are generated , Split all applications and services at a finer granularity , Every function 、 Businesses are split into parts of microservices , Independent deployment 、 Operation and maintenance , Each application is independent of each other , Unified registration to the registration center , When calling, call through the registry

Monomer architecture

 Insert picture description here

All functions and business codes are put in one project

  • advantage
    • Simple architecture , Low development cost for small projects
    • The project is deployed on a server , Convenient maintenance
  • shortcoming
    • All the code is integrated into one project , Large projects are difficult to maintain and develop
    • High coupling between projects , Low fault tolerance

Vertical architecture

 Insert picture description here

On the basis of monomer Architecture , Combine several large modules or functions , Split into multiple applications , Each project code has its own set of code , Every app has a login 、 Sign up and so on .

  • advantage
    • Share the flow , Solved concurrency , It can be optimized and extended for different modules
    • A problem with one application will not affect other applications , Improved fault tolerance
  • shortcoming :
    • Projects between systems are independent of each other , Cannot call each other
    • Projects between systems are independent of each other , There are repetitive development tasks

RPC framework

RPC It has already started to enter the micro service stage
 Insert picture description here

More and more vertical applications , More and more repetitive code , On the basis of Vertical Architecture , Extract the common module code , For example, log in 、 Registration, etc. , As a service , Each application can call . If there are too many such services , It began to be complicated .

  • advantage
    • Extract common functions as services , Improve code reusability
  • shortcoming
    • The coupling degree between systems becomes higher , The call relationship is complex , Difficult to maintain

SOA framework

 Insert picture description here

Register all services in the Governance Center , When the application needs, it will call the governance center

  • advantage
    • Use the Governance Center (ESB\dubbo) It solves the automatic adjustment of the call relationship between services
  • shortcoming
    • There will be dependencies between services , Once something goes wrong , Greater impact ( Service avalanche )
    • The service relationship is complex , Operation and maintenance 、 Test deployment is difficult

Microservice architecture

 Insert picture description here

Split all applications more finely and thoroughly , As a single service , Register in the registry , When called , Also go to the registry to call , Because of the fine-grained Division , Can iterate quickly , Each service is released independently 、 Operation and maintenance , It will not affect the normal use of other services ,

  • advantage
    • Service split , It can be packaged independently 、 Deploy 、 upgrade , Each service responsibility is clear , Easy to expand
    • Between micro services Restful And so on http Protocols call each other
  • shortcoming
    • The technology cost of distributed system development is high ( Fault tolerant distributed transactions, etc )
    • More complex , Each microservice is distributed and deployed independently 、 Operation and maintenance , Each microservice has different configuration files for different servers , Operation and maintenance personnel are more troublesome
原网站

版权声明
本文为[WuWuII]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/161/202206100302519656.html