当前位置:网站首页>Evolution of Architecture
Evolution of Architecture
2022-06-10 03:09:00 【WuWuII】
List of articles
Overall evolution

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

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

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 
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

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

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
边栏推荐
猜你喜欢

FPGA 可以双目以及单目运算

Anaconda modify file save path

Will free price increases force young people back?

Esp32 intrinsic function / variable cannot jump to definition

Summary and implementation of NLP keyword extraction methods

Shift+ right mouse button No: Open command window here

Technology dry goods | linkis practice: analysis of new engine implementation process

Detailed explanation of zero copy principle

修改pycharm缓存文件路径

HCIE-Routing & Switching实验考试延期至2022年12月31日
随机推荐
多线程并发
Detailed explanation of zero copy principle
Electronic packaging error NPM err! code ELIFECYCLE npm ERR! errno 1
脚本bash
Vscade C language code ctrl+ left key cannot jump to definition
Analysis of the meaning of autocorrelation function / autocovariance function in different fields
In the new year of hybrid, does BYD really want to reverse its rating?
播放暴增5000w,“打感情牌”已成平台新趋势
TiDB经验分享01
TS 23.122
Use of golang microservice instances protobuf and grpc
重磅!DIY的Prometheus主备方案,全网唯一。生产未上,测试先行。
Sword finger offer 24 Reverse linked list
Shift+鼠标右键没有:在此处打开命令窗口(W)
Protobuf basic introduction to installation and use
C#/VB. Net to generate directory bookmarks when word is converted to PDF
P1516 青蛙的约会(扩欧)
Is long-term hotel rental a good business?
Robustness problem -- a work of Enlightenment
2022.05 ESP32 空中升级 OTA