The core technology of scalable architecture design that Ali architects strongly launched internally as a PDF document

In recent years, with the advancement of technology, more and more Web application systems need to store, transform, and process more and more data, which will inevitably require engineers to master the ability to build scalable Web systems.

When I learned that most engineers lack this ability to build a scalable web system, I felt it necessary to write an article related to this. On the one hand, there is a lack of relevant materials on the market; on the other hand, engineers working in small companies also lack the necessary environment to learn the design methods of scalable architecture. Therefore, this article is devoted to explaining how the software architecture and infrastructure work together, and finally realize the scalability of the system.

I hope this article can become a milestone in the journey of designing a scalable architecture for readers. The article not only gives an overall overview view of the scalable architecture design, but also discusses some important technical points in depth and gives some best practice suggestions. However, the article does not elaborate on every technical detail, but presents the necessary concepts, basic rules, and meaningful examples to the reader as much as possible.

Today, I will introduce you to the design method of scalable architecture. There are very few relevant materials on the market. I hope that today’s article can help you take one step closer to the millions of annual salary.

First look at the catalog dry goods

Let's take a look at the key content

Chapter 1 [Core Concepts]
As the first chapter of this book, this chapter mainly introduces some core concepts of scalability architecture and an overview description of this book. This chapter introduces related concepts by describing the different stages of the evolution of a scalable Web system. At the same time, it also involves some overall descriptions of infrastructure and scalable Web system architecture.

Chapter 2 [Software Design Principles]
This chapter mainly discusses some design principles for building elastic and scalable systems. The first are the most basic concepts, such as simplification and decoupling; the second is some object-oriented design principles, such as the single responsibility principle and the principle of dependency injection; the last are those design concepts directly related to scalability, such as functional segmentation, Data partition, and self-recovery.

Chapter 3 [Building the Front-end Layer]
This chapter mainly focuses on the part of the infrastructure that directly interacts with client software (such as Web browsers and mobile apps). This chapter will explain in depth several ways of front-end management status, as well as several important components of building a scalable front-end, such as load balancing, proxy, and content delivery network (CDN); later, we will discuss automated scaling and several deployment scenarios.

Chapter 4 [Web Services]
This chapter mainly discusses the advantages and disadvantages of several different Web service architectures. Explain the principles of web service design and explain in detail the scalability technology based on REST-fulAPI.

Chapter 5 [Data Storage Layer]
This chapter will explain some of the core points of the data layer scalability technology. In addition to technologies related to relational databases such as MySQL, a lot of space will also be spent on NoSQL data storage technologies such as Cassandra. This chapter will interspersely explain some technical details, such as data partitioning (also often called sharding technology), data replication, and eventual consistency. Compare several different data storage layer topologies and related technical challenges.

Chapter 6 [Caching]
This chapter mainly focuses on caching, which is a key method to improve the scalability and performance of Web systems. Mainly explain several different caching technologies based on HTTP, and the scalability technology of HTTP caching. In addition, the object caching technology and its commonly used scalability technology will be explained. Finally, spend some space on caching best practices to help readers make better decisions when using caching.

Chapter 7 [Asynchronous Processing]
This chapter will explain topics related to message and event-driven architecture. First, discuss the concept and advantages of asynchronous processing and how to use message brokers to improve the scalability of Web applications; secondly, focus on the challenges of asynchronous systems and possible pitfalls in use; finally, briefly compare several mainstream messaging platforms to help Readers make the best choice in specific work.

Chapter 8 [Data Search]
This chapter mainly discusses related issues in data search. Data search is closely related to data storage. With the rapid growth of data sets, technologies to optimize data search and access have become more and more important. First, I will explain how different types of indexes work; second, I will spend some space describing how data modeling can help improve scalability and how to consider data modeling in NoSQL data storage systems such as Cassandra. Finally, do some introduction to search engines and tell how related technologies are applied to Web application systems.

Chapter 9 [Other Dimensions of Scalability]
This is the last chapter of the book, expounding some concepts that expand the reader's own work efficiency, so as to facilitate readers to better realize self-management and team growth. First, emphasize the important role of automation as a key technology in improving engineering efficiency, and discuss topics related to automated testing, deployment, monitoring and alarming. Secondly, share some personal experiences and observations in project management, these skills will help readers to better survive in entrepreneurship. Finally, reflect on the challenges that a growing agile team may encounter.

This [Scalable Architecture Design Core Technology] has more than 300 pages. Friends who feel interested can help Three Links to support and get started quickly: ( click here ) to download! Full of sincerity! ! !

Reader-oriented type

The main target readers of this book are software engineers, technical managers, DevOps, and system engineers. It may be difficult for school students, but for intermediate or even junior engineers, most of the content is relatively easy to understand.

It is also recommended by the top big guys in the industry, what the big guys say

I believe that all readers and friends have seen the suitability here, and already have a preliminary understanding. But there is more and deeper content in it, and you have to understand it yourself. I hope that after you get it, you can savor the mystery carefully and apply theoretical knowledge to practical work perfectly.

Quick start channel: ( click here ) to download! Full of sincerity! ! !

Selected questions for Java interviews, architecture and actual documentation portal: https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi

It is not easy to organize, friends who feel helpful can help like, share and support the editor~

Your support, my motivation; I wish you all a bright future and constant offers! ! !

The starry sky is above your head, the road is under your feet, the dream is in front of you, come on!

Guess you like

Origin blog.csdn.net/weixin_45784983/article/details/108658974