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

When I learned that most engineers lack this ability to build scalable Web systems, I felt compelled to write an article about it. On the one hand, there is a lack of relevant materials on the market at present. On the other hand, engineers working in small companies don’t have the environment to learn how to design scalable architectures. Therefore, this article focuses on how software architecture and infrastructure work together to achieve system scalability.

Hopefully, this article will serve as a milestone for readers on their journey to scalable architecture design. This article provides an overview of scalable architecture design, as well as an in-depth discussion of some important technical points and recommendations for best practices. However, rather than go into every technical detail, the article tries to present the necessary concepts, basic rules, and meaningful examples.

Today, we introduce the design method of scalable architecture. There are few relevant materials on the market at present. I hope this article can help you get closer to your million annual salary.

Take a look at the dry goods in the catalog first

Let’s look at the highlights

As the first chapter of the book, this chapter introduces some core concepts of scalability architecture and provides an overview of the book. This chapter introduces concepts by describing the different stages of the evolution of scalable Web systems, as well as some overall descriptions of the infrastructure and architecture of scalable Web systems.

Chapter 2 [Software Design Principles] This chapter mainly discusses some design principles for building flexible and scalable systems. First, the most basic concepts, such as simplification and decoupling; Secondly, some object-oriented design principles, such as the single responsibility principle and the dependency principle; Finally, there are design concepts that are directly related to scalability, such as feature splitting, data partitioning, and self-recovery.

This chapter focuses on the part of the infrastructure that interacts directly with client software, such as Web browsers and mobile apps. This chapter provides an in-depth explanation of the ways in which the front end manages state, as well as the important components of building a scalable front end, such as load balancing, proxies, and content delivery networks (CDN); Automated scaling and several deployment scenarios are then explored.

Chapter 4 [Web Services] This chapter focuses on the advantages and disadvantages of several different Web service architectures. Explains Web services design principles and delves into the details of scalability techniques based on RESTFUL apis.

Chapter 5 data Storage Tier This chapter explains some of the core aspects of data tier scalability techniques. In addition to covering technologies related to relational databases like MySQL, a lot of space will be devoted to NoSQL data storage technologies like Cassandra. This chapter will be interspersed with technical details such as data partitioning (also known as sharding), data replication, and ultimately consistency. Compare several different data storage tier topologies and the technical challenges associated with them.

Chapter 6 [Caching] This chapter focuses on caching, which is a key tool for improving the scalability and performance of Web systems. This article focuses on several different HTTP based caching technologies and the scalability of HTTP caching. In addition, object caching and its common scalability techniques are described. Finally, a few pages are devoted to caching best practices to help readers make better decisions when using caching.

Chapter 7 [Asynchronous Processing] covers topics related to messaging and event-driven architecture. Firstly, we discuss the concept and advantages of asynchronous processing and how to improve the scalability of Web applications by using message proxy. Secondly, it focuses on the challenges and pitfalls of asynchronous systems. Finally, a brief comparison of several major messaging platforms is made to help readers make the best choice in their specific work.

Chapter 8 [Data Search] This chapter mainly discusses the related problems of data search. Data search is closely related to data storage, and with the rapid growth of data sets, techniques to optimize data search and access are becoming more and more important. First, it explains how the different types of indexes work. Second, I’ll spend some time 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 search engine aspects of the introduction and describe how the relevant technology applied to the Web application system.

Chapter 9 [Other Dimensions of Scalability], the final chapter of the book, discusses some concepts that can be used to expand the reader’s own productivity for better self-management and team growth. First, it highlights the importance of automation as a key technology in improving engineering efficiency, and explores topics related to automated testing, deployment, monitoring, and alerting. Second, share some personal experiences and observations about project management that will help readers survive in entrepreneurship. Finally, reflect on the challenges that growing agile teams may face.

This [scalable architecture design core technology] a total of more than 300 pages, feel interested in friends, can help three support, fast start channel: pay attention to the end of the public account to get! Sincerity full!!

Reader-oriented types

The book is aimed primarily at software engineers, technical managers, DevOps, and systems engineers. This may be difficult for school students, but most of the content is fairly understandable for intermediate level and even junior engineers.

And recommended by some of the best people in the industry, according to them

I believe that you readers see the fit here, have a preliminary understanding. But inside more and deeper content, but also to understand their own. I hope you can savor the secret of it after you get it, and apply the theoretical knowledge to practical work perfectly.

Quick start channel: pay attention to the public number below can be obtained! Sincerity full!!

Another big factory Java interview selection questions, architecture actual combat documents

Sorting is not easy, feel helpful friends can help like share support small series ~

Your support, my motivation; I wish you a bright future and continuous offer!!

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