当前位置:网站首页>Summary of advantages and disadvantages of various architectures
Summary of advantages and disadvantages of various architectures
2022-06-12 15:13:00 【CXgeng】
The advantages and disadvantages of various architectures are summarized
List of articles
Preface
The development of software architecture has experienced from single architecture 、 Vertical architecture 、SOA Evolution from architecture to microservice architecture , Let's take a look at these architectures
One 、 Monomer architecture
Architecture description : All functions are concentrated in one project )
Architecture advantages : Simple architecture , Low pre development cost 、 Short development cycle , Suitable for small projects .
Architecture shortcomings :
- All functions in one project , It's not easy to develop for large projects 、 Expansion and maintenance
- The technology stack is limited , Only one language can be used to develop
- System performance can only be extended by extending cluster nodes , The high cost
Two 、 Vertical architecture
Architecture description : Cut according to business , Form a small single project .
Architecture advantages : The technology stack is scalable ( Different systems can use different programming languages )
Architecture shortcomings :
- The function is concentrated in one project , Not conducive to development 、 Expand 、 maintain .
- System expansion can only be achieved through clustering
- Functional redundancy between projects 、 data redundancy 、 Strong coupling
3、 ... and 、SOA framework
SOA The full name of the architecture is Service-Oriented Architecture, Service oriented architecture . The loosely coupled coarse-grained components can be distributed and deployed through the network according to the requirements 、 Combination and use . A service usually exists in an operating system process in a separate form .
From the perspective of function , Abstract business logic into reusable services . Through the service choreography to achieve rapid business regeneration , Purpose : Transform the original inherent business functions into common business services , Fast reuse of business logic .
Architecture description : Extract the repeated function modules into the form of components , External services , Use... Between projects and services ESB( Enterprise service bus ) As a bridge of communication .
Architecture advantages : Duplicate functions or modules are extracted as services , Improve development efficiency . High reusability , High maintainability
Architecture shortcomings :
- There are different services among different systems , It is difficult to determine if a function or module is duplicated
- Compared with microservices , Large extraction granularity
- The coupling between system and service is high
Four 、 Microservice architecture
Architecture description :
- Separate the system service layer completely , Micro services extracted one by one .
- The granularity of extraction is finer , Follow a single principle .
- The lightweight framework protocol is adopted for transmission .
Architecture advantages :
- Service splitting is more granular , It's good for improving development efficiency
- We can develop corresponding optimization schemes for different services
- For the Internet age , Product iteration cycle is shorter
Architecture shortcomings :
- The particle size is too fine , Resulting in too many services , Maintenance costs are high
- The technology cost of distributed system development is high , It's a big challenge for the team
边栏推荐
猜你喜欢

Qiming Zhixian shares the application scheme of 2.8-inch handheld central control screen

左对齐,右对齐,随机数,goto,比较输出bool

Jetpack architecture component learning (3) -- activity results API usage

解决log4j2漏洞遭到挖矿、僵尸进程病毒攻击

启明云端分享| 通过Matter协议实例演示开关通过matter协议来做到对灯亮灭的控制

Multi thread knowledge induction

ROS初学者编写小乌龟以一定速度旋转一定角度的server

Tcp/ip three handshakes and four waves (interview questions)

Wild pointer understanding

Scala download and idea installation of scala plug-ins (nanny level tutorial is super detailed)
随机推荐
左对齐,右对齐,随机数,goto,比较输出bool
Deepin20.6 rtx3080 installer le lecteur de carte graphique 510.60.02, cuda 11.6, pytorch1.11
Solve log4j2 vulnerability and be attacked by mining and zombie process viruses
Selenium advanced
Deepin20.6 RTX3080 安装显卡驱动510.60.02、CUDA11.6、PyTorch1.11
C string
C data type
Module yaml error: Unexpected key in data: static_ context [line 9 col 3]
PTA:自测-3 数组元素循环右移问题 (20分)
Increase the maximum number of MySQL connections
How to add WWW to the domain name
Change according to the situation, the road to promotion in the second half of 2022
C scanf function
函数递归示例
Multi thread knowledge induction
FIRSTVT and LASTVT vernacular
Particle filter learning record
Distributed concurrent repeated submission
Rust小技巧 - 通过FFI编程运行tensorrt模型
IMU的学习记录