当前位置:网站首页>Architecture introduction
Architecture introduction
2022-07-04 10:16:00 【JoesonChan】
Translated from :https://tianpan.co/notes/145-introduction-to-architecture
Architecture is the shape of a software system . Think of it as a panoramic view of a physical building .
- Examples are bricks .
- The design principle is room .
- Components are buildings .
Together they are used for specific purposes , For example, hospitals are used to cure patients , Schools are used to educate students .
Why do we need architecture ?
Behavior and structure
Each software system provides stakeholders with two different values : Behavior and structure . It is the responsibility of software developers to ensure that these two values are high .
With its job description , Software architects focus more on the structure of the system , Instead of functions and features .
ultimate objective - Save the cost of human resources for each function
Architecture serves the whole life cycle of software system , To make it easy to understand , Development , test , Deployment and operation . The goal is to minimize the human resource cost of each business use case .
mark · Richards (Mark Richards) Written O'Reilly Work 《 Software architecture pattern 》 It is a simple and effective introduction to these five basic architectures .
1. Layered architecture
Layered architecture is the most common in adoption , It is well known among developers , Therefore, it is the actual standard of application . If you don't know which architecture to use , Please use it .

Example
- TCP / IP Model : Application layer > Transport layer > The Internet layer > Network access layer
- Facebook TAO:Web layer > Cache layer ( followers + The leader )> Database layer
Pros and cons
- advantage
- Easy to use
- Separation of responsibilities
- Testability
- shortcoming
- monolithic
- Difficult to adjust , Expand or update . You must make changes to all layers .
- monolithic
2. Event driven architecture
A state change will send an event to the system . All components communicate with each other through events .

A simple project can put a mediator , Event queues and channels are combined . Then we get a simplified architecture :

Example
- QT: Signals and slots
- Payment infrastructure : Bank gateways usually have high latency , Therefore, they adopt asynchronous technology in the architecture design .
3. Microkernel architecture ( Also known as plug-in architecture )
The responsibilities of the software are divided into “ The core ” And multiple “ plug-in unit ”. The core contains minimal functionality . Plug ins are independent of each other , And implement shared interfaces to achieve different goals .

Example
- Visual Studio Code,Eclipse
- MINIX operating system
4. Microservice architecture
Large systems are decoupled from multiple microservices , Each microservice is a separately deployed unit , They use RPC Mutual communication .

Example
- Uber: see also Design Uber
- Cleverly
5. Space based architecture
The name of this pattern comes from “ Tuple space ”, namely “ Distributed shared memory ”, No database or synchronous database access , Therefore, there is no database bottleneck , All processing units share replication application data in memory . Elastic start and close .

Example : see also Wikipedia
- Most often Java Users use : for example JavaSpaces
边栏推荐
- 基于线性函数近似的安全强化学习 Safe RL with Linear Function Approximation 翻译 1
- Kotlin: collection use
- C # use gdi+ to add text with center rotation (arbitrary angle)
- Golang Modules
- Exercise 9-1 time conversion (15 points)
- uniapp 小于1000 按原数字显示 超过1000 数字换算成10w+ 1.3k+ 显示
- MongoDB数据日期显示相差8小时 原因和解决方案
- 直方图均衡化
- 有老师知道 继承RichSourceFunction自定义读mysql怎么做增量吗?
- Doris / Clickhouse / Hudi, a phased summary in June
猜你喜欢

leetcode1-3

Hands on deep learning (44) -- seq2seq principle and Implementation

今日睡眠质量记录78分

【Day2】 convolutional-neural-networks

Machine learning -- neural network (IV): BP neural network

C # use gdi+ to add text to the picture and make the text adaptive to the rectangular area

Basic principle of servlet and application of common API methods

MATLAB小技巧(25)竞争神经网络与SOM神经网络

The future education examination system cannot answer questions, and there is no response after clicking on the options, and the answers will not be recorded

品牌连锁店5G/4G无线组网方案
随机推荐
Realsense of d435i, d435, d415, t265_ Matching and installation of viewer environment
Exercise 9-4 finding books (20 points)
Kotlin set operation summary
今日睡眠质量记录78分
Matlab tips (25) competitive neural network and SOM neural network
Summary of reasons for web side automation test failure
Application of safety monitoring in zhizhilu Denggan reservoir area
2. Data type
Intelligent gateway helps improve industrial data acquisition and utilization
PHP代码审计3—系统重装漏洞
C # use gdi+ to add text to the picture and make the text adaptive to the rectangular area
xxl-job惊艳的设计,怎能叫人不爱
System. Currenttimemillis() and system Nanotime (), which is faster? Don't use it wrong!
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
入职中国平安三周年的一些总结
Container cloud notes
Normal vector point cloud rotation
Some summaries of the third anniversary of joining Ping An in China
Dos:disk operating system, including core startup program and command program
2020-03-28