当前位置:网站首页>Build a reliable, scalable and maintainable application system
Build a reliable, scalable and maintainable application system
2022-06-24 02:30:00 【house. zhang】
Current application systems , Usually, there is a large amount of data 、 The data complexity is relatively high and the data is rapidly changing , Such a system can be called a data intensive system , Data intensive systems are usually built on different module components , Different components are used according to different functions , Each component cooperates with each other to form a powerful 、 Application systems that meet different demand scenarios , For example, an Internet system usually consists of a structure similar to the following :
database : The main products are mysql, For storing and persisting data , One time data can be accessed many times .
- Cache : The main products are Redis、Memcached Cache data that needs to be accessed frequently as well as complex calculations and operations , Used to speed up the return of data , Reduce database pressure , Expand system concurrency .
- Indexes : The main products are ElasticSearch、Solar, Used to support the search function , Support users to search elements and filter data with keywords .
In addition, other modules will be involved
- Streaming : Continuous data generation , Fast consumption data is required for data calculation .
- The batch : Regularly calculate and process a large amount of historical data
As functional requirements become more complex , The system requirements are more and more extensive , A single component cannot meet all the data processing and storage requirements , So we need to decompose the task according to the requirements , Combine appropriate technical components to efficiently complete certain functions , Multiple components are organically combined through application layer code , Our technical requirements are also relatively high , It also brings higher technical challenges . The more complicated situation is that the number of users and business become more and more complex in the process of use , There are bound to be more difficult problems .
such as , In case of partial failure of the system , How to ensure the correctness and integrity of data ? When the system is degraded , How to design to provide users with a consistent user experience ? When the system load increases , How to extend the system ? These issues need to be taken into account in an Internet distributed system .
Data intensive application systems focus on three issues that are extremely important to most software systems :
- reliability
When something unexpected happens, like hardware 、 Software failure 、 Human error, etc , The system shall be able to operate normally , Performance may be reduced , But the function is still correct . Hardware failure , The usual approach is to add hardware redundancy to reduce the system failure rate , With the increase of data volume and application computing demand , More applications can run on large-scale machines , The resulting hardware failure rate increases linearly . So it is a new method to tolerate multi machine failure by software fault tolerance , Or at least a powerful complement to hardware fault tolerance . Software problems , Faults are more difficult to predict , Because nodes are associated by software , Therefore, it will often lead to more system failures .
- Extensibility
With the amount of data 、 Growth in scale, such as traffic or complexity , The system should be able to match this growth in a reasonable way .
- Maintainability
as time goes on , Development of new functions 、 New team members can quickly participate in system development and operation and maintenance . It mainly focuses on three design principles of software system : Operability 、 simplicity 、 Evolvability .
边栏推荐
- Case of data recovery by misoperation under NTFS file system
- Are cloud game servers expensive to rent? Factors to consider in cloud game server leasing
- How to build a video website? How much does it cost to build a video website?
- Wwise + GME game voice scheme: unlock more voice playing methods and let players "sound in their environment"
- The cloud game is rendered by the server. How much broadband does the server need
- The difference between classless routing and classless routing
- Development status of industrial Internet
- What is the cloud desktop server configuration? What are the application scenarios of cloud desktop?
- How to improve the success rate of trademark registration? How long does it take to register a trademark?
- Select problem set 3
猜你喜欢

Leetcode969: pancake sorting (medium, dynamic programming)

How to fill in and register e-mail, and open mass mailing software for free

2020 language and intelligent technology competition was launched, and Baidu provided the largest Chinese data set

application. Yaml configuring multiple running environments

Introduction to development model + test model

If there are enumerations in the entity object, the conversion of enumerations can be carried out with @jsonvalue and @enumvalue annotations

Advanced BOM tool intelligent packaging function

163 mailbox login portal display, enterprise mailbox computer version login portal
Cloudpods golang practice
随机推荐
How to use the cloud game server is the cloud server stable
Echo framework: add API logging Middleware
A complete collection of SQL commands. Each command has an example. Xiaobai can become a God after reading it!
Some tips for using uitextview
Can cloud computing scale flexibly? What are the characteristics of elasticity?
How to design and make ppt gradient effect?
What is ITF barcode
How to build video websites? What are the types of video websites?
Which cloud game service provider is more reliable when the cloud game server is open source
Buddha's foot before examination: the first bullet of leetcode
What is data matrix code
MySQL Cases-MySQL 8.0.26 bug ERROR 1064 (42000) at line1: You have an error
What is the difference between trademark registration and company domain name? What is the difference between the two?
Coding -- the leader of R & D tools in the cloud native Era
How to recover the garbled words in the software?
Fulleventlogview does not display some event ID contents
Interesting talk about decorator mode, so you will never forget it
Network engineers must know the 10 technical points of IPv6. It is recommended to collect them!
Uipickerview show and hide animation
What is vxlan? What are its advantages?